Wysyłanie naciśnięć klawiszy do zdalnej sesji X przez SSH

13

Siedzę więc w naszym salonie na laptopie Ubuntu i jednocześnie oglądam telewizor kontrolowany przez Ubuntu HTPC. Mam skonfigurowanego pilota na podczerwień i mogę kontrolować wszystko, czego potrzebuję, przez 99% czasu.

Jednak wprowadzanie tekstu na pilocie nie jest bardzo łatwe. Nie muszę tego robić zbyt często, ale kiedy to robię, łatwiej jest przejść 15 stóp, aby podłączyć klawiaturę USB i zrobić to w ten sposób. Jednak ... Jestem leniwy kryminalnie i medycznie i czuję, że chodzenie na dowolne odległości nie jest po prostu niepotrzebne, pokazuje roboty, które wygrali. Nigdy więcej nie mówię!

Mogę włączyć SSH do HTPC w porządku ... Jak teraz wysyłać naciśnięcia klawiszy do sesji X tego zdalnego komputera?

Powinienem wspomnieć, że wiem, że mógłbym VNC, ale telewizor ma rozdzielczość 1080p, a laptop 720p, więc wprowadza to pewne problemy ze skalowaniem. Z technicznego punktu widzenia wolałbym rozwiązanie, które umożliwiło mi tymczasowe przekształcenie laptopa w zdalną klawiaturę.

Oli
źródło
Jestem nawet bardziej leniwy od ciebie. Zamiast konfigurować pilota na podczerwień (nawet go kupiłem!), Dodatkowo kupiłem zaufaną klawiaturę bezprzewodową .
MadMike

Odpowiedzi:

14

Powinieneś być w stanie to zrobić za pomocą xdotoolpolecenia, po określeniu odpowiedniego ekranu X, np. W celu symulacji pojedynczego naciśnięcia strzałki w dół w aktualnie aktywnym oknie

$ DISPLAY=:0 xdotool getactivewindow key Down

Do wprowadzenia tekstu dosłownego możesz użyć xdotool type <string>np

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

xdotoolPakiet powinien być dostępny z repozytorium Universe.

steeldriver
źródło
Nie przeczę, że to działa, ale jest to trochę nieszczęśliwe, jeśli próbujesz wpisać lokalizację sieciową jeden klucz na raz.
Oli
3
Możesz użyć xdotool typedo wysłania kompletnych ciągów podczas pisania - patrz moja edycja powyżej.
steeldriver
10

Używając x2xi trochę przekierowując X11, mam to do pracy.

ssh -X htpc x2x -to :0

Jedynym minusem jest to, że musiałem wpaść na TTY, aby zabić SSH, aby z niego wyjść. Wciąż szukam, jak rzucić palenie, kiedy skończę! W przeciwnym razie jest to całkiem przyjemna i prosta (i krótka) metoda przesyłania danych wejściowych z jednego komputera na drugi.

Edycja: dodanie -nomousedało mi możliwość zamknięcia przekazywanego x2xokna i mogę go cofnąć, aby szybko wrócić do innych rzeczy bez konieczności zamykania połączenia.

Oli
źródło
-nomousewydaje się już nie działać; dla mnie pod Ubuntu 16.04 x2x drukuje tylko informacje o użytkowaniu, niezależnie od tego, gdzie umieszczam tę flagę.
Philipp Ludwig