Yerel ağda Windows'tan Ubuntu'ya klavye girişi gönderme


0

Yerel bir ağda iki makinem var. Biri Windows 10, diğeri Ubuntu 16.04.

Linux makinesi ana bilgisayarım değil ve ofisimin diğer tarafında oturuyor, monitör bana bakıyor, böylece Plex veya Netflix vs. oynayabilirim.

Windows makinesinden girişi göndererek Linux makinesinde klavye girişini simüle etmek için kullanabileceğim herhangi bir yazılım olup olmadığını bilmek istiyorum. Bu şekilde, diğer bilgisayardaki internete göz atabilirim (yeni bir şarkı veya video seç), fiziksel olarak kalkıp diğer makineye gitmeden.

Zaten yardımcı olursa, ikisi arasında SSH ayarlarım var.

Gibi bir şey yapan basit bir komut satırı aracı umuyordum:

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

Böylece işleri otomatikleştirmek için kendi senaryolarımı oluşturabilirim. Ancak, GUI tabanlı bir uygulamaya karşı da değilim. Uzak bir masaüstü görüntüleme uygulaması kullanmanın genel giderinden kaçınmak istiyorum.

Önerebileceğiniz herhangi bir tavsiye veya araç harika olurdu. Sanırım, tuş kombinasyonlarını gönderebilmem gerekecek, böylece Ubuntu makinesinde kullandığım yazılımda mevcut olan klavye kısayollarına tam erişimim olacak.


Konu dışı bir soru soruyorsunuz (yazılım alışverişi). Ürün, hizmet veya öğrenme materyali önerileri arayan sorular konu dışıdır. Konu Üzerine Bakın . Softwarerecs.stackexchange.com adresini deneyin, ancak lütfen önce okuyun "Bir sorunun" yeterli bilgi "içermesi için gerekenler .
DavidPostill

Yanıtlar:


1

Xdotool'u ubuntu'ya kurmalı ve ssh ile kullanmalısınız:

Cygwin ssh ile:

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

Tuş vuruşları, önde gelen "XK_KP_" yi kaldırdığınız keysymdef.h içindeki tuşların adıdır: https://cgit.freedesktop.org/xorg/proto/x11proto/plain/keysymdef.h

Ayrıca bir anahtar ve birkaç değiştirici de gönderebilirsiniz: "Alt + a"

Ssh'ın bir kaçıran metnin bir seviyesini "yediğini" unutmayın.

Ayrıca metin yazabilir, tıklatabilir, zarı hareket ettirebilir, pencereleri kaldırabilir, vb.

Metin örneği (iade göndermek için iki satırda):

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

İşte tüm yapabilecekleriniz:

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

Aradığım şey buydu, teşekkür ederim. Küçük bir tamirciye sahip olacağımxdotool
Luke

1

Uzaktaki makinede internete göz atmak istiyorsanız, muhtemelen sadece klavyeyi paylaşmak istemezsiniz, aynı zamanda ekranı paylaşmak istersiniz, böylece ne yaptığınızı görebilirsiniz.

Bunu yapmanın bir yolu VNC Windows ile bu nasıl kurulacağı talimatlar için / Ubuntu örneğin bkz burada (veya google).

Bir ssh bağlantınız varsa, uzak makinedeki hemen hemen her şeyi otomatikleştirebilirsiniz. Diğer programları kontrol eden programları yürütmenin yanı sıra, çeşitli seviyelerde cihaz girişini de enjekte edebilirsiniz. Tek yön için yazmaktır /dev/input/event*örneğin bkz doğru formatta doğrudan cihazlar burada (cevaplar öteye aşağıda da klavyeler veya başka herhangi bir giriş cihazı için çalışır). Diğer bir yolu kullanarak X olayları (klavye ve fare ikisi) enjekte etmektir xdotool, xnee, xmacroveya benzeri programlar. Bunu yapmak istiyorsanız DISPLAY, uzak kabuğunuzdaki girişi doğru şekilde ayarlamanız gerekir (genellikle bu şekilde :0) ve ayrıca X yetkilendirmesinin çalıştığından da emin olmalısınız (bunun genel olarak Ubuntu'da varsayılan olarak nasıl yapılandırıldığından emin değilim)~/.Xauthority ekran yöneticisi tarafından verilen geçerli bir çerez içermelidir).


Cevabınız için teşekkürler, ama özellikle ekran paylaşımından kaçınmak istediğimi söyledim. Başka bir cevaplayıcı bahsetti, xdotoolbu yüzden kesinlikle önereceğim diğer ikisini de kontrol edeceğim. İnternete göz at dediğimde, özgürce araştırmanın aksine, internette daha fazla rutin işlem yapmak istemiştim.
Luke,

Genel giderlerden kaçınmak istediğini söyledin . VNC, bu kadar ek yüke sahip değil (sıkıştırılmış ve yalnızca değişiklikler aktarılıyor), LAN'ı gerçekten vergilendirmiyor ve takması, sahte X girişi / fare hareketleriyle bir şey ayarlamaktan çok daha kolay. Ama elbette, sizin için en iyi olanı kullanmalısınız, o yüzden deneyin. :-) "Rutin görevler" için, HTTP etkileşiminin wget / curl, hatta terminaldeki lynx ile yazılmasını da düşünürdüm.
dirkt

Bu doğru - yeterince adil, sonra VNC'yi kontrol edeceğim. 'Senaryo' yolunu sormamın asıl nedeni, ikinci bilgisayarla her etkileşim için harcadığım çabayı en aza indirgemekti: P, ancak Synergy tarafından baştan çıkarıldım ve VNC şimdi bunları belirttiniz.
Luke,

0

imleci bu mesafeden görüyorsanız, sinerji kullanın, değilse, vnc kullanın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.