18Jul

Wie Sie Ihren Monitor mit einem Hotkey in Ubuntu ausschalten

click fraud protection

Die traditionelle Art, Ihren Monitor über einen Hotkey auszuschalten, wurde jetzt für einige Versionen unterbrochen. Ein ziemlich einfaches Python-Skript kann diese Funktionalität zuverlässig und effizient wiederherstellen.

Die alte Art der Abschaltung war der xset-Befehl:

xset dpms force off

Es gibt ein paar Variationen, aber seit Ubuntu Karmic( 9.10) ist es kaputt. Einige der Systemaufrufe kommen mit diesem Befehl anscheinend nicht gut zurecht, wodurch der Bildschirm nach etwa einer Minute aufwacht. Nachdem ich mich eine ganze Weile darüber geärgert hatte, fand ich ein paar Lösungen in den Ubuntu Foren. Das Ausführen dieses Befehls in einer Schleife scheint CPU-intensiv zu sein, und es gibt keine sehr elegante Möglichkeit, diesem zu entkommen. Glücklicherweise hat ein Benutzer, nxmehta, eine Lösung gefunden, die ein einfaches Python-Skript verwendet, und es funktioniert von Karmic bis Natty.

Zuerst müssen Sie ein paar Abhängigkeiten haben, also öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein:

instagram viewer

sudo apt-get Installation Python python-xlib

Dies wird die Python und Python-Xlib-Pakete installieren, wenn sie nicht sindbereits installiert. Als nächstes öffne den Texteditor( gedit) und kopiere den folgenden Text:

#!/usr/bin/ Python-Importzeit Subprozess importieren von Xlib Import X von Xlib.display importieren Anzeige display = Anzeige( ': 0') root = display.screen() . Root root.grab_pointer( True, X.ButtonPressMask | X.ButtonReleaseMask | X.PointerMotionMask, X.GrabModeAsync, X.GrabModeAsync, 0, 0, X.CurrentTime) root.grab_keyboard( Wahr, X.GrabModeAsync, X.GrabModeAsync, X.CurrentTime) subprocess.call( 'xset dpms force off'.split() ) p = subprocess. Popen( 'gnome-screensaver-command -i'.split() ) time.sleep( 1) während True: print display.next_event() p.terminate() break

Speichern Sie Ihre Datei irgendwo mit einem richtigenName. Ich steckte meine in ~ /bin/ screen_off.sh mit dem Rest meiner Skripte.

Als nächstes klicken Sie mit der rechten Maustaste auf die Datei und gehen Sie zu Eigenschaften.

Stellen Sie sicher, dass unter "Berechtigungen" die Option "Datei als Programm ausführen" aktiviert ist. Klicken Sie auf Schließen.

Jetzt können Sie es einer beliebigen Tastenkombination zuweisen! Ich möchte meins auf Feststelltaste setzen, also musste ich zuerst diese Taste deaktivieren. Sie können das tun, indem Sie auf Keyboard & gt;Layouts & gt;Optionen.

Wählen Sie hier unter Feststelltaste die Option "Feststelltaste ist deaktiviert".

Um dieses Skript einer Tastenkombination zuzuweisen, öffnen Sie die Tastaturkürzel-Einstellungen.

Klicken Sie auf Hinzufügen, geben Sie der Verknüpfung einen Namen und der Befehl ist nur der Speicherort des Skripts. Klicken Sie auf Übernehmen und dann auf unter Verknüpfung, um es festzulegen. Wenn Sie die Feststelltaste deaktiviert haben, wird sie als "VoidSymbol" angezeigt, funktioniert aber ohne Probleme.

Das nervt mich seit einiger Zeit, und die Lösung war ein wenig schwierig zu finden, was mit all den Beschwerden einherging. Hoffentlich hilft das Ihnen, Ihre Laptopbatterie zu konservieren.