デフォルトのcssh
ではなくterminator
にxterm
端末エミュレータを使用してほしい。 ~/.clusterssh/config
次の行を変更しました:
#terminal=/usr/bin/xterm
terminal=/usr/bin/terminator
しかし、cssh
を開始すると、次のエラーが発生します。
Opening to: server1 server2
Usage: terminator [options]
terminator: error: no such option: -g
Usage: terminator [options]
terminator: error: no such option: -g
Cannot open pipe for reading when talking to server1 : Interrupted system call
どうやら、cssh
はいくつかのパラメーターをxterm
に渡していますが、terminator
はこれを認識しません。
この問題を解決するにはどうすればよいですか?
ターミネーターが合成イベントを受け入れることを疑っており、ウィンドウモデルごとに複数の端末が互換性があるとは思わないので、これが機能しない可能性があると思いますが、最適なソースを試してみたい場合はREADME.Debian.gzです。 debianパッケージから。以下に関連する部分を含めましたが、ターミネーターのグループ化オプションを使用する方がおそらくはるかに簡単です。
Super + g:すべての端末をグループ化して、それらの1つに送信された入力がすべての端末に送信されるようにします。 (manページから)
端末エミュレータ
Clustersshでは、xSendEventsリソースをサポートしていないため、x-terminal-emulatorを提供するDebianターミナルエミュレーターの使用のみを許可していません。デフォルトでは、clustersshはxtermを呼び出します。これを変更するには、次の行を含むように構成ファイルを作成または変更します。
terminal = /path/to/my/favorite/terminal-emulator
このターミナルエミュレータは、「-xrm」コマンドラインスイッチを受け入れてXTerm.VT100.allowSendEvents:true(または同じことを行う何か)を設定する必要があることに注意してください。端末エミュレータが別のスイッチで同等の機能を提供する場合、または暗黙的に提供する場合は、設定ファイルのパラメータ「terminal_allow_send_events」でこれを設定できます。
Clustersshがuxtermで機能しない場合は、設定ファイルから「terminal_allow_send_events」オプションを削除するか、値を次のように更新する必要があります。
UXTerm.VT100.allowSendEvents:true
または単に:
*.VT100.allowSendEvents:true
Clustersshの古いバージョンでは、クラスが "XTerm"に設定された.csshrcファイルが作成され、uxtermがイベントを受信できなくなりました。
端末エミュレーターは以下も受け入れる必要があります。
-e <command> -font <font> System-wide configure changes can be made by editing /etc/csshrc.
テスト済みで、clustersshで動作しないことがわかっているDebianターミナルエミュレータパッケージ:
(メンテナに直接、またはバグ追跡システムを介して更新を送信してください)gnome-terminal konsole kterm xvt xfce4-terminal mlterm
テストされ、動作すると信じられているDebianターミナルエミュレータパッケージ:
xterm rxvt rxvt-beta aterm(〜/ .clusterssh/config内の "terminal_allow_send_events ="の場合のみ)wterm(〜/ .clusterssh/config内の "terminal_allow_send_events ="の場合のみ)pterm(出力が表示される前に入力フォーカスが必要です) eterm(-fontスイッチは使用しません)
Lxtermやuxtermのように、自分自身をすぐにバックグラウンド化するxtermラッパーは機能しないことに注意してください。
スクリプトを使用して端末を起動する場合は、スクリプトが引数として$ *を取り、それ自体がバックグラウンドにならないようにしてください。
terminator
はcssh
s(デフォルトまたはハードワイヤード)パラメータを受け付けないようです。これらを変更しようとする代わりに、ターミネーター起動用のラッパーを作成するのはどうでしょうか。
cat > /usr/bin/start_terminator.sh
#!/bin/bash
# debug info: dump parameters
echo "start_terminator.sh called with paremeters: ${@}" > /tmp/start_terminator.sh.cmdline
# now start terminator avoiding invalid parameters given by cssh
exec /usr/bin/terminator
^D
(^ DはCtrl + Dでキーボード入力とcat
コマンドを終了します)、次に
chmod 755 /usr/bin/start_terminator.sh
terminal=/usr/bin/terminator
のterminal=/usr/bin/start_terminator.sh
を~/.clusterssh/config
に置き換えます。この変更後にターミネーターが起動しない場合は、/tmp/start_terminator.sh.cmdline
のデバッグ出力を調べて、exec
ingするときに、一部のパラメーターを/usr/bin/terminator
に渡す必要があるかどうかを確認してください。
による - manual for cssh
これは言うことを持っています:
--tile、-g | --no-tile、-G有効|ウィンドウタイリングを無効にする(設定ファイルを上書きする)
そうは言っても、私はwindow tiling
オプションを確認してから manual for terminator
これはウィンドウのタイリングに関して言うべきことです:
--geometry = GEOMETRYターミネーターのウィンドウの適切なサイズと位置を指定します。 x(7)を参照してください。
cssh
の端末を切り替えるには、いくつかの一般的な構成オプションが必要になるようです。