Bagaimana cara membuat kursor berhenti blinking
ketika berada di TTY ? (atau tempat lain).
BONUS Poin untuk satu pengaturan universal yang menghentikan kursor berkedip hampir di mana-mana.
Ini memberi Anda blok kuning solid (nonblinking) sebagai kursor:
echo -n -e '\e[?17;14;224c'
Untuk info lebih lanjut, periksa referensi ini: Linuxgazette dan EmacsWiki serta file /usr/src/linux/Documentation/VGA-softcursor.txt
(jika ada di sistem Anda)
echo -e '\033[?16;0;224c'
Ada urutan kontrol standar untuk mematikan kursor yang berkedip pada terminal.
Namun banyak terminal tidak menerapkan pengaturan ini, jadi baca terus.
Ada pengaturan terminal standar yang lebih banyak diterapkan untuk mengalihkan visibilitas kursor antara visibilitas tinggi, visibilitas normal, dan invisibilitas. Beberapa terminal tidak membuat perbedaan antara normal dan tinggi, dan tidak ada jaminan bahwa satu atau yang lain akan atau tidak akan berkedip. Dalam terminfo , memancarkan
cvvis
,cnorm
ataucivis
tali (misalnyatput cvvis
). Entri termcap yang sesuai adalahvs
,ve
danvi
.Pengaturan ini tidak akan bertahan dari reset terminal , sehingga Anda mungkin menemukan bahwa itu tidak selamat dari peluncuran banyak aplikasi layar penuh. Anda dapat mengatasi kesulitan ini dengan menambahkan urutan perubahan konfigurasi kursor ke string reset terminal Anda.
infocmp >>~/etc/terminfo.txt
. Edit deskripsi untuk mengubah urutanrs1
(reset dasar), misalnya gantirs1=\Ec
denganrs1=\Ec\E[?12l
. Dengan beberapa program dan pengaturan, Anda mungkin perlu mengubahrs2
(reset penuh) juga. Kemudian kompilasi deskripsi terminfo dengantic ~/etc/terminfo.txt
(ini menulis di bawah direktori$TERMINFO
, atau~/.terminfo
jika tidak disetel)./etc/termcap
). Ubah urutanis
(reset dasar) danrs
(reset penuh) untuk menambahkan pengaturan Anda, misalnya:is=\Ec\E[?12l:
. SetelTERMCAP
variabel lingkungan ke nilai yang diedit (dimulai dan diakhiri dengan:
).Beberapa terminal dan aplikasi lain memberi Anda lebih banyak opsi:
cursorBlink
sumber daya diatur ketrue
atau-bc
opsi dilewatkan pada baris perintah. Tingkat kedipan dapat disesuaikan melaluicursorOnTime
dancursorOffTime
sumber daya.printf '\033[17;127?c'
(parameter pertama 17 memberi Anda kursor perangkat lunak tanpa kursor perangkat keras, dan parameter kedua yang diatur ke 127 membuatnya pada dasarnya membalikkan video). Lihat di atas tentang pengaturan ulang terminal.M-x blink-cursor-mode
matikan kursor yang berkedip. Masukkan(blink-cursor-mode 0)
Anda~/.emacs
untuk mematikannya. Ini adalah pengaturan global dan tidak berlaku di terminal teks.Lihat juga halaman No Blinking Juri Linkov (Jurta) untuk cara mematikan blinking di Lesstif, Tk, Gtk (Gnome), Qt (KDE), Firefox, dan banyak lagi.
sumber
Saya menemukan ini lebih mudah jika Anda memiliki izin root:
Saya memasukkannya ke dalam skrip startup mesin seperti
/etc/rc.local
untuk arch linux.sumber
Di linux tty Anda dapat menggunakan urutan escape
"\e[?48;0;64"
atau apa pun yang Anda suka tetapi ini tidak bekerja di tmux / vim. Tmux / Vim mengeluarkan perintah "cnorm" saat startup yang secara default berisi a"\e[?0c"
. Anda dapat melihat bahwa ini membatalkan efek pengaturan di atas. Anda perlu mengubah cnorm ke urutan di atas agar aplikasi TUI mengatur ulang kursor ke preferensi Anda. Info lebih lanjut tentang ini oleh Gilles tetapi jika Anda mencari perbaikan cepat coba ini:Perintah terakhir akan menghasilkan terminfo baru di
~/.terminfo
mana harus diambil secara otomatis jika Anda me-restart server tmux / vim.sumber
Taruh
ke variabel PS1 Anda dan Anda akan berhenti berkedip terus-menerus.
MISALNYA:
sumber
BLUEBOXNOBLINK="\033[?17;0;60c"
, makaPS1="\[$BLUEBOXNOBLINK\]\[$BROWN\]\u \[$CYAN\]\W: \[$NC\]"
sumber
-cursor off
tidak cukup apa yang diminta sama sekali, itu membuat kursor menghilang ...setterm -blink off
tampaknya lebih menjanjikan, tetapi itu mempengaruhi teks, bukan kursor yang sebenarnya.setterm -cursor off; setterm -cursor on
tidak bekerja di sini, tetapi ini adalah solusi yang tidak dapat diterimaSaya menempatkan
di /etc/rc.local dan buat layanan systemd untuknya menggunakan instruksi online. Namun, saya perhatikan bahwa kadang-kadang setelah booting kursor masih berkedip. Akan lebih baik untuk mengetahui cara yang benar untuk mematikan kursor yang berkedip secara permanen melalui sysfs pada sistem systemd modern, apakah ada yang punya tips? Beberapa distribusi memiliki /etc/sysfs.conf tetapi saya menjalankan Arch dan tidak menemukan file ini di sysfsutils atau di tempat lain.
Sebagai perbaikan sementara saya menjalankan perintah berikut
Beberapa percobaan menunjukkan bahwa '255c' pada akhirnya berfungsi lebih baik daripada '127c' yang tercantum di atas, menghasilkan kursor putih daripada abu-abu.
sumber
Untuk konsol Linux:
Alternatif 1
Tambahkan
-I "\033[?17;0;255c"
opsi kegetty
baris di/etc/inittab
file Anda . Untuk melakukannya:Buka
/etc/inittab
file dengan editor teks. Harus ada garis yang berisigetty
atauagetty
atau serupa. Contohnya adalah:Tambahkan
-I "\033[?17;0;255c"
ke setiapgetty
baris. Sebagai contoh, setelah menambahkan-I "\033[?17;0;255c"
,getty
baris di atas akan terlihat sebagai berikut:Mulai ulang sistem, atau jika tidak, bunuh semua
getty
proses.Alternatif 2
Alternatif yang lebih baik adalah dengan menempatkan
ESC[?17;0;255c
di/etc/issue
, bukannya menempatkan kegetty
jalur. Melakukan ini menggunakanvi
adalah sebagai berikut:/etc/issue
menggunakanvi
./etc/issue
file, masukkan mode insert^V
(yaitu, Ctrlv), lalu tekan Esc. Karakter pelarian sekarang harus dimasukkan.[?17;0;255c
.Alternatif 3
Alternatif lain adalah menjaga kursor perangkat keras (alih-alih menggunakan kursor perangkat lunak) dan berhenti berkedip dari kursor perangkat keras dan menjadikannya sebagai kursor blok. Untuk melakukannya:
Tambahkan yang berikut ke
/etc/inittab
:Tambahkan
ESC[?8c
ke/etc/issue
. Lihat "Alternatif 2" untuk instruksi melakukan hal ini.Namun, dengan opsi ini, kursor tidak menjadi putih terang. Saya kira ini hanya mungkin dengan menggunakan kursor perangkat lunak.
Setelah mengikuti salah satu dari alternatif ini, Anda akan mendapatkan kursor blok putih, tidak berkedip.
Informasi lebih lanjut
sumber
Ini sepenuhnya menyembunyikan kursor.
Untuk mengembalikan:
sumber