Hai semuanya
Di Internet, ada banyak artikel tentang cara mengonfigurasi koneksi jarak jauh ke sesi Xorg yang ada melalui x11vnc, tetapi saya belum menemukan cara bagaimana merinci monitor dan input lokal sehingga siapa pun yang duduk di sebelah komputer jarak jauh tidak melihat apa yang Anda lakukan dan tidak menekan tombol di sesi Anda. Di bawah cat, cara saya untuk membuat x11vnc lebih seperti menghubungkan ke Windows melalui RDP.
Jadi, katakanlah Anda sudah tahu cara menggunakan x11vnc, jika tidak, Anda dapat google atau membaca misalnya di
sini .
Diberikan: meluncurkan x11nvc, terhubung dengannya dengan klien, semuanya berfungsi, tetapi konsol komputer lokal juga tersedia untuk dilihat dan diinput.
Kami ingin: mengurangi konsol lokal (monitor + keyboard + mouse) sehingga tidak ada yang bisa dilihat dan dimasukkan.
Kami memotong monitor
Hal pertama yang terlintas dalam pikiran adalah hanya mematikan monitor melalui xrandr, misalnya seperti ini:
$ xrandr --output CRT1 --off
tetapi pada saat yang sama, lingkungan jendela (saya memiliki KDE) mulai berpikir bahwa monitor benar-benar mati dan mulai melempar jendela dan panel, semuanya bergerak keluar dan menjadi sedih.
Ada cara yang lebih menarik, yaitu mengirim monitor ke mode sleep, Anda bisa melakukan ini misalnya seperti ini:
$ xset dpms force off
tapi di sini juga, tidak semuanya lancar. Sistem membangunkan monitor pada acara pertama. Penopang paling sederhana dalam bentuk siklus membantu:
while : do xset dpms force off sleep .5 done
Saya tidak berpikir lebih jauh - itu adalah kemalasan, memenuhi tujuannya - monitor tidak menunjukkan apa-apa, bahkan jika Anda menekan tombol, mengibaskan mouse, dll.
UPD:
Terima kasih
amarao untuk cara lain untuk memutar ke kecerahan nol:
$ xrandr --output CRT1 --brightness 0
Potong input
Untuk menonaktifkan input, saya menggunakan xinput. Ketika diluncurkan tanpa parameter, ini akan menampilkan daftar perangkat:
$ xinput β‘ Virtual core pointer id=2 [master pointer (3)] β β³ Virtual core XTEST pointer id=4 [slave pointer (2)] β β³ Logitech USB Laser Mouse id=9 [slave pointer (2)] β£ Virtual core keyboard id=3 [master keyboard (2)] β³ Virtual core XTEST keyboard id=5 [slave keyboard (3)] β³ Power Button id=6 [slave keyboard (3)] β³ Power Button id=7 [slave keyboard (3)] β³ Sleep Button id=8 [slave keyboard (3)] β³ USB 2.0 Camera: HD 720P Webcam id=10 [slave keyboard (3)] β³ HID 041e:30d3 id=11 [slave keyboard (3)] β³ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
Perangkat
inti virtual ... tidak dapat dimatikan - kesalahan dikeluarkan, tetapi sisanya dapat dihidupkan dan dimatikan, misalnya, seperti ini, Anda dapat tetap tanpa mouse selama satu menit:
xinput disable 9; sleep 60; xinput enable 9
Solusi turnkey
Untuk kasus saya, saya membuat skrip yang berjalan di sesi ssh. Itu menekan input lokal dan meningkatkan server x11vnc, dan setelah script selesai semuanya kembali seperti semula. Akibatnya, tiga skrip ternyata, ini dia (diperbarui).
switch_local_console:
disable_local_console:
Sebenarnya, skrip utama (saya punya dua monitor, saya menaikkan satu server umum dan satu untuk setiap monitor).
vnc_server:
Sebenarnya semuanya. Kami pergi dengan ssh, jalankan
vnc_server ketika masih hidup, memiliki akses melalui vnc dan konsol lokal padam.
Terima kasih atas perhatian Anda, penambahan dan peningkatan dipersilahkan.