Windows에서 로컬 네트워크의 Ubuntu로 키보드 입력 보내기

Windows에서 로컬 네트워크의 Ubuntu로 키보드 입력 보내기

로컬 네트워크에 두 대의 컴퓨터가 있습니다. 하나는 Windows 10이고 다른 하나는 Ubuntu 16.04입니다.

Linux 컴퓨터는 내 주 컴퓨터가 아니며 내 사무실 반대편에 모니터가 나를 향하고 있어 Plex나 Netflix 등을 재생할 수 있습니다.

Windows 컴퓨터에서 입력을 보내 Linux 컴퓨터에서 키보드 입력을 시뮬레이션하는 데 사용할 수 있는 소프트웨어가 있는지 알고 싶습니다. 이런 방식으로 실제로 일어나서 다른 컴퓨터로 이동할 필요 없이 다른 컴퓨터에서 인터넷을 탐색할 수 있습니다(새 노래 또는 비디오 등 선택).

도움이 된다면 이미 둘 사이에 SSH를 설정해 두었습니다.

나는 다음과 같은 기능을 수행하는 간단한 명령줄 도구를 원했습니다.

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

그래서 나는 일을 자동화하기 위해 나만의 스크립트를 만들 수 있습니다. 그러나 나는 GUI 기반 애플리케이션에도 반대하지 않습니다. 원격 데스크톱 보기 애플리케이션을 사용하는 데 따른 오버헤드를 피하고 싶습니다.

당신이 제안할 수 있는 조언이나 도구가 있으면 좋을 것입니다. Ubuntu 시스템에서 사용하는 모든 소프트웨어에서 사용할 수 있는 키보드 단축키에 대한 전체 액세스 권한을 가지려면 키 조합을 보낼 수 있어야 한다고 가정합니다.

답변1

우분투에 xdotool을 설치한 다음 ssh를 통해 사용해야 합니다.

Cygwin의 SSH를 사용하면 다음과 같습니다.

ssh [email protected] /bin/dash -c  "'DISPLAY=:0 xdotool key Page_Up'"

키 입력은 keyymdef.h의 키 이름이며, 여기에서 선행 "XK_KP_"를 제거합니다. https://cgit.freedesktop.org/xorg/proto/x11proto/plain/keysymdef.h

키와 여러 수정자를 보낼 수도 있습니다: "Alt+a"

ssh는 이스케이프된 텍스트의 한 수준을 "먹고" 있습니다.

텍스트를 입력하고, 클릭하고, 모세를 움직이고, 창을 올리는 등의 작업도 할 수 있습니다.

텍스트 예(반품을 보내는 두 줄):

ssh [email protected] /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

답변2

원격 컴퓨터에서 인터넷을 탐색하려면 키보드를 공유하고 싶을 뿐만 아니라 디스플레이도 공유하여 자신이 무엇을 하고 있는지 볼 수 있기를 원할 것입니다.

그렇게 하는 한 가지 방법은VNC, Windows/Ubuntu에서 이를 설정하는 방법에 대한 지침은 예를 참조하세요.여기(또는 구글).

SSH 연결이 있으면 원격 시스템의 거의 모든 것을 자동화할 수 있습니다. 다른 프로그램을 제어하는 ​​프로그램을 실행하는 것 외에도 다양한 수준에서 장치 입력을 주입할 수도 있습니다. 한 가지 방법은 /dev/input/event*올바른 형식으로 장치 에 직접 쓰는 것입니다 . 예를 참조하세요.여기(아래 답변은 키보드 또는 기타 입력 장치에서도 작동합니다). 또 다른 방법은 xdotool, 또는 유사한 프로그램을 사용하여 X 이벤트(키보드와 마우스 모두) xnee를 주입하는 것입니다 . xmacro그렇게 하려면 DISPLAY원격 셸에서 를 올바르게 설정해야 하며(일반적으로 :0) X 인증이 작동하는지 확인해야 합니다(Ubuntu에서 이것이 기본적으로 어떻게 구성되어 있는지는 잘 모르겠습니다. 일반적 ~/.Xauthority으로 디스플레이 관리자가 발행한 유효한 쿠키).

답변3

해당 거리에서 커서가 보이면 시너지 효과를 사용하고, 그렇지 않으면 vnc를 사용하세요.

관련 정보