web-dev-qa-db-ja.com

表示される色の濃淡を上書きする

読みにくい色を表示するシステムで作業する必要があります。これらのシステムにSSHで接続しましたが、表示される色を変更するための管理権限がありません。ターミナルエミュレータで色の濃淡を上書きする方法はありますか? (私はkonsoleを使用します)

6
xenoterracide

各ターミナルエミュレータには、色合いを設定する(または設定しない)独自の方法があります。 XtermはXリソースを使用します。新しいエミュレーターの中にはダイアログボックスがあるものもあれば、構成ファイルがあるものもあります。

Konsoleで、プロファイルの配色を編集します(メニュー:[設定/現在のプロファイルの編集]、[外観]タブから、カラーテーマを選択して編集するか、新しいテーマを作成します)。

アプリケーションからの色番号に関連付けられた色合いを設定するための一般的な 制御シーケンス があります:OSC 4 ; c ; spec BELここで、OSCESC ]cは色番号、specは#RGBなどの色仕様です。

printf %b '\e]4;4;#6495ed\a'  # set the blue shade to CornflowerBlue

アプリケーションによる変更は、次の端末がリセットされるまでのみ有効です。この方法を使用する場合(端末に構成メカニズムがない場合にのみ推奨)、変更を効果的に永続化するには、 色構成エスケープシーケンスを端末のリセット文字列に追加します (termcap:r1 ストリング; terminfo:rs1 ストリング)。

同様の問題が発生しましたが、X-Windowsでは発生しませんでした。実行しているオペレーティングシステム以外のバージョンのオペレーティングシステムでソフトウェアをコンパイルするために使用する仮想ボックスがあります。これらには標準の「ハードウェアコンソール」があり、X端末はありません。

以下が私のために働いたことがわかった場合:

echo -e "\\e]R\\e]PC6495ed"

ドキュメントでそのコードシーケンスを見つけました! (えっ!)

http://man7.org/linux/man-pages/man4/console_codes.4.html

最初の部分は\\e]Rはリセットシーケンスです。そのため、色がデフォルトにリセットされます。

2番目の部分、\\e]PC6495edは青い色を変えるものです。ここで2つのポイント:

  1. 青い色は色番号12(その文字列のC)です。
  2. Pはパレットの略です

この場合、基本コンソールの最初の16色に制限されます。

1
Alexis Wilke

ローカルマシンで~/.Xresourcesを変更できます。テーマ別の~/.Xresourcesの例については、 this を参照してください。

1