SSHへのポート転送を自動的に生成するスクリプトがあります。一日中異なるサーバー上の複数のターミナルウィンドウで作業しているので、ポートが私の端にマップされていることを確認し、その場合はポートを+1に変更します。利用可能なポートが見つかりました。その後、ポート転送情報をエコーして実行しますssh -L<port1>:localhost:<port2> <server>
。単純な。
出力が多く、ポートが元々何にマッピングされたのか覚えていない場合は、最後までスクロールして検索する必要があります。これにより、上部に1行または複数行のテキストを追加し、その下にSSHセッションを追加する一種のラッパーがある可能性があると思いました。私は基本的なスケッチを自由に描きました。
私はインターネットを検索しようとしましたが、何も見つけるのが難しいです。存在する場合、コマンドは次のようになります。wrapper --text="Port forwards: L5901:localhost:5900, L8080:localhost:80" --command="ssh -L<port1>:localhost:<port2> <server>"
おそらくscreenを使用することも解決策かもしれませんが、1つのコマンドで「すべてのもの」を実行できることを願っています(テキスト行を追加+その下でSSHセッションを開始)。
答え1
Gnomeのタイトルバーを設定したところ、ウィンドウの上部に設定した内容が表示されます。
Bashがヘッダーを変更しないようにするには、次のようにします。
PROMPT_COMMAND=''
PS1='$ '
(PROMPT_COMMANDまたはPS1がタイトルバーを変更しようとする可能性があります)以下を使用してタイトルを設定します。
echo -ne "\033]0;new title with port number found\007"
サーバーのPS1にもタイトルが設定されていないことを確認してください。以下でこれを行うことができます~/.bashrc
。
if [ ! -z "$SSH_CLIENT" ] ; then
PS1='$ '
fi
(上記はUbuntu 12.04を実行しているサーバーに必要です。)
コマンドを実行してくださいssh
。
ssh -t user@server "PROMPT_COMMAND='' bash -l"
PS1とPROMPT_COMMANDは、いくつかのエスケープシーケンスを介してタイトルバーを設定しようとしない限り、より複雑になることがあります(\033]0;
または\e]0;
関連するすべてのソリューションとtmux
呪いscreen
ベースの画面行の維持により、Gnome端末スクロールバーの適切なスクロールが無効になります。