Minha esposa está sentada em sua área de trabalho em casa alpha
, que está executando uma versão recente do Ubuntu. Estou em um ônibus, usando o ConnectBot no meu telefone G1 e posso fazer o SSH alpha
de onde estiver.
Por motivos complicados, não consigo usar mensagens instantâneas, e-mail ou telefone para entrar em contato com ela. (Por exemplo, eu não quero acordar o bebê, meu cliente de mensagens instantâneas está quebrado, meu servidor de e-mail está inoperante.) Minha única opção é entrar no ssh alpha
remotamente e tentar fazer alguma coisa aparecer na tela. Ela está usando o KDE; como posso criar algo para chamar sua atenção e informá-la de que estou tentando me comunicar com ela? Eu pensei que era possível disparar remotamente algo (como xmessage) para aparecer na tela dela, mesmo que minha sessão SSH não tenha uma tela X.
EDIT: Para esclarecer, meu telefone não está executando nenhum sabor de X, portanto, o X-over-ssh não é possível. O seguinte trabalho?
$ export DISPLAY=:0
$ xmessage "test"
Respostas:
Você pode dizer a um programa X qual tela usar com a
DISPLAY
variável de ambiente, desde que você saiba qual telaalpha
está sendo exibida no momento. Quase certamente a única tela é:0
, a menos que você tenha mexido com ela manualmente, então se você executar:Em seguida, todos os aplicativos X que você executar serão exibidos no
alpha
monitor.xmessage
é uma boa opção para mostrar mensagens; há tambémxdialog
. Se vocêlibnotify
instalou, poderá usarnotify-send
uma janela pop-up no canto da tela:fonte
xauth
ou éxhost
necessário aqui?xhost
para permitir conexões remotas, mas ele é SSHing à máquina diretamenteComo Michael Mrozek ilustra , você pode executar aplicativos X que são exibidos na área de trabalho de sua esposa. Tudo que você precisa fazer é definir a
DISPLAY
variável de ambiente com o valor certo (quase sempre:0
) ... e obter sua autorização.Esta solução requer que você tenha permissão para ler os arquivos da sua esposa. O acesso ao servidor X requer um "cookie" de autenticação , que é uma senha gerada aleatoriamente quando o X é iniciado e armazenado em um arquivo. O arquivo é frequentemente
~/.Xauthority
; caso contrário, deve ser indicado naXAUTHORITY
variável de ambiente. No Ubuntu com a configuração padrão (usando o Gdm), o cookie de sessão da sua esposa não está~wife/.Xauthority
em um arquivo com um nome gerado automaticamente; veja a variável ssh DISPLAY . Consulte também Como root, posso iniciar um programa gráfico na área de trabalho de outro usuário? , Linux: wmctrl não pode abrir a exibição quando a sessão é iniciada via tela ssh + .Se sua esposa tiver um terminal de texto aberto, você pode usar
write
como sugerido por user7440 para escrever algum texto em seu terminal. Isso requer que o terminal aceite tais notificações; você pode ativar e desativar isso commesg y
oumesg n
, e eu não sei qual é o estado padrão nos modernos emuladores de terminal.Um mecanismo mais sofisticado que
write
étalk
. O protocolo de conversação é o ancestral dos programas de bate-papo; você pode conversar com qualquer pessoa em uma máquina que esteja executando um servidor de conversação e cuja porta UDP 517 ou 518 (existem duas variantes de protocolo) não seja filtrada. Portanto, instale o talkd Instale o talkd http://bit.ly/software-small , um cliente como o ytalk Instale o ytalk http://bit.ly/software-small eytalk wife
. Há também um cliente X, xtalk Install xtalk http://bit.ly/software-small . Até onde eu sei, a conversa simplesmente caiu do radar (todo mundo que se importa usa um dos modernos protocolos de bate-papo), e não há nenhum componente do sistema que gere uma notificação do KDE sobre uma solicitação de conversa.Enquanto você diz que não pode executar nenhum cliente de mensagens instantâneas ... um cliente de mensagens instantâneas de linha de comando em execução na sua máquina doméstica acessada por SSH está bem? Existem, por exemplo, weechat Install weechat http://bit.ly/software-small . Você ainda dependeria de algum servidor para conectá-lo à sua esposa, mas ele só seria acessado na sua máquina doméstica, não no telefone.
fonte
finch
é a versão da linha de comandos do pidgin.Se ela tiver uma janela de terminal aberta (use 'quem' para descobrir), você pode escrever nesse terminal usando 'write'. Isso não funcionará com o terminal principal à medida que o KDE o oculta, mas qualquer janela de terminal deve funcionar (se estiver na área de trabalho atual, não minimizada, ela está olhando ...).
fonte
Não tenho 100% de certeza de que a configuração
DISPLAY=:0.0
funcionará. Eu acho que você precisa de uma maneira de obter autorização para conectar-se ao servidor X no PC da sua esposa. As ferramentas para isso sãoxhost
exauth
, mas parecem exigir que você já tenha acesso ao servidor X, portanto, presumivelmente, apenas sua esposa poderia executá-las. (Problema de frango e ovo.)Caso contrário, você poderá iniciar um segundo servidor X, por exemplo
X :1
, usando , ou talvezchvt
possa ajudar.Por exemplo, algo como
parece funcionar no meu sistema se eu executá-lo como root.
X :1
foi iniciado na vt7 no meu sistema, para que você também possa executarpara ter certeza de que a tela X é a que está atualmente visível.
fonte