Deaktivieren Sie die Bildschirmaustastung in der Textkonsole


75

Ich verwende Linux-Cluster, hauptsächlich auf SLES10. Die Server sind meistens Blades, auf die über eine Remote-Konsole zugegriffen wird. Es gibt eine echte Konsole im Serverraum, die aber ausgeschaltet ist.

Ich möchte die Bildschirmaustastung deaktivieren, da sie keinen Zweck erfüllt und störend ist. Sie müssen die Taste drücken, um zu sehen, ob Sie verbunden sind, was ein Schmerz ist. Wir führen Runlevel 3 aus, daher befindet sich die Konsole im Textmodus, ohne X11.



Antworten:


85

Sie können überprüfen, welche Zeitüberschreitung der Kernel für das Löschen der virtuellen Konsole verwendet:

$ cat /sys/module/kernel/parameters/consoleblank
600

Diese Datei ist schreibgeschützt und das Timeout wird in Sekunden angegeben. Die aktuelle Standardeinstellung scheint 10 Minuten zu sein.

Sie können den folgenden Befehl diesen Wert ändern , um mit der Eingabe auf einer virtuellen Konsole (wenn Sie in einem xterm sind , müssen Sie über treffen zB auf eine virtuelle Konsole ändern Ctrl+ Alt+ F1).

$ setterm -blank VALUE

Wobei der neue WERT in Minuten angegeben wird . Ein Wert von 0 deaktiviert die Ausblendung:

$ cat /sys/module/kernel/parameters/consoleblank
600
$ setterm -blank 0
$ cat /sys/module/kernel/parameters/consoleblank
0

setterm hat andere Energiesparoptionen, die nützlichste Kombination scheint zu sein:

$ setterm -blank 0 -powersave off

Um das Löschen der virtuellen Konsole beim Start dauerhaft / automatisch zu deaktivieren, haben Sie folgende Möglichkeiten:

  1. consoleblank=0zu den Kernel-Parametern hinzufügen (Grub-Konfiguration bearbeiten)
  2. Fügen Sie den setterm -blank 0Befehl einem rc-localoder einem gleichwertigen Startskript hinzu
  3. addiere die settermAusgabe zu /etc/issuesince /etc/issuewird auf jeder virtuellen Konsole ausgegeben:

    # setterm -blank 0 >> /etc/issue

Wählen Sie eine der oben genannten Alternativen.


2
PS: Auf einem Ubuntu 11.10-System (Thinkpad X200) ist mir ein Fehler aufgefallen, bei dem das Löschen der Konsole durch den Kernel eine laufende X11-Sitzung stört. Das bedeutet, dass genau 10 Minuten nach dem letzten Tastendruck die X11-Anzeigefelder leer sind und Sie zu einer virtuellen Konsole wechseln müssen, um den X11-Bildschirm wiederherzustellen (was zB bei der Videowiedergabe sehr ärgerlich ist). Dies ist unabhängig von den DPMS / Bildschirmschoner-Einstellungen unter X11 (think xsetetc.). Das Deaktivieren der virtuellen Konsolenausblendung, wie oben beschrieben, ist daher eine schnelle Problemumgehung für betroffene Systeme.
Maxschlepzig

Hmmm. Aus irgendeinem Grund wird /sys/module/kernel/parameters/consoleblankauf meinem CentOS 5.x-Server nichts angezeigt. Könnte es unter einem anderen Namen gesetzt werden?
Mike B

1
Auf RHEL 5 und 6, fand ich , dass die Inbetriebnahme /bin/setterm -blank 0 -powerdown 0 -powersave offin /etc/rc.localfunktionieren würde groß. Bei RHEL 7 würde dies jedoch fehlschlagen. Das Hinzufügen consoleblank=0von Kernelparametern funktioniert auf dieser Plattform.
David C.

7
Bitte beachten Sie, dass Sie nicht settermin einer virtuellen Konsole ausgeführt werden müssen. Sie können es auch weiterleiten: setterm -blank 0 > /dev/tty1funktioniert einwandfrei. Sie können auch verwenden setterm -blank < /dev/tty1, um den aktuellen Wert von tty1 abzufragen oder setterm -blank force < /dev/tty1das Ausblenden zu erzwingen.
Alexander Amelkin

@AlexanderAmelkin - Redirects zu / from / dev / tty1 funktionieren in RHEL 7 nicht. Welche Distribution haben Sie verwendet, um das zu tun? / dev / tty1 ist zwar die lokale Konsole, aber weder diese noch / dev / console schienen etwas zu tun.
Paul

15

Versuchen Sie Folgendes:

setterm -blank

1
@markus_b: Fügen Sie diesen Befehl also einem Init-Skript hinzu ( /etc/init/markus-console.confwenn Sie beispielsweise Upstart verwenden oder /etc/init.d/markus-console.shSymlinks /etc/rd?.dfür SysVinit verwenden, sind mir die tatsächlichen SuSE-Speicherorte nicht bekannt).
Gilles

2
@mattdm, nicht wahr - in der systemdRegel kommt mit einem rc-localKompatibilitätsdienst - oder Sie können einfach benutzerdefinierte Dienste hinzufügen ...
maxschlepzig

3
@mattdm Warum könnten Sie nicht einfach eine Unit schreiben, die diesen Befehl ausführt?
kyrias

1
TIPP : Beenden Sie zuerst tmux , sonst funktioniert das nicht.
Cody Hess


14

Laut: https://wiki.archlinux.org/index.php/Display_Power_Management_Signaling#DPMS_Interaction_in_a_console_with_setterm

Verhindern, dass sich der Bildschirm ausschaltet (in der Konsole)

$ setterm -blank 0 -powerdown 0

Alternativ können Sie das Löschen der Konsole mit dem folgenden Befehl dauerhaft deaktivieren:

# echo -ne "\033[9;0]" >> /etc/issue


3
Die zweite Lösung funktioniert wie ein Zauber in Marvell ARM Debian. Alle anderen Lösungen machen nichts.
Alexey Sviridov

13

Ich habe die folgende Konfiguration implementiert und getestet, die derzeit auf meinem Arbeitspferd sles10 einwandfrei funktioniert.

Im

/etc/init.d/boot.local

hinzufügen

setterm -blank

es sieht so aus, als ob es alles ist, was es braucht. Vielen Dank für Uku Loskit und Gilles für den Vorstoß in die richtige Richtung.


1
Ich habe deine Antwort gnadenlos bearbeitet, also zögere nicht, einen Rollback durchzuführen, wenn es dir nicht gefällt. Bitte akzeptieren Sie auch Ihre Antwort, da dies die eigentliche Lösung ist. Sie sollten eine Antwort nicht akzeptieren, nur weil Sie dankbar sind, dass sie Sie zur eigentlichen Antwort geführt hat, wenn es tatsächlich eine bessere Antwort gibt.
Tshepang

Sorry, wie die Originalversion besser.
markus_b

Ich musste die am besten bewerteten Antworten hinzufügen - Energie sparen, da das Ipmi auf meinem Systemboard dumm wurde, wenn es nicht beide Teile davon hatte. Leider werden die Einstellungen zwischen den Verwendungszwecken nicht beibehalten, und wenn diese Funktionen in das Fenster eintreten, wird das Fenster im Abstand von ein bis zwei Sekunden nacheinander um etwa 4 verschiedene Größen verschoben. Kick den Begriff aus Strom sparen :(
Kendrick

13

Die einzige dauerhafte Lösung ist das Hinzufügen consoleblank=0zur Kernel-Befehlszeile. Sie können den Wert (der standardmäßig 600 Sekunden beträgt) anzeigen in:

/sys/module/kernel/parameters/consoleblank

(Beachten Sie, dass die Datei schreibgeschützt ist). Die einzige Möglichkeit, den Wert von consoleblank zu ändern, ist ein Neustart mit der neuen Kernel-Befehlszeilenoption.


3
Der letzte Satz ist falsch - Sie müssen nicht neu starten, um den Wert von zu ändern consoleblank. Siehe meine Antwort.
Maxschlepzig

Ich habe nicht festgestellt, dass setterm -blank zuverlässig funktioniert. Es scheint manchmal zurückgesetzt zu werden, nachdem Sie sich abgemeldet oder zu anderen virtuellen Terminals gewechselt haben.
Amcnabb

Um diese permanente Einstellung mit grub hinzuzufügen, bearbeiten Sie /boot/grub/grub.conf und fügen Sie consoleblank = 0 an die Zeilen an, die mit "kernel / boot / vmlinuz ..." beginnen. Starten Sie dann neu.
Hoylen

1
"nur" scheint hier wie ein
Fadenwort

5

Wenn Sie nur Bildschirm leer, nachdem die Benutzeranmeldung verhindern wollen, dann müssen nur anhängen setterm -powersave off -blank 0zu $HOME/.bash_profileder jeweiligen Benutzer.


5

Ich war von diesem Problem wirklich verärgert. Alle oben genannten Tricks mit setterm und Redirect von / nach / dev / tty0 haben mit meinem ssh nicht funktioniert.

Dann erkannte ich eine Möglichkeit, es zu deaktivieren:

TERM=linux setterm -blank 0 -powerdown 0  -powersave off >/dev/tty0 </dev/tty0

TERM = Linux ersetzt das Standard-TERM (xterm-256color auf meinem Computer) und hilft setterm dabei, die richtigen Parameter von tty0 abzufragen.

Sie können das Ergebnis überprüfen, indem Sie

cat /sys/module/kernel/parameters/consoleblank

Es sollte 0. Wenn es 600 ist, hat Trick nicht geklappt.


3

/usr/bin/setterm -powerdown 0 könnte auch helfen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.