Відповіді:
Я дізнався це самостійно.
Спочатку переконайтеся, що ви завантажили модуль ядра evdev на обидві машини.
На віддаленій машині ви працюєте:
$ cat /dev/input/by-path/platform-i8042-serio-0-event-kbd | nc <IP> 4444
А про клієнта:
$ nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd
(Примітка. Якщо ви використовуєте netcat від netcat-openbsd, наприклад, в Ubuntu або Fedora, не використовуйте '-p')
Це прекрасно працює незалежно від того, я в TTY чи на X.org. І працює без жодної затримки!
На жаль, всі клавіші набрані і на віддаленій машині. Чи існує спосіб тимчасового відключення їх під час роботи nc? Я подумав про щось, як запустити "cat -" на віддаленій машині, але Ctrl-C, звичайно, закінчить це.
Synergy поділиться клавіатурою по мережі між кількома машинами. Якщо він безпосередньо не робить те, що ви хочете, я впевнений, що там є код, який полегшить вам налаштування.
Погляньте на Synergy .
Synergy - це безкоштовне та відкрите програмне забезпечення, яке дозволяє легко обмінюватися мишею та клавіатурою між декількома комп'ютерами, де кожен комп'ютер має свій власний дисплей. Не потрібно спеціального обладнання, все, що вам потрібно, - це локальна мережа. Синергія підтримується в Windows, Mac OS X та Linux. Перенаправлення миші та клавіатури настільки ж просто, як переміщення миші з краю екрана.
Наведена вище пропозиція щодо використання nc (netcat) не працює для мене.
Я можу відкрити вхідний потік за допомогою цієї команди:
nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd
Мені відмовляють у дозволі, навіть якщо я роблю це як судо. Цільова машина має справді стару інстальовану Linux на ній, тому, можливо, / dev / пристрої введення файли були лише для читання назад, коли.
Мені вдалося вирішити цю проблему за допомогою x2x, однак результат дуже зручний.
Вам потрібно зробити "xhost +" на цільовій машині, а також використовувати gdmsetup для ввімкнення віддалених з'єднань (це видаляє прапор -ности для X, коли наступний раз, коли gdm запустить сеанс X).
Після цього ваш xserver широко відкритий для віддалених підключень, і x2x може підключитися до нього від джерела (клавіатури) машини
x2x -to 192.168.1.3:0
Класна річ у x2x - це те, що вона дає вам невелике вікно управління на вихідній машині, а події клавіатури надсилаються до цілі лише тоді, коли це вікно зосереджено. Це дуже зручний спосіб зробити це (я зараз набираю цю відповідь з джерельної машини, і жодне бродяче натискання клавіш не досягає цільової машини, тому що у мене вікно управління де-орієнтоване). Також клацання по центру вікна керування також починає пересилати події миші, а натискання 2-клавіші закінчує надсилання подій миші. Крім того, коли ви вмикаєте переадресацію миші клацанням у вікні керування, ВСІ події клавіатури надсилаються до цілі, а жодна - до джерела. Таким чином, ALT-TAB надсилається до цілі без розфокусування вікна управління на вихідній машині.
У мене ввімкнено віртуальний робочий стіл на вихідній машині, тому я просто наклеюю вікно керування x2x на віддалений робочий стіл і заходжу туди лише тоді, коли мені потрібно керувати цільовою машиною.
Ця версія рішення знаходиться на рівні X, де вищевказана відповідь знаходиться на рівні пристрою Linux. Звичайно, це взагалі не буде працювати, якщо ви не використовуєте X як на цілі, так і на джерелі.
nc -l 4444
, без цього-p
. Згідно з цимman nc
,-p
явно заборонено в поєднанні з-l
. Інакше це фантастичне рішення і саме те, що мені було потрібно :)