Invio di pressioni di tasti alla sessione X remota su SSH


12

Quindi sono seduto nel nostro salotto su un laptop Ubuntu mentre lavoro mentre guardo una TV controllata da un HTPC Ubuntu. Ho un telecomando IR e posso controllare tutto ciò di cui ho bisogno, il 99% delle volte.

Tuttavia, l'immissione di testo su un telecomando non è molto semplice. Non ho bisogno di farlo molto spesso, ma quando lo faccio, è più facile camminare per 15 piedi per collegare una tastiera USB e farlo in quel modo. Tuttavia ... Sono pigro dal punto di vista medico e criminale e sento che camminare a qualsiasi distanza non è solo inutile, mostra i robot che hanno vinto. Non più dico!

Posso SSH nel HTPC bene ... Ora, come posso inviare i tasti alla sessione X di quel computer remoto?

Devo dire che so che potrei VNC ma la TV è 1080p e il laptop è 720p, quindi questo introduce alcuni problemi di ridimensionamento. A livello tecnico, preferirei una soluzione che mi ha dato il modo di trasformare temporaneamente il laptop in una tastiera remota.


Sono anche più pigro di te. Invece di configurare un telecomando IR (ne ho persino comprato uno!), Ho anche acquistato una tastiera wireless affidabile .
MadMike,

Risposte:


13

Dovresti essere in grado di farlo utilizzando il xdotoolcomando, dopo aver specificato la visualizzazione X appropriata, ad esempio per simulare una singola freccia in giù nella finestra attualmente attiva

$ DISPLAY=:0 xdotool getactivewindow key Down

Per inserire un testo letterale, puoi usare xdotool type <string>ad es

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

Il xdotoolpacchetto dovrebbe essere disponibile dal repository Universe.


Non nego che funzioni, ma è un po 'infelice se stai cercando di digitare in una posizione di rete una chiave alla volta.
Oli

3
Puoi usare xdotool typeper inviare stringhe complete come digitate - vedi la mia modifica sopra.
Steeldriver,

10

Usando x2xe un po 'di inoltro X11, ho avuto questo per funzionare.

ssh -X htpc x2x -to :0

L'unico aspetto negativo al momento è che ho dovuto imbattermi in un TTY per uccidere SSH per uscire da esso. Sto ancora cercando come smettere quando ho finito! Altrimenti, è un metodo abbastanza carino e semplice (e abbreviabile) per trasferire l'input da un computer a un altro.

Modifica: l'aggiunta -nomousemi ha dato la possibilità di chiudere la x2xfinestra inoltrata e posso sfocarla per tornare rapidamente ad altre cose senza la necessità di chiudere la connessione.


-nomousenon sembra più funzionare; per me con Ubuntu 16.04 x2x stampa solo le informazioni di utilizzo, indipendentemente da dove ho messo quella bandiera.
Philipp Ludwig,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.