У меня есть две машины в локальной сети. Один - Windows 10, другой - Ubuntu 16.04.

Компьютер с Linux не является моим основным компьютером и расположен на другой стороне моего офиса, с монитором, обращенным ко мне, чтобы я мог играть в Plex или Netflix и т.д.

Я хочу знать, есть ли какое-либо программное обеспечение, которое я могу использовать для имитации ввода с клавиатуры на компьютере с Linux, отправив ввод с компьютера с Windows. Таким образом, я могу просматривать Интернет на другом компьютере (выбрать новую песню, видео и т.д.), Не вставая физически и не переходя на другую машину.

У меня уже есть SSH, настроенный между двумя, если это помогает.

Я надеялся на простой инструмент командной строки, который делает что-то вроде:

C:/Users/Luke> sendinput 192.168.0.10 "keycode here"

Так что я могу создавать свои собственные сценарии для автоматизации вещей. Однако я тоже не против приложений на основе графического интерфейса. Я хочу избежать накладных расходов на использование приложения для просмотра на удаленном рабочем столе.

Любой совет или инструменты, которые вы можете предложить, будут хороши. Полагаю, мне нужно было бы иметь возможность отправлять комбинации клавиш, чтобы у меня был полный доступ к сочетаниям клавиш, доступным в любом программном обеспечении, которое я использую на компьютере с Ubuntu.

3 ответа3

1

Если вы хотите просматривать Интернет на удаленном компьютере, вы, вероятно, хотите не только использовать клавиатуру, но и экран, чтобы видеть, что вы делаете.

Один из способов сделать это - VNC. Инструкции по настройке с помощью Windows/Ubuntu см., Например, здесь (или в Google).

Если у вас есть ssh-соединение, вы можете автоматизировать практически все на удаленной машине. Помимо выполнения программ, управляющих другими программами, вы также можете вводить ввод данных с устройства на разных уровнях. Одним из способов является прямая запись на устройства /dev/input/event* в правильном формате, см., Например, здесь (ответы ниже, также работает для клавиатур или любых других устройств ввода). Другой способ - ввести события X (как с клавиатуры, так и с мышью), используя xdotool , xnee , xmacro или аналогичные программы. Если вы хотите сделать это, вам нужно правильно настроить DISPLAY в вашей удаленной оболочке (обычно :0), и вы также должны убедиться, что X авторизация работает (я не уверен, как это настраивается по умолчанию в Ubuntu, в целом ~/.Xauthority должен содержать действительный файл cookie, который выдается менеджером дисплея).

1

Вы должны установить xdotool в Ubuntu, а затем использовать его через ssh:

С помощью SSH Cygwin:

ssh user@10.1.2.3 /bin/dash -c  "'DISPLAY=:0 xdotool key Page_Up'"

Клавиши - это имена ключей в keysymdef.h, где вы удаляете начальный "XK_KP_":https://cgit.freedesktop.org/xorg/proto/x11proto/plain/keysymdef.h

Вы также можете отправить ключ и несколько модификаторов: «Alt +a»

Обратите внимание, что ssh "ест" один уровень экранированного текста

Вы также можете набирать текст, нажимать, перемещать Моисей, поднимать окна и т.д ...

Пример текста (в две строки для отправки возврата):

ssh user@10.1.2.3 /bin/dash -c "'DISPLAY=:0 xdotool type \"echo hello
\"'"

Вот все, что вы можете сделать:

Usage: xdotool <cmd> <args>
Available commands:
  getactivewindow
  getwindowfocus
  getwindowpid
  search
  help
  version
  click
  getmouselocation
  key
  keydown
  keyup
  mousedown
  mousemove
  mousemove_relative
  mouseup
  type
  windowactivate
  windowfocus
  windowmap
  windowmove
  windowraise
  windowsize
  windowunmap
  set_window
  set_num_desktops
  get_num_desktops
  set_desktop
  get_desktop
  set_desktop_for_window
  get_desktop_for_window
0

если вы видите курсор на таком расстоянии, используйте синергию, если нет, используйте vnc.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .