基本エミュレータの代わりにターミナルエミュレータを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
この問題をどのように解決できますか?
答え1
ターミネーターが合成イベントを受け入れるかどうか疑わしく、ウィンドウモデルごとに複数の端末が互換性がないと思うので、動作しない可能性があると思います。しかし、最高のソースを試したい場合は、README.Debian.gzです。 Debianパッケージから。以下に関連部分を含めましたが、ターミネータのグループ化オプションを使用する方がはるかに簡単になる可能性があります。
Super + g:端末の1つに送信された入力がすべての端末に送信されるように、すべての端末をグループ化します。(マンページより)
端末エミュレータ
Clusterssh は、x-terminal-emulator を提供する Debian 端末エミュレータの使用を許可しなくなりました。その多くはXSendEventsリソースをサポートしていないためです。デフォルトでは、Clustersh は xterm を呼び出します。この設定を変更するには、次の行を含むように構成ファイルを作成または変更します。
terminal = /path/to/my/favorite/terminal-emulator
このターミナルエミュレータは、XTerm.VT100.allowSendEvents:true(または同じことを行う項目)を設定するには、「-xrm」コマンドラインスイッチを許可する必要があります。ターミナルエミュレータが他のスイッチを介して同等の機能を提供または暗黙的に提供する場合は、設定ファイルの "terminal_allow_send_events"パラメータを使用して設定できます。
uxtermでClustershを使用できない場合は、設定ファイルから "terminal_allow_send_events"オプションを削除するか、次のように値を更新する必要があります。
UXTerm.VT100.allowSendEvents:true
または簡単に:
*.VT100.allowSendEvents:true
以前のバージョンのClustershは、クラスが "XTerm"に設定された.csshrcファイルを生成し、uxtermがイベントを受け取らないようにします。
ターミナルエミュレータは以下も許可する必要があります。
-e <command> -font <font> System-wide configure changes can be made by editing /etc/csshrc.
Debian端末エミュレータパッケージはテストされており、Clustershでは動作しないことが知られています。
(更新内容は管理者に直接送信するか、バグ追跡システムを介して送信してください)GNOME ターミナルコンソール kterm xvt xfce4 ターミナル 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ラッパーは機能しません。
スクリプトを使用して端末を生成する場合は、$ *をパラメータとして受け入れ、それ自体が背景を設定していないことを確認してください。
答え2
s(デフォルトまたはハードワイヤー)パラメーターをterminator
許可していないようです。cssh
これを変更しようとする代わりに、終了者を起動するためのラッパーを作成します。
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
/usr/bin/terminator
exec
答え3
~によるとmanual for cssh
ここには次のようなものがあります。
--tile,-g|--no-tile,-G 有効|ウィンドウ タイリング無効(構成ファイルのオーバーライド)
ただし、window tiling
オプションを無効にしてから確認することをお勧めします。manual for terminator
窓のタイルについてこんな言葉があります。
--geometry=GEOMETRY 出口ウィンドウのデフォルトのサイズと位置を指定します。 x(7) を参照してください。
端末を切り替えるには、いくつかの一般的な設定オプションが必要なようですcssh
。