Odpowiedzi:
Przekonałem się o tym sam.
Najpierw upewnij się, że załadowałeś moduł jądra evdev na oba komputery.
Na zdalnym komputerze działasz:
$ cat /dev/input/by-path/platform-i8042-serio-0-event-kbd | nc <IP> 4444
A na kliencie:
$ nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd
(Uwaga: jeśli używasz netcata z netcat-openbsd, na przykład w Ubuntu lub Fedorze, nie używaj '-p')
Działa idealnie bez względu na to, czy jestem w TTY, czy w X.org. I działa bez opóźnień!
Niestety wszystkie klawisze są również wpisywane na komputerze zdalnym. Czy istnieje sposób tymczasowego wyłączenia ich podczas działania nc? Myślałem o czymś takim, jak uruchamianie „cat -” na zdalnej maszynie, ale Ctrl-C to by oczywiście koniec.
Synergy będzie współdzielić klawiaturę przez sieć między wieloma komputerami. Jeśli nie zrobi tego, co chcesz, jestem pewien, że jest tam kod, który ułatwi ci konfigurację.
Spójrz na Synergy .
Synergy to darmowe i otwarte oprogramowanie, które pozwala łatwo udostępniać mysz i klawiaturę wielu komputerom, z których każdy ma własny ekran. Nie jest wymagany żaden specjalny sprzęt, wystarczy sieć lokalna. Synergy jest obsługiwany w systemach Windows, Mac OS X i Linux. Przekierowanie myszy i klawiatury jest tak proste, jak przesunięcie myszy poza krawędź ekranu.
Powyższa sugestia użycia nc (netcat) nie działa dla mnie.
Mogę otworzyć strumień wejściowy za pomocą tego polecenia:
nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd
Odmawiam pozwolenia, nawet jeśli robię to jako sudo. Na docelowej maszynie zainstalowano naprawdę stary system Linux, więc może pliki / dev / input urządzenia były tylko do odczytu w przeszłości.
Jednak udało mi się rozwiązać ten problem za pomocą x2x, a wynik jest bardzo przyjazny dla użytkownika.
Musisz zrobić „xhost +” na maszynie docelowej, a także użyć gdmsetup, aby włączyć połączenia zdalne (usuwa to flagę -nolisten dla X, gdy gdm uruchomi sesję X).
Następnie serwer xserver jest szeroko otwarty dla połączeń zdalnych, a x2x może się z nim połączyć ze źródła (klawiatury)
x2x -to 192.168.1.3:0
Fajną rzeczą w x2x jest to, że daje ci małe okno kontrolne na maszynie źródłowej, a zdarzenia klawiatury są wysyłane do celu tylko wtedy, gdy to okno jest skupione. Jest to bardzo przydatny sposób, aby to zrobić (piszę teraz tę odpowiedź z maszyny źródłowej i żadne zbłąkane naciśnięcia klawiszy nie docierają do maszyny docelowej, ponieważ nie mam skupienia okna kontrolnego). Również kliknięcie na środku okna sterowania rozpoczyna przekazywanie zdarzeń myszy, a kliknięcie 2 przyciskami kończy wysyłanie zdarzeń myszy. Ponadto po włączeniu przekazywania myszy za pomocą kliknięcia w oknie sterowania WSZYSTKIE zdarzenia z klawiatury są wysyłane do celu, a żadne do źródła. W ten sposób ALT-TAB jest wysyłany do celu bez rozogniskowania okna kontrolnego na maszynie źródłowej.
Mam włączone wirtualne pulpity na maszynie źródłowej, więc po prostu przyklejam okno kontrolne x2x na odległym pulpicie i wchodzę tam tylko wtedy, gdy muszę kontrolować maszynę docelową.
Ta wersja rozwiązania znajduje się na poziomie X, gdzie powyższa odpowiedź znajduje się na poziomie urządzenia Linux. Oczywiście to nie zadziała, jeśli nie uruchomisz X zarówno na celu, jak i źródle.
nc -l 4444
, bez-p
. Zgodnie zman nc
,-p
jest wyraźnie zabronione w połączeniu z-l
. W przeciwnym razie jest to fantastyczne rozwiązanie i właśnie tego potrzebowałem :)