Comment désactiver de manière permanente l'économiseur d'écran de la console Linux, à l'échelle du système?

42

J'ai un serveur Ubuntu qui démarre en mode texte. Il est rare qu'un écran ou un clavier soit connecté, mais lorsque je connecte un écran, je dois généralement également connecter un clavier, car l'économiseur d'écran en mode console est activé et je dois appuyer sur une touche pour voir ce qui se trouve passe.

Je suis conscient que la commande setterm peut désactiver ceci, mais c'est une chose par session. Comment puis-je faire en sorte que la machine n’efface jamais l’écran en mode texte, même lorsqu’elle a été démarrée et restée à l’invite de connexion?

Raldi
la source
Il semble y avoir une bonne réponse à askubuntu: askubuntu.com/questions/138918/…
Roy
J'ai décrit deux approches différentes dont j'avais besoin pour diverses distributions RHEL. L'un d'eux peut vous aider avec Ubuntu: superuser.com/a/1004931/197972
David C.

Réponses:

23

Dans Ubuntu 12.10 et les versions antérieures, le paquet console-tools permet de contrôler les options de la console.

Pour désactiver le masquage d’écran et la mise hors tension, définissez BLANK_TIMEet POWERDOWN_TIMEsur 0dans /etc/console-tools/config. Si vous préférez ne pas modifier le fichier de configuration, vous pouvez obtenir le même effet en créant un nouveau fichier /etc/console-tools/config.dcontenant les éléments suivants:

BLANK_TIME=0
POWERDOWN_TIME=0

Le nom du fichier dans config.d doit être entièrement composé de lettres majuscules et minuscules, de chiffres, de traits de soulignement et de traits d'union.

Phil Ross
la source
Comment tu sais ça? J'ai parcouru Internet toute la matinée à la recherche de la documentation de / etc / console-tools et je n’ai pas pu en trouver.
Raldi
10
Mot d'avertissement avec ceci: j'ai installé console-tools sur le serveur Ubuntu 12.04, ai effectué la configuration ci-dessus et l'a complètement bouleversée ... Je ne sais pas ce que j'ai fait de mal, mais si cela arrive à quelqu'un d'autre comme moi!), démarrage de la récupération -> invite racine -> mount -o remount, rw / -> apt-get remove console-tools -> redémarrage
BaronVonKaneHoffen
Cela n'existe pas sur Ubuntu 18.04 :( - pas d'alternative?
Roman Gaufman
17

Ou vous utilisez / etc / kbd / config pour configurer (dépend de votre système, de ce qui est installé)

BLANK_TIME=0
BLANK_DPMS=off
Thomas Creutz
la source
Que dois-je redémarrer lors du changement de configuration KBD?
Frodik
1
Semble être /etc/init.d/kbd reload
Vincent
2
J'ai essayé ceci dans une nouvelle installation d'Ubuntu Server 10.04.4 et 12.04.1, et cela ne fonctionnait pas dans les deux cas.
Prof. Moriarty
A quelles distributions cela s'applique-t-il?
Michael Hampton
Cela fonctionne sur Debian 6 et 7. Ce fichier de configuration définit BLANK_TIME=30par défaut.
basic6
15

Le paramètre est contrôlé via la ligne de commande du noyau, l’utilisation de setterm ne modifiant que les paramètres d’exécution. Pour le désactiver au niveau du système, vous pouvez modifier votre ligne de commande d’amorçage du noyau en l’ajoutant avec «consoleblank = 0» dans votre configuration d’amorçage (grub / lilo).

Si quelque chose pendant le setterm de démarrage, alors il écrasera la valeur.

Matthew Ife
la source
3
Comme on le voit sur superuser.com/questions/152347/… !
Codehead
En utilisant grub2, il pourrait être ajouté dans / etc / default / grub GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"puis en mettant à jour la configuration de grub avec grub[2]-mkconfig -o /boot/grub/grub.cfg. Ou bien, il peut être intégré à la ligne de commande du noyau intégrée lors de la configuration et de la compilation manuelles du noyau.
user3132194
7

Si vous ajoutez la settermcommande à /etc/rc.local, elle devrait s’appliquer à toutes les consoles virtuelles, qu’un utilisateur y soit ou non connecté. Par exemple:

setterm -blank 0
James Sneeringer
la source
Cela ne semble pas vraiment fonctionner dans rc.local.
Raldi
Cela a fonctionné pour moi dans le passé sur des systèmes de type RedHat. Il se peut que Debian / Ubuntu se charge rc.localà une heure légèrement différente de celle de RH. Désolé pour ça.
James Sneeringer
Ne fonctionne pas sur CentOS 6.3. L’écran continue à s’effacer après 10 minutes.
Michael Hampton
1
J'ai trouvé que cela fonctionnait pour RHEL 5 et 6 ( /bin/setterm -blank 0 -powerdown 0 -powersave off), mais pas pour 7. Le succès ou l'échec dépend probablement de votre distribution et de l'environnement de la console au moment de l'exécution de rc.local.
David C.
Je reçois ce <~ $ sudo setterm -blank 0 setterm: le terminal xterm-256color ne prend pas en charge --blank
Roman Gaufman
4

Si vous utilisez une Ubuntu plus récente utilisant upstart, vous pouvez utiliser:

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

Une petite explication de ce qui se passe ici:

Les versions les plus récentes d'Ubuntu utilisent la méthode upstart pour démarrer le système. Avec Upstart, les consoles Linux sont configurées avec des fichiers de configuration stockés dans / etc / init. La commande ci-dessus commence par parcourir chacun de ces fichiers de configuration:

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

Le nom de fichier de configuration upstart du tty dans $ file est utilisé pour construire le nom du périphérique tty:

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

Une commande "post-start" upstart est créée, qui exécute "setterm" pour désactiver le masquage d'écran et l'économie d'énergie après le démarrage du terminal:

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

Et enfin, cette commande est ajoutée au fichier de configuration upstart:

| sudo tee -a "$file";
Chris Pick
la source
Votre réponse serait bien meilleure si vous décriviez réellement ce qui se passe ici. Donner une telle commande sans explication n’est pas très utile.
Zoredache
@ Zoredache vous avez raison, j'ai ajouté une explication. Merci pour les commentaires.
Chris Pick
2
Daxroc
la source