Comment changer le comportement de suppression d'écran sur les terminaux virtuels Linux?
Par exemple, si je passe à un VT à partir de X, que je me connecte et que je laisse le système tranquille pendant environ 5 minutes, l’écran s’affichera comme un économiseur d’écran. Il revient avec n'importe quelle touche, comme un économiseur d'écran.
La plupart du temps, je veux juste changer le délai d'attente, mais je suis également intéressé par d'autres paramètres.
Si cela peut aider, l’un de mes systèmes exécute Ubuntu 10.04 avec les pilotes graphiques courants. fbset
montre la console en utilisant le radeondrmfb
framebuffer.
linux
console
screensaver
framebuffer
virtual-terminal
Quack Quack
la source
la source
Réponses:
setterm
La réponse de @ whitequark est un outil d'espace utilisateur raisonnable, mais ce n'est pas toute l'histoire.Le comportement de suppression de la console par défaut est intégré au noyau lors de la compilation. Il est configurable au démarrage avec le paramètre consoleblank = , ou en espace utilisateur avec
setterm
. Dans la documentation du noyau ( kernel-parameters.txt ):Voici les options, leurs valeurs par défaut sur mon système Ubuntu et leurs sphères d'influence:
setterm -blank [0-60]
; indique toujours 0 lorsqu'il est interrogé; efficace lorsqu'il est exécuté sur un vrai VT; affecte tous les vrais ATS; non efficace lorsqu'il est exécuté dans des sessions d'écran sur un VT.setterm -powerdown [0-60]
; rapporte toujours "3]" (??); ne semble pas avoir d'effet. Les noyaux Ubuntu n'activent pas APM_DISPLAY_BLANK , ce qui pourrait être lié.consoleblank=N
; par défaut à 600 (10 minutes); affecte tous les vrais TP; affecte les sessions d'écran dans un VT; aucun moyen de définir en cours d'exécution.Donc, mes options pour changer la valeur par défaut sont l’une des suivantes:
setterm -blank X
(X en quelques minutes, 0 à désactiver) à un fichier d'initialisation de shell tel que .bashrc .setterm -blank X
à /etc/rc.local .consoleblank=Y
(Y en secondes, 0 à désactiver) à la ligne de commande du noyau en l'ajoutant aux listes de paramètres dans / etc / default / grub , soit GRUB_CMDLINE_LINUX ou GRUB_CMDLINE_LINUX_DEFAULT . (N'oubliez pas deupdate-grub
.)la source
setterm -blank X
cela ne fonctionnait pas pour moi à partir de tmux , mais fonctionnait parfaitement lorsque je quittais tmux avant d'exécuter la commande.GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"
, puis mettre à jour votre configuration grub avecgrub[2]-mkconfig -o /boot/grub/grub.cfg
.3]
carsetterm -powerdown
n'est que la moitié vraie:setterm -powerdown 3 | hexdump -c
revient033 [ 1 4 ; 3 ]
. Vous ne savez pas ce qui doit interpréter cette séquence d'échappement ...Essayez
setterm -blank $minutes
(ou passez 0 pour désactiver);-powersave
option peut également être liée.setterm
a beaucoup d'autres options utiles, aussi.Si vous souhaitez définir ces attributs au démarrage du système, envisagez d'écrire un script initscript. Ceci est juste un script placé dans le
/etc/init.d
répertoire. Qu'on l'appellesetterm
:Puis rendez-le exécutable:
Et enfin, créez les liens symboliques /etc/rcX.d (à la manière de Debian):
(Si vous en avez assez de ce comportement, faites-le
# update-rc.d -f setterm remove
. Notez que ce-f
doit être le premier argument).la source
-powerdown
paramètre en vigueur. Qu'en est-il de définir une valeur par défaut au démarrage, à l'échelle du système? est en cours d'exécutionsetterm -blank X
ousetterm -powerdown Y
dans /etc/rc.local (ou ~ / .bashrc ) raisonnable?rc.local
fonctionne réellement. (Laupstart
migration récente a bousillé certaines choses, car elle existe apparemment et fonctionne sur mon système.) Sinon, vous devez créer un script initscript. C'est simple: dans notre cas, il doit tout initialiser lorsqu'il est passé enstart
tant que premier argument et ne rien faire sinon. Je vais décrire cela dans ma réponse.setterm -blank X >/dev/ttyN
ne semble pas fonctionner, donc je ne pense pas que le concept initscript fonctionnera. couru à travers un paramètre boottime tho et fait quelques recherches plus. je semble me tromper à propos de-powerdown
et-powersave
; n'ont pas été complètement testés mais ceux-ci ne fonctionnent pas sur mon système.setterm -blank X
fonctionne uniquement à partir d’un VT réel et affecte tous les VT. Il est donc raisonnable d’ exécuter une fois via /etc/rc.local . (Upstart n'enlève pas rc.local , juste le truc /etc/rcX.d .)setterm
émet des séquences d'échappementstdout
, mais vérifie le type de TTY avecstdin
: Je viens de vérifier etsetterm ... >/dev/ttyN </dev/ttyN
fonctionne comme prévu.Si quelqu'un recherche une autre solution possible pour Debian (éventuellement pas Ubuntu):
Dans
/etc/kbd/config
, recherchez un paramètre appelé "BLANK_TIME":Changez le en 0, cela le désactivera:
Testé sur Debian 6 et 7.
la source
Si vous utilisez une Ubuntu plus récente utilisant upstart, vous pouvez utiliser:
Une petite explication de ce qui se passe ici:
Les versions les plus récentes d'Ubuntu utilisent la méthode upstart pour le démarrage du 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:
Le nom du fichier de configuration upstart du tty dans $ file est utilisé pour construire le nom du périphérique tty:
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:
Et enfin, cette commande est ajoutée au fichier de configuration upstart:
la source
Sur mes systèmes (différentes versions de RedHat Enterprise Linux), j'ai constaté que différentes approches sont nécessaires.
Pour mes systèmes RHEL 5 et 6, je peux ajouter la ligne
/bin/setterm -blank 0 -powerdown 0 -powersave off
à
/etc/rc.local
. Ceci désactive la suppression de l'écran de la console au démarrage du système.J'ai trouvé que cela ne fonctionnait pas sur les systèmes RHEL 7. Sous RHEL7, l’exécution de setterm à partir de rc.local entraîne la génération d’une erreur:
setterm: $TERM is not defined.
La commande fonctionne à partir d'un shell interactif, où $ TERM est défini (en tant que
linux
). Si je force setterm à l'utiliser:/bin/setterm -term linux -blank 0 -powerdown 0 -powersave off
Ensuite, je reçois une erreur différente:
setterm: cannot (un)set powersave mode: Inappropriate ioctl for device
Même si la même commande fonctionne correctement à partir d'une session interactive. La définition du
consoleblank
paramètre du noyau a fonctionné.Sur RHEL7, modifiez
/etc/default/grub
et ajoutezconsoleblank=0
leGRUB_CMDLINE_LINUX
paramètre. Puis lancezgrub2-mkconfig -o /boot/grub2/grub.cfg
et redémarrez.Je n'ai pas essayé de régler
consoleblank
sur RHEL5 ou 6.la source
</dev/tty1 >/dev/tty1
quelque chose ou faire en sorte que cela fonctionneSéquences CSI privées de la console Linux
Pour définir l'
sleep mode/screensaver
heure d'entrée (où X est une heure en minute; 0 = jamais):(depuis la console série)
ou (depuis la console framebuffer)
ou pour le définir à chaque démarrage, utilisez
/etc/inittab
:réfs:
la source
L'ajout
gnome-screensaver-command --exit
à mon.profile
fichier a résolu ce problème pour moi sous Debian Linux (Wheezy).Je pensais que j'ajouterais ceci pour aider les autres qui se tirent les cheveux en essayant d'arrêter le blanking.
Une case à cocher intitulée "Dim écran pour économiser de l'énergie" ne fonctionne pas correctement. Même décoché, il restera TOUJOURS vide l’écran en fonction du temps d’inactivité sélectionné.
MISE À JOUR: J'avais réellement besoin
sleep 30 && /usr/bin/gnome-screensaver-command --exit &
de le faire fonctionner correctement. L'économiseur d'écran GNOME semble démarrer longtemps après le traitement du fichier .profile.la source