Как отключить мигающий курсор в gnome-терминале?

40

Я мог бы поклясться, что когда-то была настройка для этого в терминале гномов "Профиль".

А затем в какой-то версии Ubuntu этот параметр исчез, и мне пришлось использовать Систему ferences Настройки ➜ Клавиатура, чтобы снять флажок «Курсор мигает в текстовых полях».

Ну, похоже, ни один из них сейчас не работает. Так как же заставить курсор перестать мигать?

Nemo
источник

Ответы:

21

Да, в gconf есть скрытая настройка.
Откройте gconf-editor, перейдите /apps/gnome-terminal/profiles/Default, найдите cursor_blink_modeи измените его значение на off.

mikewhatever
источник
Благодарность; это сделал Хотя одна из действительных настроек (по умолчанию, на самом деле) должна быть «системной». Это просто сломано?
Немо,
Я не думаю, что он сломан, так как курсор должен мигать по умолчанию, точнее, по дизайну, а не только в Терминале. Для этого есть общесистемная настройка в окне управления клавиатурой. Не уверен, если вы можете отключить его оттуда, хотя.
mikewh независимо от
1
Как я уже упоминал в своем вопросе, я думал, что отключил его глобально в настройках клавиатуры ... Но это не повлияло на gnome-терминал. Что заставляет меня задуматься о том, на что указывает «системная» установка cursor_blink_mode. Во всяком случае, моя проблема исправлена. Еще раз спасибо.
Немо,
1
@Nemo «Система» , вероятно , относится к значению cursor-blink«gsetting», который вы можете запросить так: gsettings get org.gnome.desktop.interface cursor-blink. Существуют и другие настройки, связанные с курсором, которые можно настроить, например cursor-blink-timeout, cursor-sizeи т. Д.
Maxy-B
Я пытаюсь найти возможные альтернативы "выключению" и "системе". Мне все еще нужен мигающий курсор в активном терминале, но не во всех остальных.
Готье
30

Вы также можете отключить мигание из командной строки (gconf-editor по умолчанию не установлен):

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

Для более новых версий gnome-терминала команда была изменена:

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
источник
5
В Ubuntu 16.04 у gsettings set ...меня ничего не вышло. Я решил это с gsettings set org.gnome.desktop.interface cursor-blink false.
Ммоя
@ Mmoya: Хм, это сработало для меня. Возможно, вы переименовали свой профиль терминала из имени по умолчанию (называемого «по умолчанию»)? Недостаток вашего решения в том, что оно отключает мигание для всех приложений, а не только для gnome-терминала.
MDD
Я фактически назвал его как Default , когда я открыл настройки профиля в пользовательском интерфейсе, у него не было имени. В любом случае это не должно иметь значения, поскольку профиль uuid получен из gsettings get ...команды, не так ли?
Ммоя
gsettings getкоманда получает UUID из профиля по имени default(это имя по умолчанию), это работает , если вы измените команду Default?
MDD
Я думаю, что я использовал в defaultкачестве имени, потому что gsettings get ...работает. Было бы неплохо добавить к ответу примечание о том, что команда предполагает, что профиль называется default .
Ммоя
17

Я рассматриваю этот пост почти на каждой установке Gnome. Кажется, что реальное имя переменной меняется очень часто.

Мое решение: gsettings list-recursively | grep blink

Затем я устанавливаю значение ссылки с True на False. На данный момент это курсор-мигание org.gnome.desktop.interface, поэтому:

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

Надеюсь, что это поможет кому-то еще в будущем!

Фархан Юсуфзай
источник
3
Спасибо за предоставленный способ найти его, а не просто решение!
Люк
Это решение работало для меня в Ubuntu 17.10
xaxxon
6

Вы можете отправить управляющую последовательность на терминал (я думаю, что она совместима с POSIX), установив текущий символ курсора, используя tput:

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

Просто положить все , что вы предпочитаете в вашем сценарии Runcom: ~/.zshrc, ~/.bashrc- то , что ваш яд - или в глобальном в , /etcесли вы хотите для его запуска для всех пользователей.

CpRn
источник