カーソルの点滅を止める方法

カーソルの点滅を止める方法

blinkingカーソルを置く方法テレタイププライター? (または他の場所)。

ボーナスポイントほぼどこでもカーソルが点滅しないようにする汎用設定です。

答え1

一つある標準制御シーケンスターミナルでカーソルの点滅をオフにします。

printf '\033[?12l'

ただし、多くの端末ではこの設定を実装していないので、読んでください。

スイッチングのために、より広範に実装された標準端末設定があります。カーソルの可視性高い可視性、一般的な可視性、透明の間。一部の端末は、通常と高の間に差がなく、ちらつきがあるかどうかの保証はありません。存在する用語情報、解放、cvvisまたは文字列(たとえば)cnorm。ドンcivistput cvvis用語キャップ項目はvsveおよびですvi

この設定は端末に保持されません。初期化したがって、多くのフルスクリーンアプリケーションを起動した後も持続しない可能性があります。端末のリセット文字列にカーソル設定の変更順序を追加すると、この問題を克服できます。

  • ncursesを使用するterminfoベースのシステムは、端末のterminfo設定を.terminfo拡張子を持つファイルに保存しますinfocmp >>~/etc/terminfo.txtrs1(デフォルトリセット)順序を変更するには、説明を編集してください(例:rs1=\Ecに置き換える)rs1=\Ec\E[?12l。一部のプログラムや設定を変更rs2(完全リセット)する必要があります。次にterminfoの説明をコンパイルしますtic ~/etc/terminfo.txt(この説明はディレクトリに書き込まれているか$TERMINFO設定され~/.terminfoていない場合)。またはそれ以上自動的に:
    infocmp -1 | sed '/^.rs[12]=/ s/,$/\\E[?12l,/' | tic -
    
  • termcapベースのシステムでは、/etc/termcaptermcapデータベースからtermcap設定(通常は)を取得します。is(デフォルトリセット)と(フルリセット)シーケンスを変更してrs設定を追加します(例:):is=\Ec\E[?12l:。環境変数をTERMCAP編集した値(で始まり終了:)に設定します。

一部の端末やその他のアプリケーションでは、より多くのオプションが提供されます。

  • これxtermcursorBlinkリソースがに設定されているか、コマンドラインtrue-bcオプションが渡されると、カーソルが点滅します。点滅速度はcursorOnTimeおよびリソースを介してcursorOffTimeカスタマイズできます。
  • 他のGUI端末エミュレータの中には、対応する設定ダイアログを確認してカーソルを点滅させることがあります。
  • これLinux PC(VGA)コンソールさまざまなカーソル設定があります。正確な意味と適用性は、基本的なVGA実装(Linuxフレームバッファまたはビデオカード)によって異なります。デフォルトカーソルが点滅している場合は、同様のコマンドを使用してハードウェアカーソルをオフにし、ソフトウェアカーソルをオンにします。printf '\033[17;127?c'(最初のパラメータ17はハードウェアカーソルなしでソフトウェアカーソルを提供し、2番目のパラメータ127に設定すると本質的に反転ビデオになります。)。端末のリセットについては上記をご覧ください。
  • 存在するEmacsM-x blink-cursor-modeカーソルの点滅を切り替えます。閉じるには入力してください(blink-cursor-mode 0)~/.emacsこれはグローバル設定で、テキスト端末には適用されません。

また、見ることができますユリ・リンコフ(Jurta)の点滅しないページLesstif、Tk、Gtk(Gnome)、Qt(KDE)、Firefoxなどで点滅を消す方法を学びます。

答え2

ルートアクセス権があれば、これが簡単になることがわかりました。

~$ echo 0 > /sys/class/graphics/fbcon/cursor_blink

/etc/rc.localArch Linuxのようにマシン起動スクリプトに入れました。

答え3

これにより、カーソルにモノクロ黄色のブロック(点滅しない)が表示されます。

echo -n -e '\e[?17;14;224c'

詳しくは、以下の参考資料をご覧ください。Linux掲示板そしてEmacs Wikiファイルが/usr/src/linux/Documentation/VGA-softcursor.txtシステムに存在する場合

答え4

Linux ttyではエスケープシーケンスや"\e[?48;0;64c"必要なものを使用できますが、tmux / vimでは機能しません。

Tmux / Vimはcnorm起動時にコマンドを実行し、デフォルトでコマンドを含みます"\e[?0c"。これにより、上記の設定の効果がキャンセルされることがわかります。cnormTUIアプリケーションがカーソルを必要に応じてリセットするには、上記の順序で変更する必要があります。

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

最後のコマンドは、~/.terminfotmuxサーバー/ vimを再起動すると自動的に取得される新しいterminfoを生成します。

関連情報