Réponses:
Cela vous donne un bloc jaune solide (non clignotant) comme curseur:
echo -n -e '\e[?17;14;224c'
Pour plus d'informations, consultez ces références: Linuxgazette et EmacsWiki ainsi que le fichier /usr/src/linux/Documentation/VGA-softcursor.txt
(si présent sur votre système)
echo -e '\033[?16;0;224c'
Il existe une séquence de contrôle standard pour désactiver le clignotement du curseur sur les terminaux.
printf '\033[?12l'
Cependant, de nombreux terminaux n'implémentent pas ce paramètre, alors lisez la suite.
Il existe un paramètre de terminal standard plus largement mis en œuvre pour basculer la visibilité du curseur entre haute visibilité, visibilité normale et invisibilité. Certains terminaux ne font pas de différence entre normal et élevé, et rien ne garantit que l'un ou l'autre clignotera ou non. Dans terminfo , émettez la chaîne cvvis
, cnorm
ou civis
(par exemple tput cvvis
). Les entrées correspondantes de termcap sont vs
, ve
et vi
.
Ces paramètres ne survivront pas à une réinitialisation du terminal , vous pouvez donc constater qu'il ne survit pas au lancement de nombreuses applications en plein écran. Vous pouvez surmonter cette difficulté en ajoutant la séquence de changement de configuration du curseur à la chaîne de réinitialisation de votre terminal.
infocmp >>~/etc/terminfo.txt
. Modifiez la description pour modifier la rs1
séquence (réinitialisation de base), par exemple, remplacez rs1=\Ec
par rs1=\Ec\E[?12l
. Avec certains programmes et paramètres, vous devrez peut-être également modifier la rs2
(réinitialisation complète). Compilez ensuite la description de terminfo avec tic ~/etc/terminfo.txt
(ceci écrit sous le répertoire $TERMINFO
, ou ~/.terminfo
s'il n'est pas défini)./etc/termcap
). Modifiez les séquences is
(réinitialisation de base) et rs
(réinitialisation complète) pour ajouter vos paramètres, par exemple :is=\Ec\E[?12l:
. Définissez la TERMCAP
variable d'environnement sur la valeur modifiée (commençant et finissant par :
).Certains terminaux et autres applications vous offrent plus d'options:
cursorBlink
ressource est définie sur true
ou si l' -bc
option est passée sur la ligne de commande. Le taux de clignotement est personnalisable via les ressources cursorOnTime
et cursorOffTime
.printf '\033[17;127?c'
(le premier paramètre 17 vous donne le curseur logiciel sans curseur matériel, et le deuxième paramètre défini sur 127 le rend essentiellement vidéo inverse). Voir ci-dessus concernant les réinitialisations de terminal.M-x blink-cursor-mode
bascule le clignotement du curseur. Mettez- (blink-cursor-mode 0)
le ~/.emacs
pour l'éteindre. Il s'agit d'un paramètre global et ne s'applique pas dans un terminal texte.Consultez également la page No Blinking de Juri Linkov (Jurta) pour savoir comment désactiver le clignotement dans Lesstif, Tk, Gtk (Gnome), Qt (KDE), Firefox, etc.
Dans le linux tty, vous pouvez utiliser la séquence d'échappement "\e[?48;0;64"
ou ce que vous voulez, mais cela ne fonctionne pas dans tmux / vim. Tmux / Vim émet une commande "cnorm" au démarrage qui contient par défaut a "\e[?0c"
. Vous pouvez voir que cela annule les effets du paramètre ci-dessus. Vous devez remplacer cnorm par la séquence ci-dessus pour que les applications TUI réinitialisent le curseur selon vos préférences. Plus d'informations à ce sujet par Gilles mais si vous cherchez une solution rapide, essayez ceci:
infocmp linux > /tmp/linux-terminfo
# Replace the last escape sequence here with your colors and settings
sed -i 's/cnorm=\\E\[?25h\\E\[?0c/cnorm=\\E[?25h\\E?48;0;64c/' /tmp/linux-terminfo
tic /tmp/linux-terminfo
La dernière commande générera le nouveau terminfo sous ~/.terminfo
lequel devrait être récupéré automatiquement si vous redémarrez le serveur tmux / vim.
Mettre
\ 033 [? 17; 0; 127c
à votre variable PS1 et vous cesserez de clignoter constamment.
PAR EXEMPLE:
export PS1 = '\ 033 [? 17; 0; 127c \ u: \ w \ $'
BLUEBOXNOBLINK="\033[?17;0;60c"
, alorsPS1="\[$BLUEBOXNOBLINK\]\[$BROWN\]\u \[$CYAN\]\W: \[$NC\]"
sudo cp /etc/issue /etc/issue.tmp
setterm -cursor off | sudo tee /etc/issue
cat /etc/issue.tmp | sudo tee --append /etc/issue
sudo rm /etc/issue.tmp
sudo reboot
-cursor off
n'est pas du tout ce qui est demandé, cela fait disparaître le curseur ... setterm -blink off
semble plus prometteur, mais cela affecte le texte, pas le curseur réel.
setterm -cursor off; setterm -cursor on
fonctionne ici, mais c'est une solution de contournement inacceptable
je mets
echo 0 > /sys/class/graphics/fbcon/cursor_blink
dans /etc/rc.local et créé un service systemd pour cela en utilisant des instructions en ligne. Cependant, j'ai remarqué que parfois après le démarrage, le curseur clignote toujours. Il serait bon de savoir comment désactiver définitivement le clignotement du curseur via sysfs sur un système systemd moderne. Quelqu'un a-t-il des conseils? Certaines distributions ont /etc/sysfs.conf mais j'exécute Arch et ne trouve pas ce fichier dans sysfsutils ou ailleurs.
Comme correctif temporaire, j'ai exécuté la commande suivante
sudo zsh -c 'echo -n "\033[?17;0;255c" >> /etc/issue'
Certaines expériences ont montré que le '255c' à la fin fonctionne mieux que le '127c' indiqué ci-dessus, il produit un curseur blanc plutôt que gris.
Pour la console Linux:
Ajoutez une -I "\033[?17;0;255c"
option aux getty
lignes de votre /etc/inittab
fichier. Faire cela:
Ouvrez le /etc/inittab
fichier avec un éditeur de texte. Il doit y avoir des lignes contenant getty
ou agetty
ou similaire. Un exemple est:
tty1::respawn:/sbin/getty 38400 tty1
Ajoutez -I "\033[?17;0;255c"
à chaque getty
ligne. Par exemple, après l'ajout -I "\033[?17;0;255c"
, la getty
ligne ci-dessus se présenterait comme suit:
tty1::respawn:/sbin/getty -I "\033[?17;0;255c" 38400 tty1
Redémarrez le système, ou bien tuez tous les getty
processus.
Une meilleure alternative est de la mettre ESC[?17;0;255c
au /etc/issue
lieu de la mettre en getty
lignes. Faire ceci en utilisant vi
est comme suit:
/etc/issue
utilisant vi
./etc/issue
fichier, entrez en mode d'insertion.^V
(c'est-à-dire Ctrlv), puis appuyez sur Esc. Le caractère d'échappement doit maintenant être inséré.[?17;0;255c
.Une autre alternative est de conserver le curseur matériel (au lieu d'utiliser un curseur logiciel) et d'arrêter de clignoter du curseur matériel et d'en faire un curseur bloc. Faire cela:
Ajoutez ce qui suit à /etc/inittab
:
# Stop cursor blink on Linux console
::sysinit:/bin/sh -c "echo 0 > /sys/class/graphics/fbcon/cursor_blink"
Ajouter ESC[?8c
à /etc/issue
. Reportez-vous à «Alternative 2» pour obtenir des instructions sur cette opération.
Cependant, avec cette option, le curseur ne devient pas blanc brillant. Je suppose que cela n'est possible qu'avec l'utilisation du curseur logiciel.
Après avoir suivi l'une de ces alternatives, vous obtiendrez un curseur de bloc blanc non clignotant.