2016-06-24 8 views
1

Ich verwende derzeit eine Remote-Software, um auf einen Computer von mir zuzugreifen. Das Problem ist jetzt: Ich möchte nicht, dass jemand sieht, was ich mache, also versuche ich ein kleines Werkzeug oder Skript zu schreiben, das den Bildschirm ausblendet.X11 - Leeren Sie den Bildschirm

Die Software greift auf die Bilddaten mit der MIT-SHM-Erweiterung von X11 zu. Daher suche ich eine Möglichkeit, X11 die Daten im SHM rendern zu lassen, aber nicht an den Monitor weiterzuleiten (als ob der Monitor gedreht wäre) aus). Gibt es irgendeinen Weg? Als letzten Ausweg würde ich XVFB verwenden, aber ich würde lieber nicht ...

S.S .: Ich suche einen programmatischen Versuch. Entweder über BASH-Skript oder C/C++.

+1

Wenn die Personen, vor denen Sie sich verstecken möchten, keinen physischen Zugriff auf die Maschine haben, können Sie einfach 'xset dpms force off 'ausführen - dadurch wird der Monitor ausgeschaltet. Es wird jedoch wieder eingeschaltet, wenn Sie mit der Maus wackeln. –

+0

Wow. das funktioniert wirklich gut. Gibt es eine Möglichkeit, zu verhindern, dass Mauswackeln den Bildschirm reaktiviert, oder kann ich irgendwie feststellen, dass der Bildschirm wieder eingeschaltet ist? – Nidhoegger

+0

Ist das Remote-Software 'x11vnc' +' vncviewer'? – anishsane

Antwort

1

x11vnc hat Optionen wie -clientdpms, -forcedpms.

Was sie im Wesentlichen tun - ist dpms Befehle zum Ausblenden der Anzeige aufrufen, jedes Mal gibt es eine Maus/Tastatur Aktion. Also, der Monitor wird nicht ausgeblendet & wieder ausgeblendet. Dies ist wegen der Hysterese des Monitors für die Augen nicht wirklich sichtbar.

JETZT, wenn Sie Zugriff auf den Code dieser proprietären Software haben, können Sie nach jedem kbd/mouse-Ereignis einen Code hinzufügen, der mit DPMS-Befehlen leer gemacht wird.

Alternativ können Sie einen schmutzigen Hack verwenden, um x11vnc -forcedpms -forever -allow 127.0.0.1 -clip 1x1+0+0 im Hintergrund zu laufen.

Verwandte Themen