
evilvte以外に、Linux上で(クラッシュせずに)ホストごとにカーソルとフォアグラウンドの両方を指定できるターミナルエミュレータはありますか?そして背景色そしてまたアイコン(つまり、実行中のアプリケーションが最小化されているときに表示されるアイコン)ですか?
私は非常に多くの異なるホストに SSH で接続しており、どのホストにログオンしているかを簡単に把握できるように、各ホストには、そのターミナル ウィンドウに使用する固有の配色 (つまり、背景、前景色、カーソル色の固有の組み合わせ) があります。これらのターミナル セッション間を直感的に適切に移動しやすくするために、ターミナル エミュレーターの設定をカスタマイズして、最小化されているとき (または XFCE デスクトップで ALT + TAB を実行しているとき) に使用されるアイコンが、使用している配色を反映するようにしています。
(私は、ホストに使用している配色と一致する背景、前景色、カーソルの色でターミナル グラフィックを生成する Perl プログラムを持っているので、作業するすべてのホストに適切なアイコンを簡単に生成できます)
このアプローチの問題は、それが機能しないということではなく(確かにうまく機能します!)、サポートする十分な端末エミュレータを選択するのが難しいことです。全て以下のもの:
- セッションごとにアイコン グラフィックをカスタマイズできます (つまり、ディスク上の任意の画像を指定できます)。
- セッションごとにカスタマイズ可能な背景、前景そしてカーソルの色。
- できれば、セッションごとにカスタマイズ可能な ANSI カラー (「明るい」カラー 8 から 15 を含む) も必要です。背景色が赤の場合、ANSI の赤と明るい赤を微調整して、背景色と少し異なる色にしたいからです。(はい、その微調整を自動化するスクリプトも入手しました)
今のところ、私は evilvte に頼っています。これは、アイコンとすべての色 (カーソル、前景、背景、太字、薄暗色、およびすべての ANSI 色) の両方をカスタマイズできる唯一のターミナル ソフトウェアだからです。evilvte の問題は、セッションごとに 1 つのバイナリをコンパイルする必要があることです (部分的に自動化されており、機能しますが、率直に言って非常に見苦しい方法です)。また、evilvte では、ターミナル ウィンドウの幅や高さを減らす (つまり、列数や行数を減らす) ことはサポートされていませんが、幅や高さを増やすことはできます。evilvte のもう 1 つの潜在的な問題は、すべての ANSI 色を微調整するためにかなり見苦しいハックを行ったことです。これは、将来の evilvte バージョンでは機能するかどうかはわかりません。
私はgnome-terminalを試してみましたが、もともとカーソルの色をカスタマイズする機能が欠けていました。かつてはそれセッションごとにアイコンをカスタマイズする機能を削除することが決定されました。
必要な機能をすべて提供しながら、evilvte を使用するときに発生するような煩わしさがない端末へのポインタがあれば、ありがたいです。
編集: Matt Jenkins は、xterm の使用を勧め、その使用方法についてのヒントをいくつか提供している、優れたよく書かれた回答を提供しています。残念ながら、xterm にはいくつかの制限があり、私のニーズには適していません (xterm はモノクロの黒と白のアイコン ピクセル マップのみをサポートし、ANSI カラーでハード コードされコンパイルされています)。そのため、私は彼の回答を受け入れませんでした (チェックマークをクリック) が、それでも 1 ポイント「アップ」しました。
答え1
「konsole」はあなたの友達のようです。
複数のターミナル プログラムを徹底的に調査した結果、次のことがわかりました。
konsole
カスタムカラースキームの設定をサポートします:
konsole
カスタムアイコンをサポートします:
konsole
複数のプロファイルをサポートしているため、スクリプトは必要ありません。サーバーごとに新しいプロファイルを作成するだけです。プロファイルに ssh コマンドを含めて、サーバーに自動ログインすることもできます。
また、konsole
タブも付いているので、乱雑さを軽減し、サーバーをグループ化して、より少ないウィンドウで表示できます。(すべての Web サーバーを 1 つのウィンドウに、すべてのファイル サーバーを別のウィンドウに、など)
ウィンドウ マネージャーのアイコン (「プロファイル」アイコンとは別のアイコン) を設定するには、konsole コマンドに --icon フラグを指定する必要があります。
$ konsole --icon /usr/share/icons/oxygen/16x16/apps/java.png
つまり、次のようになります。
これを組み合わせれば、--profile
求めている結果が得られるはずです。
このウィンドウ マネージャー アイコンはタブを変更しても変更されないことに注意してください。そのため、タブのグループ (すべての Web サーバーなど) を識別するアイコンとして使用したり、タブを使用せずにサーバーごとに 1 つのウィンドウだけを使用することもできます。
答え2
ほとんどの Linux ターミナル ソフトウェアでは、動作を設定するためのコマンド ライン フラグが提供されます (最も基本的なものでも) xterm
。
お客様の要件のいくつかについて説明しましょう:
- セッションごとにアイコン グラフィックをカスタマイズできます (つまり、ディスク上の任意の画像を指定できます)。
これらはターミナルプログラムとは何の関係もありません。これらはターミナルプログラムを起動する「ショートカット」アイコンです(あなたが探しているのはそれだと思います)。。デスクトップファイル形式。
- セッションごとに背景、前景色、カーソルの色をカスタマイズできます。
お気に入りのターミナル プログラムにどのようなコマンド ライン フラグがあるか調べる必要があります。たとえば、xterm には-fg
および があります-bg
。
$ xterm -fg gold -bg darkblue
- できれば、セッションごとにカスタマイズ可能な ANSI カラー (「明るい」カラー 8 から 15 を含む) も必要です。背景色が赤の場合、ANSI の赤と明るい赤を微調整して、背景色と少し異なる色にしたいからです。(はい、その微調整を自動化するスクリプトも入手しました)
ANSI カラーはあらかじめ定義された標準です。変更しないでください。ほとんどのターミナル プログラムでは、通常の 16 色の ANSI カラーに限定されない、多数のカラー パレットから「デフォルト」の前景色と背景色を指定できます。これらのカラーの完全なリストについては、rgb.txt ファイルを参照してください。このファイルは Linux ディストリビューションのどこかにあり、「標準」の X11 カラーが含まれています。Ubuntu では、/usr/share/X11/rgb.txt にあります。
追加の識別情報として、ほとんどのターミナル プログラムではウィンドウ タイトルを設定できます。たとえば、古き良き xterm では次のように使用できます。
$ xterm -bg darkblue -fg gold -title "My terminal"
さらに、実行するコマンドも入力します。
$ xterm -bg darkblue -fg gold -title "Web Server" -e "ssh [email protected]"
最終的に次のような結果になります。
このコマンドを、Web サーバーのアイコンへのポインターとともに「Web Server.desktop」ファイルのターゲットに入力すれば、完了です。
編集:
アイコンをどのように使用したいかについて少し読みました。
タイトルバーのアイコンを設定するには、「iconPixmap」X リソースを設定します。これは、-xrm
「XBM」ファイルを指すフラグを使用して実行できます。
$ xterm -xrm '*iconPixmap: /path/to/icon.xbm'