Wie deaktiviere ich den konsolenweiten Bildschirmschoner von Linux dauerhaft?

42

Ich habe einen Ubuntu-Server, der im Textmodus startet. Es ist selten ein Bildschirm oder eine Tastatur angeschlossen, aber wenn ich einen Bildschirm anhänge, muss ich normalerweise auch eine Tastatur anhängen, da der Bildschirmschoner im verdammten Konsolenmodus aktiviert ist und ich eine Taste drücken muss, um zu sehen, was ist los.

Ich bin mir bewusst, dass der Befehl setterm dies deaktivieren kann, aber es ist eine Sache pro Sitzung. Wie kann ich dafür sorgen, dass der Computer niemals den Bildschirm im Textmodus leerlässt, selbst wenn er zum ersten Mal hochgefahren wird und sich an der Anmeldeaufforderung befindet?

raldi
quelle
Scheint auf askubuntu nett beantwortet zu werden: askubuntu.com/questions/138918/…
Roy
Ich schrieb über zwei verschiedene Ansätze, die ich für verschiedene RHEL-Distributionen benötigte. Einer von ihnen kann Ihnen bei Ubuntu helfen: superuser.com/a/1004931/197972
David C.

Antworten:

23

In Ubuntu 12.10 und früheren Versionen ermöglicht das Paket console-tools die Steuerung von Konsolenoptionen.

Um den Bildschirmschoner auszuschalten und Power - Down, Set BLANK_TIMEund POWERDOWN_TIMEzu 0in /etc/console-tools/config. Wenn Sie die Konfigurationsdatei nicht ändern möchten, können Sie den gleichen Effekt erzielen, indem Sie eine neue Datei erstellen /etc/console-tools/config.d, die Folgendes enthält:

BLANK_TIME=0
POWERDOWN_TIME=0

Der Name der Datei in config.d muss vollständig aus Groß- und Kleinbuchstaben, Ziffern, Unterstrichen und Bindestrichen bestehen.

Phil Ross
quelle
Woher weißt du das? Ich habe den ganzen Morgen im Internet nach der Dokumentation für / etc / console-tools gesucht und keine gefunden.
Raldi
10
Ein Wort der Warnung: Ich habe Console-Tools auf Ubuntu Server 12.04 installiert, die obige Konfiguration durchgeführt und sie vollständig aktualisiert wie ich), Booten Erholung -> Rootprompt -> mount -o remount, rw / -> apt-get remove console-tools -> Neustart
BaronVonKaneHoffen
Dies gibt es nicht auf Ubuntu 18.04 :( - Alternativen?
Roman Gaufman
17

Oder Sie verwenden / etc / kbd / config zum Einrichten (abhängig von Ihrem System, was installiert ist)

BLANK_TIME=0
BLANK_DPMS=off
Thomas Creutz
quelle
Was starte ich neu, wenn sich die KBD-Konfiguration ändert?
Frodik
1
Scheint /etc/init.d/kbd reload zu sein
Vincent
2
Ich habe dies in einer Neuinstallation von Ubuntu Server 10.04.4 und 12.04.1 versucht, und es hat in beiden Fällen nicht funktioniert.
Prof. Moriarty
Für welche Distributionen gilt das?
Michael Hampton
Dies funktioniert unter Debian 6 und 7. Diese Konfigurationsdatei BLANK_TIME=30wird standardmäßig gesetzt.
basic6
15

Der Parameter wird über die Kernel-Kommandozeile gesteuert, mit setterm werden lediglich die Laufzeiteinstellungen geändert. Um es systemweit zu deaktivieren, können Sie die Boot-Befehlszeile Ihres Kernels ändern, indem Sie in Ihrer Boot-Konfiguration (grub / lilo) "consoleblank = 0" anhängen.

Wenn etwas beim Booten passiert, überschreibt es den Wert.

Matthew Ife
quelle
Mit grub2 könnte es in / etc / default / grub hinzugefügt GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"und dann mit grub config aktualisiert werden grub[2]-mkconfig -o /boot/grub/grub.cfg. Oder es kann in die eingebaute Kernel-Befehlszeile eingebettet werden, während der Kernel manuell konfiguriert und kompiliert wird.
user3132194
7

Wenn Sie den settermBefehl hinzufügen /etc/rc.local, sollte er für alle virtuellen Konsolen wirksam werden, unabhängig davon, ob ein Benutzer bei ihnen angemeldet ist oder nicht. Z.B:

setterm -blank 0
James Sneeringer
quelle
Das scheint in rc.local nicht zu funktionieren.
raldi
Es hat für mich in der Vergangenheit auf RedHat-Systemen funktioniert. Es könnte sein, dass Debian / Ubuntu rc.localzu einer etwas anderen Zeit als RH geladen wird . Das tut mir leid.
James Sneeringer
Funktioniert nicht unter CentOS 6.3. Der Bildschirm wird nach 10 Minuten weiterhin ausgeblendet.
Michael Hampton
1
Ich habe festgestellt, dass dies für RHEL 5 und 6 ( /bin/setterm -blank 0 -powerdown 0 -powersave off) funktioniert , jedoch nicht für 7. Erfolg oder Misserfolg hängen wahrscheinlich von Ihrer Distribution und der Konsolenumgebung zum Zeitpunkt der Ausführung von rc.local ab.
David C.
Ich bekomme dieses <~ $ sudo setterm -blank 0 setterm: terminal xterm-256color unterstützt kein --blank
Roman Gaufman
4

Wenn Sie ein neueres Ubuntu verwenden, das Upstart verwendet, können Sie Folgendes verwenden:

for file in /etc/init/tty*.conf; do tty="/dev/`basename $file .conf`"; echo "post-start exec setterm -blank 0 -powersave off >$tty <$tty" | sudo tee -a "$file"; done

Eine kleine Erklärung, was hier los ist:

Neuere Ubuntu-Versionen verwenden upstart für den Systemstart. Bei einem Neustart werden die Linux-Konsolen mit Konfigurationsdateien eingerichtet, die in / etc / init gespeichert sind. Der obige Befehl beginnt mit der Iteration über jede dieser Konfigurationsdateien:

for file in /etc/init/tty*.conf;

Der Name der Upstart-Konfigurationsdatei des tty in $ file wird verwendet, um den Namen des tty-Geräts zu erstellen:

tty="/dev/`basename $file .conf`";

Es wird ein Startbefehl "post-start" erstellt, der "setterm" ausführt, um die Bildschirmaustastung und das Energiesparen nach dem Start von tty zu deaktivieren:

echo "post-start exec setterm -blank 0 -powersave off >$tty <$tty"

Und zum Schluss wird dieser Befehl an die upstart-Konfigurationsdatei angehängt:

| sudo tee -a "$file";
Chris Pick
quelle
Ihre Antwort wäre viel besser, wenn Sie tatsächlich beschreiben würden, was hier vor sich geht. Nur so ein großes Kommando ohne Erklärung zu geben, ist nicht sehr nützlich.
Zoredache
@Zoredache du hast recht, ich habe eine Erklärung hinzugefügt. Danke für die Rückmeldung.
Chris Pick
2
daxroc
quelle