Salut tout le monde
Sur Internet, il existe de nombreux articles sur la façon de configurer une connexion à distance à une session Xorg existante via x11vnc, mais je n'ai trouvé nulle part comment épingler le moniteur local et entrer de sorte que toute personne assise à côté de l'ordinateur distant ne voit pas ce que vous faites et non boutons enfoncés dans votre session. Sous cat, ma façon de rendre x11vnc ressemble plus à la connexion à Windows via RDP.
Donc, disons que vous savez déjà comment utiliser x11vnc, sinon, vous pouvez google ou lire par exemple
ici .
Étant donné: lancez x11nvc, connectez-vous avec le client, tout fonctionne, mais la console informatique locale est également disponible pour la visualisation et la saisie.
Nous voulons: couper la console locale (moniteur + clavier + souris) pour que rien ne puisse être vu et saisi.
Nous avons réduit les moniteurs
La première chose qui m'est venue à l'esprit était de couper le moniteur via xrandr, par exemple comme ceci:
$ xrandr --output CRT1 --off
mais en même temps, l'environnement des fenêtres (j'ai KDE) commence à penser que le moniteur est vraiment éteint et commence à lancer des fenêtres et des panneaux, tout se déplace et devient triste.
Il existe un moyen plus intéressant, qui consiste à mettre le moniteur en veille, vous pouvez le faire par exemple comme ceci:
$ xset dpms force off
mais ici aussi, tout ne se passe pas bien. Le système réveille le moniteur lors du premier événement. La béquille la plus simple sous forme de cycle permet:
while : do xset dpms force off sleep .5 done
Je ne pensais pas plus loin - c'était de la paresse, ça remplit son rôle - les moniteurs ne montrent rien, même si vous appuyez sur des boutons, remuez la souris, etc.
UPD:
Merci
amarao pour une autre façon de
passer à une luminosité nulle:
$ xrandr --output CRT1 --brightness 0
Coupez l'entrée
Pour désactiver l'entrée, j'ai utilisé xinput. Lorsqu'il est lancé sans paramètres, il affiche une liste d'appareils:
$ 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)]
Les périphériques
virtuels de base ... ne peuvent pas être désactivés - une erreur est générée, mais le reste peut être activé et désactivé, par exemple, comme ceci, vous pouvez rester sans souris pendant une minute:
xinput disable 9; sleep 60; xinput enable 9
Solution clé en main
Pour mon cas, j'ai fait un script qui s'exécute en session ssh. Il supprime l'entrée locale et soulève le serveur x11vnc, et une fois le script terminé, tout revient comme il était. En conséquence, trois scripts se sont révélés, les voici (mis à jour).
switch_local_console:
disable_local_console:
En fait, le script principal (j'ai deux moniteurs, je soulève un serveur commun et un pour chaque moniteur).
vnc_server:
En fait, tout. Nous allons par ssh,
exécutons vnc_server alors qu'il est vivant, avons accès via vnc et la console locale éteinte.
Merci de votre attention, les ajouts et améliorations sont les bienvenus.