Respostas:
Isso fornece um bloco amarelo sólido (sem piscar) como um cursor:
echo -n -e '\e[?17;14;224c'
Para mais informações, verifique estas referências: Linuxgazette e EmacsWiki , bem como o arquivo /usr/src/linux/Documentation/VGA-softcursor.txt
(se presente no seu sistema)
echo -e '\033[?16;0;224c'
Há uma sequência de controle padrão para desligar o cursor piscando nos terminais.
printf '\033[?12l'
No entanto, muitos terminais não implementam essa configuração, então continue a ler.
Há uma configuração de terminal padrão mais amplamente implementada para alternar a visibilidade do cursor entre alta visibilidade, visibilidade normal e invisibilidade. Alguns terminais não fazem diferença entre normal e alto, e não há garantia de que um ou outro pisque ou não. Em terminfo , emita a string cvvis
, cnorm
ou civis
(por exemplo tput cvvis
). As entradas correspondentes do termcap são vs
, ve
e vi
.
Essas configurações não sobreviverão a uma redefinição do terminal ; portanto, você pode achar que ela não sobrevive ao lançamento de muitos aplicativos de tela cheia. Você pode superar essa dificuldade adicionando a sequência de alteração da configuração do cursor à string de redefinição do seu terminal.
infocmp >>~/etc/terminfo.txt
. Edite a descrição para alterar a rs1
sequência (redefinição básica), por exemplo, substitua rs1=\Ec
por rs1=\Ec\E[?12l
. Em alguns programas e configurações, pode ser necessário alterar também a rs2
(redefinição total). Em seguida, compile a descrição terminfo com tic ~/etc/terminfo.txt
(isto grava no diretório $TERMINFO
, ou ~/.terminfo
se não estiver definido)./etc/termcap
). Altere as seqüências is
(redefinição básica) e rs
(redefinição completa) para anexar suas configurações, por exemplo :is=\Ec\E[?12l:
. Defina a TERMCAP
variável de ambiente para o valor editado (começando e terminando com :
).Alguns terminais e outros aplicativos oferecem mais opções:
cursorBlink
recurso estiver definido comotrue
ou se a-bc
opção for passada na linha de comando. A taxa de piscada é personalizável através dosrecursoscursorOnTime
ecursorOffTime
.printf '\033[17;127?c'
(o primeiro parâmetro 17 fornece o cursor do software sem o cursor do hardware, e o segundo parâmetro definido como 127 torna o vídeo essencialmente inverso). Veja acima sobre redefinições de terminal.M-x blink-cursor-mode
alterna o piscar do cursor. Coloque (blink-cursor-mode 0)
no seu ~/.emacs
para desligá-lo. Essa é uma configuração global e não se aplica a um terminal de texto.Veja também a página No piscar de Juri Linkov (Jurta) para saber como desativar o piscar em Lesstif, Tk, Gtk (Gnome), Qt (KDE), Firefox e muito mais.
No linux tty, você pode usar a sequência de escape "\e[?48;0;64"
ou o que quiser, mas isso não funciona no tmux / vim. O Tmux / Vim emite um comando "cnorm" na inicialização, que por padrão contém um "\e[?0c"
. Você pode ver que isso desfaz os efeitos da configuração acima. Você precisa alterar o cnorm para a sequência acima para que os aplicativos TUI redefinam o cursor conforme sua preferência. Mais informações sobre isso por Gilles, mas se você estiver procurando uma solução rápida, tente o seguinte:
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
O último comando irá gerar o novo terminfo sob o ~/.terminfo
qual deve ser escolhido automaticamente se você reiniciar o tmux server / vim.
Colocar
\ 033 [? 17; 0; 127c
à sua variável PS1 e você parará de piscar constantemente.
POR EXEMPLO:
exportar PS1 = '\ 033 [? 17; 0; 127c \ u: \ w \ $'
BLUEBOXNOBLINK="\033[?17;0;60c"
, entãoPS1="\[$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ão é exatamente o que é solicitado, faz o cursor desaparecer ... setterm -blink off
parece mais promissor, mas afeta o texto, não o cursor real.
setterm -cursor off; setterm -cursor on
faz o trabalho aqui, mas é uma solução inaceitável
Eu coloco
echo 0 > /sys/class/graphics/fbcon/cursor_blink
em /etc/rc.local e criou um serviço systemd para ele usando instruções online. No entanto, notei que, algumas vezes após a inicialização, o cursor ainda está piscando. Seria bom saber a maneira correta de desligar permanentemente o cursor piscando via sysfs em um sistema systemd moderno, alguém tem alguma dica? Algumas distribuições têm o /etc/sysfs.conf, mas estou executando o Arch e não encontro esse arquivo no sysfsutils ou em outro local.
Como correção temporária, executei o seguinte comando
sudo zsh -c 'echo -n "\033[?17;0;255c" >> /etc/issue'
Algumas experiências mostraram que o '255c' no final funciona melhor que o '127c' listado acima, produz um cursor branco em vez de cinza.
Para console Linux:
Adicionar -I "\033[?17;0;255c"
opção às getty
linhas do seu /etc/inittab
arquivo. Para fazer isso:
Abra o /etc/inittab
arquivo com um editor de texto. Deve haver linhas que contenham getty
ou agetty
ou similares. Um exemplo é:
tty1::respawn:/sbin/getty 38400 tty1
Adicione -I "\033[?17;0;255c"
a cada getty
linha. Como exemplo, depois de adicionar -I "\033[?17;0;255c"
, a getty
linha acima ficaria da seguinte maneira:
tty1::respawn:/sbin/getty -I "\033[?17;0;255c" 38400 tty1
Reinicie o sistema ou, alternativamente, mate todos os getty
processos.
Uma alternativa melhor é inserir , ESC[?17;0;255c
em /etc/issue
vez de colocá-lo em getty
linhas. Fazer isso usando vi
é o seguinte:
/etc/issue
usandovi
./etc/issue
arquivo, entre no modo de inserção.^V
(ou seja Ctrlv) e, em seguida, pressione Esc. O caractere de escape agora deve ser inserido.[?17;0;255c
.Outra alternativa é manter o cursor do hardware (em vez de usar um cursor do software) e parar de piscar o cursor do hardware e torná-lo um cursor de bloco. Para fazer isso:
Adicione o seguinte a /etc/inittab
:
# Stop cursor blink on Linux console
::sysinit:/bin/sh -c "echo 0 > /sys/class/graphics/fbcon/cursor_blink"
Adicionar ESC[?8c
a /etc/issue
. Consulte a "Alternativa 2" para obter instruções sobre como fazer isso.
No entanto, com esta opção, o cursor não fica branco brilhante. Eu acho que isso só é possível com o uso do cursor do software.
Depois de seguir qualquer uma dessas alternativas, você obterá um cursor de bloco branco e sem piscar.