42

I could have sworn that there was once a setting for this in the gnome-terminal "Profile".

And then in some version of Ubuntu, that setting disappeared, and I had to use System ➜ Preferences ➜ Keyboard to uncheck "Cursor blinks in text fields".

Well, neither of those seems to be working now. So how do I make the cursor stop blinking?

Isaiah
  • 60,750
Nemo
  • 665

5 Answers5

30

You can disable the blinking also from the command line (gconf-editor is not installed by default):

 gconftool-2 --set /apps/gnome-terminal/profiles/Default/cursor_blink_mode --type string off

For newer versions of gnome-terminal, the command has changed:

gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$(gsettings get org.gnome.Terminal.ProfilesList default|tr -d \')/ cursor-blink-mode off
mdd
  • 1,441
  • 14
  • 17
22

On Ubuntu Mate 20.04, the setting is at org.mate.interface cursor-blink. You can use dconf-editor to navigate there and set it to false, or

gsettings set org.mate.interface cursor-blink false
mikewhatever
  • 33,013
21

I review this post on almost every single Gnome install. Seems that the actual variable name changes every so often.

My solution: gsettings list-recursively | grep blink

Then I set the link value from True to False. As of now, it is org.gnome.desktop.interface cursor-blink, so:

gsettings set org.gnome.desktop.interface cursor-blink false

Hope this helps someone else in the future!

5

You can send an escape sequence to the terminal (any POSIX compatible, I think) setting the current cursor character using tput:

tput civis    # invisible
tput cnorm    # normal       (usually an underscore)
tput cvvis    # very visible (usually a rectangle)

Just put whatever you prefer in your local runcom script: ~/.zshrc, ~/.bashrc - whatever's your poison - or in the global one in /etc if you wish for it to run for all users.

cprn
  • 1,209
1

With python3

os.popen('tput civis').read()

I've discovered that the text printed is \x1b[?25l (with the l of light).
You can try :

$ printf '\x1b[?25l'

so you can with try the others commands if you want the string format (I work with python, I don't know how this is called else).
The aventage with '\x1b' or '\33' is that we can use it with another device (per example a micropython) to regular the terminal with the STDOUT.

Kaki In
  • 11