En el momento en que se hizo la pregunta (octubre de 2011), la forma de hacerlo con el terminal dado era a través de su diálogo de preferencias. Después de unos años ( noviembre de 2014 ), alguien agregó soporte para la DECSUSRsecuencia de escape que se usó (y extendió) en xterm desde diciembre de 2009 .
El cambio menciona estas opciones:
+ VTE_CURSOR_STYLE_TERMINAL_DEFAULT = 0,
+ VTE_CURSOR_STYLE_BLINK_BLOCK = 1,
+ VTE_CURSOR_STYLE_STEADY_BLOCK = 2,
+ VTE_CURSOR_STYLE_BLINK_UNDERLINE = 3,
+ VTE_CURSOR_STYLE_STEADY_UNDERLINE = 4,
+ /* *_IBEAM are xterm extensions */
+ VTE_CURSOR_STYLE_BLINK_IBEAM = 5,
+ VTE_CURSOR_STYLE_STEADY_IBEAM = 6
+} VteCursorStyle;
La función está documentada en Secuencias de control de XTerm :
CSI Ps SP q
Set cursor style (DECSCUSR, VT520).
Ps = 0 -> blinking block.
Ps = 1 -> blinking block (default).
Ps = 2 -> steady block.
Ps = 3 -> blinking underline.
Ps = 4 -> steady underline.
Ps = 5 -> blinking bar (xterm).
Ps = 6 -> steady bar (xterm).
para que pueda (por ejemplo) hacer esto en la línea de comandos para cambiar el cursor a una barra ("I-beam"):
printf '\033[6 q'
(el espacio es necesario, corresponde a "SP" en la documentación).