How to change the caret of the Gnome Terminal?

How do you change the text-cursor/caret in Terminal to block, I-Beam, or underline.


Solution 1:

In recent versions of gnome-terminal, you can use the following escape sequences to change the cursor:

  • \e[0 q or \e[ q: reset to whatever's defined in the profile settings
  • \e[1 q: blinking block
  • \e[2 q: steady block
  • \e[3 q: blinking underline
  • \e[4 q: steady underline
  • \e[5 q: blinking I-beam
  • \e[6 q: steady I-beam

You can print these by e.g. echo -ne '\e[5 q'.

This has the advantage/disadvantage (based on your use case) compared to the gconftool method that it influences the given tab only, and not all the tabs that use the given profile.

Solution 2:

In addition to the GUI method, you can also change the cursor shape from the command-line:

$ gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape <VALUE>

The possible values are "block" to use a block cursor, "ibeam" to use a vertical line cursor, or "underline" to use an underline cursor.

To get the current value:

$ gconftool-2 --get /apps/gnome-terminal/profiles/Default/cursor_shape
block