Переслати введення миші та клавіатури на X сеанс


13

Я отримую доступ до свого Pi через SSH.

Моя мережа занадто повільна, щоб насправді перенести робочий стіл Pi назад на мій ноутбук, тому у мене підключений монітор Pi. Коли я startxпроходжу Putty, я бачу робочий стіл свого Pi. Все добре.

Однак я нічого не можу зробити з цим робочим столом, так як у мене є лише миша та клавіатура мого ноутбука.

Як я можу переслати введення миші та клавіатури зі свого ноутбука на робочий стіл свого Pi?


Якщо ви все одно підключаєте монітор, чому б не підключити клавіатуру та мишу? Ви звичайно використовуєте ssh, коли у вас немає доступу до самого PI.
Еш Бурлаценко

@Ash У мене немає клавіатури. Я знаю, що вони дешеві і все, але це полегшило б ...
ACarter

Якщо у вас є лише одна клавіатура та миша, може бути доцільним отримати перемикач KVM, щоб ви могли їхати вперед і назад.
Kibbee

Я впевнений, що писав про це раніше десь.
Jivings

@Kibbee Я думав, ти не можеш використовувати перемикач KVM з ноутбуком?
ACarter

Відповіді:


12

Можна скористатися чудовим інструментом під назвою x2x. Це, по суті, розглядає монітор, підключений до віддаленого пристрою (Raspberry Pi), як другий Xекран для існуючого сеансу, як якщо б у вас були підключені два монітори.

Встановити x2xна обох пристроях:

sudo pacman -S x2x         # Arch Linux
sudo apt-get install x2x   # Debian/Raspbian 

Налаштування SSH:

На Raspberry Pi відредагуйте /etc/ssh/sshd_configта додайте / коментуйте такий рядок:

X11Forwarding yes

Потім перезавантажте sshсервер.

SSH в Pi з іншого пристрою та запустіть x2x:

ssh -X 192.168.0.70 'x2x -east -to :0'

Замініть IP на адресу вашого Raspberry Pi.

Тепер ви повинні мати можливість переміщати мишу між двома сеансами X, переміщуючи мишу з екрана вправо (на схід).


Роблячи це як для Windows, так і для Ubuntu, я отримую помилку, подібну до x2x - error: can not open display :0. Я встановив x2x на Pi та Ubuntu, а на Pi встановлений SSH.
ACarter

@ACarter Я не думаю, що ви можете залучати Windows (якщо ви не використовуєте xming), оскільки для цього потрібен X сеанс, що працює на кожному кінці.
Jivings

Чи потрібно мені явно запустити X сеанс на Ubuntu тоді?
ACarter

@ACarter Так, це трактування з'єднання є розширенням існуючого X сеансу.
Jivings

1
@ACarter Вибачте за це. Це може бути пов'язане зі DISPLAYзмінною. Спробуйте ввести echo $DISPLAYв терміналі , і замінити :0в x2xкоманді з цим виходом.
Jivings

10

синергія може зробити це досить добре

Синергія дозволяє легко ділитися мишею та клавіатурою між декількома комп'ютерами на вашому столі, і це безкоштовно та з відкритим кодом. Просто перемістіть мишу від краю екрана одного комп’ютера на інший. Ви навіть можете поділитися всіма своїми буферами. Все, що вам потрібно, це мережне підключення. Синергія є кросплатформою (працює в Windows, Mac OS X та Linux).


Як ти збудував це для Пі?
HeatfanJohn

@HeatfanJohn, raspbian має його у репо
John La

Ах, sudo apt-get install synergy... круто!
HeatfanJohn

4

Швидкий google врешті-решт привів мене сюди, і після швидкого тестування це працювало для мене.

Коротше кажучи, вам потрібно встановити xrdp

sudo apt-get install xrdp

Після встановлення він встановить службу rdp для запуску під час завантаження, тому перезапустіть RPi. Після завершення завантаження RPI ви зможете підключитися до свого RPi через вбудовану Windows (або будь-яку іншу сторону) віддалений настільний додаток.


Дякую за вашу відповідь, це акуратне віддалене рішення, але ідея полягає в тому, що я бачу робочий стіл на екрані, підключеному до Pi, але я можу ввести цей робочий стіл з клавіатури мого ноутбука.
ACarter

1

Стара нитка ... я знаю.

Я написав утиліту, яку я дзвоню fauxcon, яка пересилає вашу клавіатуру (а незабаром і мишу) на консоль іншого комп’ютера, на який ви знаходитесь.

Це дозволяє переглядати дисплей RPI (наприклад) на телевізорі або моніторі, і вводити так, як ніби ви увійшли в фізичний пристрій за допомогою клавіатури.

Враховуючи те, що все в моєму будинку бездротове, досить акуратно сидіти на дивані з ноутбуком та набиратись, бачачи це на великому екрані на RPI.

Відгуки Ласкаво просимо,

fauxcon - Github - https://github.com/lornix/fauxcon


1

Я опинився в подібній ситуації і не хотів використовувати синергію, тому що я вже працював на синергії на комп’ютерах, на які хотів надіслати клавіатуру і не ходити X на хості. Я знайшов uinput-mapper ідеальним рішенням для моєї справи.

Github: https://github.com/MerlijnWajer/uinput-mapper

Як: http://blog.pi3g.com/2014/03/uinput-mapper-redirecting-keyboard-and-mouse-to-any-linux-system-using-a-raspberry-pi/

Я використовував netcat замість SSH, оскільки я не надто переживаю за безпеку своєї локальної мережі і, здається, перехоплює клавіатуру, перш ніж ви зможете ввести свій пароль. Потрібно запустити як root або, ще більше, в ідеалі просто мати привілей возитися з пристроями введення.

На комп’ютері, який потребує клавіатури:

# nc -l -p 7005|./input-create 

Потім на комп'ютері з клавіатурою:

# ./input-read -G /dev/input/eventX -D|nc 192.168.1.122 7005 

(де eventX - це ваша клавіатура, а 192.XXX - це комп'ютер, на який ви надсилаєте клавіатуру)

У нього не було проблем зі швидкістю, і всі клавіші працюють правильно. Я вважаю, що це працює і з мишами, але мені не потрібно було це використовувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.