Enviando entrada de teclado do Windows para o Ubuntu na rede local

0

Eu tenho duas máquinas em uma rede local. Um é o Windows 10, o outro é o Ubuntu 16.04.

A máquina Linux não é meu computador principal e fica do outro lado do meu escritório, com o monitor voltado para mim para que eu possa jogar o Plex ou o Netflix, etc.

Eu quero saber se existe algum software que eu possa usar para simular entrada de teclado na máquina Linux, enviando a entrada da máquina Windows. Desta forma eu posso navegar na internet no outro computador (selecione uma nova música, ou vídeo, etc), sem ter que fisicamente se levantar e ir para a outra máquina.

Já tenho o SSH configurado entre os dois, se isso ajudar.

Eu esperava uma ferramenta de linha de comando simples que fizesse algo como:

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

Para que eu possa criar meus próprios scripts para automatizar as coisas. No entanto, também não sou contra um aplicativo baseado em GUI. Eu quero evitar a sobrecarga de usar um aplicativo de visualização de área de trabalho remota.

Qualquer conselho ou ferramenta que você possa sugerir seria ótimo. Eu suponho que eu precisaria ser capaz de enviar combinações de chaves, para que eu tenha acesso total aos atalhos de teclado disponíveis em qualquer software que eu esteja usando na máquina Ubuntu.

    
por Luke 22.09.2016 / 20:19

3 respostas

1

Você deve instalar o xdotool no ubuntu e usá-lo através do ssh:

Com o ssh do cygwin:

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

As teclas são o nome das chaves em keysymdef.h, onde você remove o "XK_KP_" principal: link

Você também pode enviar uma chave e vários modificadores: "Alt + a"

Observe que o ssh está "comendo" um nível de texto com escape

Você também pode digitar texto, clicar, mover o mouse, abrir janelas, etc ...

Exemplo de texto (em duas linhas para enviar um retorno):

ssh [email protected] /bin/dash -c "'DISPLAY=:0 xdotool type \"echo hello
\"'"

Aqui está tudo o que você pode fazer:

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
    
por 23.09.2016 / 16:20
1

Se você quiser navegar na Internet na máquina remota, provavelmente não só deseja compartilhar o teclado, mas também deseja compartilhar a exibição para ver o que está fazendo.

Uma maneira de fazer isso é VNC , para obter instruções sobre como configurá-lo com o Windows / Ubuntu, veja aqui (ou google).

Se você tiver uma conexão ssh, poderá automatizar praticamente tudo na máquina remota. Além de executar programas que controlam outros programas, você também pode injetar entrada de dispositivo em vários níveis. Uma maneira é escrever diretamente para /dev/input/event* dispositivos no formato correto. aqui (respostas mais abaixo, também funciona para teclados ou qualquer outro dispositivo de entrada). Outra maneira é injetar eventos X (teclado e mouse), usando xdotool , xnee , xmacro ou programas similares. Se você quiser fazer isso, você precisa definir o DISPLAY em seu shell remoto corretamente (geralmente para :0 ), e você também deve certificar-se de que a autorização X funciona (não sei como isso é configurado por padrão no Ubuntu , em geral, ~/.Xauthority deve conter um cookie válido, que é emitido pelo gerenciador de exibição).

    
por 23.09.2016 / 09:39
0

se você puder ver o cursor nessa distância, use a sinergia, se não, use vnc.

    
por 23.09.2016 / 09:40