Відповіді:
Це дає вам твердий жовтий блок (не блимає) як курсор:
echo -n -e '\e[?17;14;224c'
Для отримання додаткової інформації ознайомтеся з цими посиланнями: Linuxgazette та EmacsWiki , а також файл /usr/src/linux/Documentation/VGA-softcursor.txt
(якщо він є у вашій системі)
echo -e '\033[?16;0;224c'
Існує стандартна послідовність керування, щоб вимкнути миготливий курсор на клемах.
printf '\033[?12l'
Однак багато терміналів не реалізують цей параметр, тому читайте далі.
Існує більш широко реалізований стандартний термінальний параметр для комутації видимості курсору між високою видимістю, нормальною видимістю і невидимістю. Деякі термінали не мають різниці між нормальними та високими, і немає гарантії того, що той чи інший буде мигати чи не буде. У TERMINFO , випускають cvvis
, cnorm
або civis
рядок (наприклад , tput cvvis
). Відповідне Termcap запис є vs
, ve
і vi
.
Цей параметр не переживе скидання терміналу , тому ви можете виявити, що він не пережив запуск багатьох повноекранних програм. Ви можете подолати цю складність, додавши послідовність зміни конфігурації курсору в рядок скидання терміналу.
infocmp >>~/etc/terminfo.txt
. Відредагуйте опис, щоб змінити rs1
(основне скидання) послідовності, наприклад замінити rs1=\Ec
на rs1=\Ec\E[?12l
. У деяких програмах та налаштуваннях вам може знадобитися змінити rs2
(повний скидання). Потім складіть опис terminfo з tic ~/etc/terminfo.txt
(це пише під каталогом $TERMINFO
, або ~/.terminfo
якщо він не встановлений)./etc/termcap
). Змініть послідовності is
(основне скидання) та rs
(повне скидання), щоб додати свої настройки, наприклад :is=\Ec\E[?12l:
. Встановіть TERMCAP
змінну середовища на відредаговане значення (починаючи з кінця і закінчуючи :
).Деякі термінали та інші додатки надають більше можливостей:
cursorBlink
ресурс встановленийtrue
або-bc
параметр передається в командному рядку. Швидкість моргання налаштовується черезресурсиcursorOnTime
таcursorOffTime
ресурси.printf '\033[17;127?c'
(перший параметр 17 дає вам курсор програмного забезпечення без апаратного курсору, а другий параметр, встановлений у 127, робить його по суті зворотним відео). Дивіться вище щодо скидання терміналів.M-x blink-cursor-mode
перемикає курсор блимає. Покладіть (blink-cursor-mode 0)
у свій, ~/.emacs
щоб вимкнути його. Це глобальне налаштування і не застосовується в текстовому терміналі.Дивіться також сторінку "Ніякої миготіння" Юрі Лінкова (Юрта) про те, як вимкнути миготіння в Lesstif, Tk, Gtk (Gnome), Qt (KDE), Firefox тощо.
У linux tty ви можете використовувати послідовність евакуації "\e[?48;0;64"
або що завгодно, але це не працює в tmux / vim. Tmux / Vim видає команду "cnorm" при запуску, яка за замовчуванням містить a "\e[?0c"
. Ви можете бачити, що це скасовує ефекти наведених вище параметрів. Вам потрібно змінити cnorm у вищевказаній послідовності для того, щоб програми TUI скинули курсор за вашими перевагами. Більше інформації про це від Gilles, але якщо ви шукаєте швидкого виправлення, спробуйте це:
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
Остання команда генерує нове терміно, під ~/.terminfo
яким слід автоматично підбиратись при перезапуску tmux-сервера / vim.
Покладіть
\ 033 [? 17; 0; 127c
до вашої змінної PS1, і ви перестанете блимати постійно.
EG:
експортувати PS1 = '\ 033 [? 17; 0; 127c \ u: \ w \ $'
BLUEBOXNOBLINK="\033[?17;0;60c"
, тодіPS1="\[$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
не зовсім те, що просять взагалі, це змушує курсор зникнути ... setterm -blink off
здається більш перспективним, але це впливає на текст, а не на власний курсор.
setterm -cursor off; setterm -cursor on
працює тут, але це неприйнятне рішення
я кладу
echo 0 > /sys/class/graphics/fbcon/cursor_blink
в /etc/rc.local та створив для нього системний сервіс, використовуючи онлайн-інструкції. Однак я помітив, що іноді після завантаження курсор все ще блимає. Було б добре знати правильний спосіб назавжди вимкнути миготливий курсор через sysfs в сучасній системній системі, чи має хто-небудь поради? У деяких дистрибутивах є /etc/sysfs.conf, але я запускаю Arch і не знаходжу цей файл у sysfsutils або в інших місцях.
Як тимчасове виправлення я запустив таку команду
sudo zsh -c 'echo -n "\033[?17;0;255c" >> /etc/issue'
Деякі експерименти показали, що "255c" в кінці працює краще, ніж "127c", зазначений вище, він створює білий, а не сірий курсор.
Для консолі Linux:
Додати -I "\033[?17;0;255c"
варіант для getty
рядків у вашому/etc/inittab
файлі. Робити так:
Відкрийте /etc/inittab
файл за допомогою текстового редактора. Там повинні бути рядки , які містять getty
або agetty
або аналогічний. Приклад:
tty1::respawn:/sbin/getty 38400 tty1
Додайте -I "\033[?17;0;255c"
до кожного getty
рядка. Наприклад, після додавання -I "\033[?17;0;255c"
, getty
рядок вище буде виглядати наступним чином:
tty1::respawn:/sbin/getty -I "\033[?17;0;255c" 38400 tty1
Перезавантажте систему або, в іншому випадку, вбийте всіх getty
процеси.
Кращою альтернативою є покласти ESC[?17;0;255c
в /etc/issue
, замість того щоб покласти його getty
ліній. Робити це за допомогою vi
наступного:
/etc/issue
за допомогоюvi
./etc/issue
файлу введіть режим вставки.^V
(тобто Ctrlv), а потім натисніть Esc. Тепер слід вставити символ втечі.[?17;0;255c
.Іншою альтернативою є збереження апаратного курсору (замість використання курсору програмного забезпечення) та припинення миготіння апаратного курсору та перетворення його на блок-курсор. Робити так:
Додайте до /etc/inittab
:
# Stop cursor blink on Linux console
::sysinit:/bin/sh -c "echo 0 > /sys/class/graphics/fbcon/cursor_blink"
Додати ESC[?8c
в /etc/issue
. Щоб дізнатися, як це зробити, зверніться до "Альтернативи 2".
Однак при такому варіанті курсор не стає яскраво-білим. Я думаю, що це можливо лише за допомогою програмного курсору.
Дотримуючись будь-якої з цих альтернатив, ви отримаєте білий, не блимаючий блоковий курсор.