Désactiver le masquage d'écran sur la console texte

75

J'utilise des clusters Linux, principalement sur SLES10. Les serveurs sont principalement des lames, accessibles via une console distante. Il y a une vraie console dans la salle des serveurs, mais éteinte.

Je voudrais désactiver le masquage de l'écran car il ne sert à rien et est une nuisance. Vous devez appuyer sur la touche pour voir si vous êtes connecté, ce qui est pénible. Nous fonctionnons au niveau d'exécution 3, donc la console est en mode texte, pas de X11 impliqué.

markus_b
la source
SLES10 utilise SysV init. Beaucoup de distributions utilisent systemd, voici une solution possible pour Arch . Les systèmes Debian 6 et 7 utilisent kbd par défaut, cliquez ici .
basic6
Pour Debian, voir unix.stackexchange.com/questions/238846 .
JdeBP 10/10

Réponses:

85

Vous pouvez vérifier quel délai le noyau utilise pour la suppression de la console virtuelle via:

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

Ce fichier est en lecture seule et le délai d'attente est spécifié en secondes. La valeur par défaut semble être 10 minutes.

Vous pouvez modifier cette valeur avec la commande suivante sur une console virtuelle (si vous êtes à l' intérieur d' un xterm vous devez passer à une console virtuelle via frapper par exemple Ctrl+ Alt+ F1).

$ setterm -blank VALUE

Où la nouvelle valeur est spécifiée en minutes . Une valeur de 0 désactive la suppression:

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

setterm a d’autres options liées à l’économie d' énergie , la combinaison la plus utile semble être:

$ setterm -blank 0 -powersave off

Ainsi, pour désactiver de manière permanente / automatique la suppression de la console virtuelle au démarrage, vous pouvez:

  1. ajouter consoleblank=0aux paramètres du noyau (modifier la configuration de grub)
  2. ajouter la setterm -blank 0commande à un rc-localscript de démarrage ou équivalent
  3. ajoutez la settermsortie à /etc/issuepuisque /etc/issueest sortie sur chaque console virtuelle:

    # setterm -blank 0 >> /etc/issue

Choisissez une alternative parmi celles ci-dessus.

maxschlepzig
la source
2
PS: Sur un système Ubuntu 11.10 (Thinkpad X200), j’ai remarqué un bogue dans lequel la suppression de la console par le noyau interférait avec une session X11 en cours d’exécution. Cela signifie que exactement 10 minutes après la dernière touche, appuyez sur les blancs d’affichage X11 et vous devez passer à une console virtuelle pour récupérer l’écran X11 (très gênant lors de la lecture vidéo, par exemple). Ceci est indépendant des réglages liés à DPMS / screensaver sous X11 (pensez xsetetc.). Par conséquent, la désactivation de la suppression de la console virtuelle telle que décrite ci-dessus constitue une solution de contournement rapide pour les systèmes affectés.
maxschlepzig
hmmm. Pour une raison quelconque, je ne vois pas /sys/module/kernel/parameters/consoleblanksur mon serveur CentOS 5.x. Pourrait-il être placé sous un nom différent?
Mike B
1
Sur RHEL 5 et 6, j'ai trouvé que la mise /bin/setterm -blank 0 -powerdown 0 -powersave offen place /etc/rc.localfonctionnerait très bien. Sur RHEL 7, cependant, cela échouerait. L'ajout consoleblank=0aux paramètres du noyau fonctionne sur cette plate-forme.
David C.
7
Veuillez noter que vous ne devez pas réellement exécuter settermdans une console virtuelle. Vous pouvez aussi le rediriger vers: cela setterm -blank 0 > /dev/tty1fonctionne très bien. Ou vous pouvez utiliser setterm -blank < /dev/tty1pour interroger la valeur actuelle de tty1 ou setterm -blank force < /dev/tty1pour forcer la suppression.
Alexander Amelkin
@AlexanderAmelkin - les redirections vers / depuis / dev / tty1 ne fonctionnent pas dans RHEL 7. Quelle distribution utilisiez-vous pour faire cela? / dev / tty1 est bien la console locale, mais ni cela ni / dev / console ne semblaient faire quoi que ce soit.
Paul
15

Essayez d'utiliser ceci:

setterm -blank
Uku Loskit
la source
1
@markus_b: Ajoutez donc cette commande à un script d'initialisation (comme /etc/init/markus-console.confsi vous utilisiez Upstart ou des /etc/init.d/markus-console.shliens symboliques plus /etc/rd?.dpour SysVinit, je ne connais pas les emplacements réels de SuSE).
Gilles 'SO- arrête d'être méchant'
2
@mattdm, pas vrai - systemdvient généralement avec un rc-localservice de compatibilité - ou vous pouvez facilement ajouter des services personnalisés ...
maxschlepzig
3
@mattdm Pourquoi ne pourriez-vous pas écrire une unité qui exécute cette commande?
Kyrias
1
CONSEIL: quittez tmux d’ abord, sinon cela ne fonctionnera pas.
Cody Hess
14

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

Empêcher l'écran de s'éteindre (dans la console)

$ setterm -blank 0 -powerdown 0

Vous pouvez également désactiver le masquage de console de manière permanente à l'aide de la commande suivante:

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

Grzegorz Wierzowiecki
la source
3
La deuxième solution fonctionne comme un charme pour Marvell ARM Debian. Toutes les autres solutions ne font rien.
Alexey Sviridov
13

J'ai implémenté et testé la configuration suivante, qui fonctionne bien sur sles10, mon cheval de bataille pour le moment.

Dans

/etc/init.d/boot.local

ajouter

setterm -blank

on dirait que c'est tout ce qu'il faut. Merci à Uku Loskit et à Gilles pour cette initiative dans la bonne direction.

markus_b
la source
1
J'ai édité votre réponse sans merci, alors n'hésitez pas à annuler si vous ne l'aimez pas. Acceptez également votre réponse, car c’est la solution actuelle. Vous ne devez pas accepter une réponse simplement parce que vous êtes reconnaissant, cela vous a conduit à la réponse réelle, s'il existe réellement une meilleure réponse.
Tshepang
Désolé, comme la version originale mieux.
markus_b
Je devais ajouter les réponses les plus votées - une économie d'énergie car l'ipmi de mon système devenait stupide s'il ne comportait pas les deux parties. Malheureusement, les réglages ne sont pas conservés entre les utilisations. Lorsque ces fonctions apparaissent dans la fenêtre, elles apparaissent au premier plan et commencent à faire défiler la fenêtre à travers environ 4 tailles différentes une fois par seconde ou deux, ce qui rend pratiquement impossible de saisir la fenêtre et de la redimensionner manuellement. coup le terme d'économie d'énergie :(
Kendrick
13

La seule solution permanente consiste à ajouter consoleblank=0à la ligne de commande du noyau. Vous pouvez afficher la valeur (qui est définie par défaut à 600 secondes) dans:

/sys/module/kernel/parameters/consoleblank

(notez que le fichier est en lecture seule). Le seul moyen de modifier la valeur de consoleblank consiste à redémarrer avec la nouvelle option de ligne de commande du noyau.

Amcnabb
la source
3
La dernière phrase est fausse - vous n'avez pas besoin de redémarrer pour changer la valeur de consoleblank. Voir ma réponse.
maxschlepzig
Je n'ai pas trouvé setterm -blank pour travailler de manière fiable. Il semble parfois se réinitialiser après la déconnexion ou le basculement vers d'autres terminaux virtuels.
amcnabb
Pour ajouter ce paramètre permanent avec grub, éditez /boot/grub/grub.conf et ajoutez consoleblank = 0 aux lignes commençant par "kernel / boot / vmlinuz ...". Puis redémarrez.
Hoylen
1
"Seulement" semble être un mot de chaîne ici ...
Notlesh
5

Si vous souhaitez uniquement empêcher la suppression de l'écran après la connexion de l'utilisateur, il vous suffit d'ajouter setterm -powersave off -blank 0à $HOME/.bash_profilechaque utilisateur.

jurijcz
la source
5

J'ai été vraiment bouleversé par ce problème. Toutes les astuces ci-dessus avec setterm et rediriger de / vers / dev / tty0 n'ont pas fonctionné à partir de mon ssh.

Puis j'ai réalisé un moyen de le désactiver:

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

TERM = linux remplace TERM par défaut (qui est xterm-256color sur ma machine) et aide setterm à interroger les paramètres appropriés à partir de tty0.

Vous pouvez vérifier le résultat par

cat /sys/module/kernel/parameters/consoleblank

Il devrait être 0. Si c'est 600, l'astuce n'a pas fonctionné.

George Shuklin
la source
3

/usr/bin/setterm -powerdown 0 pourrait aider aussi

cnd
la source