Enviando pressionamentos de tecla para a sessão X remota por SSH

9

Então, estou sentado em nossa sala de estar trabalhando em um laptop Ubuntu enquanto assisto a uma TV controlada por um HTPC. Eu tenho um controle remoto IR e posso controlar tudo o que eu preciso com isso, 99% do tempo.

No entanto, a entrada de texto em um controle remoto não é muito fácil. Eu não preciso fazer isso com muita frequência, mas quando o faço, parece mais fácil andar 15 pés para conectar um teclado USB e fazê-lo dessa maneira. No entanto ... eu sou criminalmente e medicamente preguiçoso e me sinto andando a qualquer distância não é apenas desnecessário, ele mostra os robôs que eles ganharam. Não mais eu digo!

Eu posso fazer SSH no HTPC bem ... Agora, como eu envio keypresses para a sessão X daquele computador remoto?

Eu devo mencionar que eu sei que eu poderia VNC, mas a TV é 1080p e o laptop é 720p, então isso introduz alguns problemas de escala. Em um nível técnico, eu prefiro uma solução que me deu uma maneira de transformar temporariamente o laptop em um teclado remoto.

    
por Oli 14.10.2013 / 15:25

2 respostas

8

Usando x2x e alguns encaminhamentos do X11, consegui que isso funcionasse.

ssh -X htpc x2x -to :0

A única desvantagem atualmente é que eu tive que usar um TTY para matar o SSH para sair dele. Ainda procurando como sair quando eu terminar! Caso contrário, é um método bastante agradável e simples (e shortcuttable) para transferir entrada de um computador para outro.

Editar: adicionando -nomouse me deu a capacidade de fechar a janela x2x encaminhada e posso desfocá-la para voltar rapidamente a outras coisas sem precisar desligar a conexão.

    
por Oli 14.10.2013 / 15:32
10

Você deve ser capaz de fazer isso usando o comando xdotool , depois de especificar o display X apropriado, por exemplo, para simular uma única 'seta para baixo' pressione na janela ativa no momento

$ DISPLAY=:0 xdotool getactivewindow key Down

Para inserir texto literal, você pode usar xdotool type <string> , por exemplo,

$ DISPLAY=:0 xdotool getactivewindow type 'your text here'

O pacote xdotool deve estar disponível no repositório Universe.

    
por steeldriver 14.10.2013 / 15:58