Tengo dos máquinas en una red local. Uno es Windows 10 y el otro es Ubuntu 16.04.
La máquina Linux no es mi computadora principal y se encuentra al otro lado de mi oficina, con el monitor frente a mí para poder reproducir Plex o Netflix, etc.
Quiero saber si hay algún software que pueda usar para simular la entrada del teclado en la máquina Linux, enviando la entrada desde la máquina Windows. De esta manera puedo navegar por Internet en la otra computadora (seleccionar una nueva canción, video, etc.), sin tener que levantarme físicamente e ir a la otra máquina.
Ya tengo SSH configurado entre los dos si eso ayuda.
Esperaba una herramienta de línea de comando simple que hiciera algo como:
C:/Users/Luke> sendinput 192.168.0.10 "keycode here"
Para poder crear mis propios scripts para automatizar cosas. Sin embargo, tampoco estoy en contra de una aplicación basada en GUI. Quiero evitar la sobrecarga de utilizar una aplicación de visualización de escritorio remoto.
Cualquier consejo o herramienta que pueda sugerir sería genial. Supongo que necesitaría poder enviar combinaciones de teclas para tener acceso completo a los atajos de teclado disponibles en cualquier software que esté usando en la máquina Ubuntu.
Respuesta1
Deberías instalar xdotool en ubuntu y luego usarlo a través de ssh:
Con ssh de cygwin:
ssh [email protected] /bin/dash -c "'DISPLAY=:0 xdotool key Page_Up'"
Las pulsaciones de teclas son el nombre de las teclas enkeysymdef.h, donde se elimina el "XK_KP_" inicial: https://cgit.freedesktop.org/xorg/proto/x11proto/plain/keysymdef.h
También puedes enviar una clave y varios modificadores: "Alt+a"
Tenga en cuenta que ssh está "comiendo" un nivel de texto escapado
También puedes escribir texto, hacer clic, mover el mois, levantar ventanas, etc...
Ejemplo de texto (en dos líneas para enviar una devolución):
ssh [email protected] /bin/dash -c "'DISPLAY=:0 xdotool type \"echo hello
\"'"
Esto es todo lo que puedes hacer:
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
Respuesta2
Si desea navegar por Internet en la máquina remota, probablemente no solo desee compartir el teclado, sino que también desee compartir la pantalla para poder ver lo que está haciendo.
Una forma de hacerlo esVNC, para obtener instrucciones sobre cómo configurar esto con Windows/Ubuntu, consulte, por ejemploaquí(o google).
Si tiene una conexión ssh, puede automatizar prácticamente todo en la máquina remota. Además de ejecutar programas que controlan otros programas, también puede inyectar entradas del dispositivo en varios niveles. Una forma es escribir en /dev/input/event*
los dispositivos directamente en el formato correcto, consulte, por ejemploaquí(La respuesta se encuentra más abajo, también funciona para teclados o cualquier otro dispositivo de entrada). Otra forma es inyectar eventos X (teclado y mouse), usando xdotool
, xnee
o xmacro
programas similares. Si desea hacer eso, debe configurar DISPLAY
correctamente en su shell remoto (generalmente en :0
), y también debe asegurarse de que la autorización X funcione (no estoy seguro de cómo está configurado de manera predeterminada en Ubuntu, en general ~/.Xauthority
debe contener un cookie válida, emitida por el administrador de visualización).
Respuesta3
si puedes ver el cursor a esa distancia, usa synergy, si no, usa vnc.