Meneruskan input mouse dan keyboard ke sesi X

13

Saya mengakses Pi saya melalui SSH.

Jaringan saya terlalu lambat untuk benar-benar meneruskan desktop Pi kembali ke laptop saya, jadi saya memiliki monitor yang terhubung ke Pi saya. Ketika saya startxmelalui Putty, saya melihat desktop di Pi saya. Semua baik.

Namun, saya tidak dapat melakukan apa pun dengan desktop ini, karena yang saya miliki hanyalah mouse dan keyboard laptop saya.

Bagaimana saya bisa meneruskan input mouse dan keyboard dari laptop saya ke desktop di Pi saya?

ACarter
sumber
Jika Anda tetap menghubungkan monitor, mengapa tidak menghubungkan keyboard dan mouse? Anda biasanya menggunakan ssh ketika Anda ketika Anda tidak memiliki akses ke PI itu sendiri.
Ash Burlaczenko
@ Ah, saya tidak punya keyboard. Saya tahu mereka murah dan segalanya, tapi itu akan membuatnya lebih mudah ...
ACarter
Jika Anda hanya memiliki satu keyboard dan mouse, mungkin masuk akal untuk mendapatkan sakelar KVM sehingga Anda dapat bolak-balik.
Kibbee
Saya yakin saya sudah menulis tentang ini sebelumnya di suatu tempat.
Jivings
@ Kibbee Saya pikir Anda tidak bisa menggunakan saklar KVM dengan laptop?
ACarter

Jawaban:

12

Anda dapat menggunakan alat hebat yang disebut x2x. Ini pada dasarnya memperlakukan monitor yang terhubung ke perangkat jarak jauh (Raspberry Pi) sebagai Xlayar kedua untuk Anda sesi yang ada seolah-olah Anda memiliki dua monitor yang terhubung.

Instal x2xdi kedua perangkat:

sudo pacman -S x2x         # Arch Linux
sudo apt-get install x2x   # Debian/Raspbian 

Konfigurasikan SSH:

Pada Raspberry Pi, edit /etc/ssh/sshd_configdan tambahkan / batalkan komentar pada baris berikut:

X11Forwarding yes

Kemudian restart sshserver.

SSH ke Pi dari perangkat Anda yang lain dan jalankan x2x:

ssh -X 192.168.0.70 'x2x -east -to :0'

Ganti IP dengan alamat Raspberry Pi Anda.

Sekarang Anda harus dapat menggerakkan mouse Anda di antara dua sesi X dengan menggerakkan mouse Anda dari layar ke kanan (timur).

Jivings
sumber
Ketika melakukan ini pada Windows dan Ubuntu, saya mendapatkan kesalahan yang mirip dengan x2x - error: can not open display :0. Saya telah menginstal x2x pada Pi dan Ubuntu, dan SSH sudah diatur pada Pi.
ACarter
@ ACarter Saya tidak berpikir Anda bisa melibatkan Windows (kecuali menggunakan xming) karena perlu sesi X berjalan di setiap ujung.
Jivings
Apakah saya perlu secara eksplisit memulai sesi X di Ubuntu?
ACarter
@ ACarter Ya, itu memperlakukan koneksi sebagai perpanjangan dari sesi X yang ada .
Jivings
1
@ ACarter Saya minta maaf tentang itu. Bisa jadi ada hubungannya dengan DISPLAYvariabel. Coba mengetik echo $DISPLAYdi terminal dan mengganti :0dalam x2xperintah dengan output yang.
Jivings
10

sinergi dapat melakukan ini dengan cukup baik

Synergy memungkinkan Anda berbagi mouse dan keyboard dengan mudah di antara beberapa komputer di meja Anda, dan ini gratis dan Open Source. Cukup gerakkan mouse Anda dari tepi layar satu komputer ke yang lain. Anda bahkan dapat membagikan semua clipboard Anda. Yang Anda butuhkan hanyalah koneksi jaringan. Synergy adalah cross-platform (berfungsi pada Windows, Mac OS X dan Linux).

John La Rooy
sumber
Bagaimana Anda membuatnya untuk Pi?
HeatfanJohn
@HeatfanJohn, raspbian memilikinya di repo
John La Rooy
Ah, sudo apt-get install synergy... keren!
HeatfanJohn
4

Google cepat akhirnya membawa saya ke sini dan setelah tes cepat ini berhasil bagi saya.

Singkatnya, Anda perlu mengatur xrdp

sudo apt-get install xrdp

Setelah menginstal itu akan mengatur layanan rdp untuk memulai saat boot, jadi restart RPi Anda. Ketika RPi Anda selesai booting, Anda akan dapat terhubung ke RPi Anda melalui aplikasi desktop jarak jauh bawaan Windows (atau pihak ketiga lainnya).

Ash Burlaczenko
sumber
Terima kasih atas jawaban Anda, itu solusi jarak jauh yang rapi, tetapi idenya adalah saya melihat desktop di layar terhubung ke Pi, tetapi saya dapat memasukkan desktop ini dari keyboard laptop saya.
ACarter
1

Utas lama ... Saya tahu.

Saya telah menulis utilitas yang saya panggil fauxcon, yang meneruskan keyboard Anda (dan segera, mouse) ke konsol komputer lain yang Anda masuki.

Ini memungkinkan Anda untuk melihat tampilan RPi Anda (misalnya) di TV atau monitor, dan mengetik seolah-olah Anda masuk ke perangkat fisik dengan keyboard.

Mengingat semua yang ada di rumah saya adalah nirkabel, agak rapi untuk duduk di sofa dengan laptop dan mengetik, melihat itu terjadi di layar lebar pada RPi.

Umpan balik,

fauxcon - Github - https://github.com/lornix/fauxcon

lornix
sumber
1

Saya berada dalam situasi yang sama dan tidak ingin menggunakan sinergi karena saya sudah menjalankan sinergi pada komputer yang ingin saya kirimi keyboard dan tidak menjalankan X pada host. Saya menemukan uinput-mapper menjadi solusi sempurna untuk kasus saya.

Github: https://github.com/MerlijnWajer/uinput-mapper

How-to: http://blog.pi3g.com/2014/03/uinput-mapper-redirecting-keyboard-and-mouse-to-any-linux-system-using-a-raspberry-pi/

Saya menggunakan netcat daripada SSH karena saya tidak terlalu khawatir tentang keamanan pada LAN saya dan sepertinya mencegat keyboard sebelum Anda dapat mengetikkan kata sandi Anda. Harus dijalankan sebagai root atau lebih ideal hanya memiliki hak istimewa untuk mengacaukan dengan perangkat input.

Di komputer yang membutuhkan keyboard:

# nc -l -p 7005|./input-create 

Kemudian di komputer dengan keyboard:

# ./input-read -G /dev/input/eventX -D|nc 192.168.1.122 7005 

(di mana eventX adalah keyboard Anda dan 192.XXX adalah komputer tempat Anda mengirim keyboard)

Tidak ada masalah kecepatan dan semua tombol berfungsi dengan benar. Saya percaya ini bekerja dengan tikus juga, tetapi saya tidak perlu menggunakannya.

Penguins55
sumber