スタートGNU画面またはマルチプレクサ初期基本シェル(たとえば、chshを使用して設定します。)、次のパラメータ渡しはサポートされていないようです。画面の場合、「-d RR」そしてtmux「追加」。chshのパラメータは、シェルファイル実行可能ファイルのフルパス名です。(にリストされています/etc/shells
)。
画面の場合は、前の画面セッションに再接続する内部コマンドがありますか?それともどのような方法がありますか?引く前のスクリーンセッションから現在のセッションまでの個々のプロセスは何ですか?
~/.tmux.conf
tmuxの場合、ユーザープロファイル(デフォルト)から以前のセッションに直接移動するオプションを設定する方法はありますか?
引数なしでtmuxを開始した後(新しいセッションの作成)、手動で古いセッション(CTRL+ B、()に切り替えてから、新しく開始されたセッション(CTRL+ B、:kill-session -a
)を終了できます。
答え1
良いアイデア。次のようなラッパーを作成します/bin/my-screen
。
#!/usr/bin/env sh
screen -d -RR
実行可能にし、次に追加します/etc/shells
。
echo /bin/my-screen | sudo tee -a /etc/shells
デフォルトのシェルに設定します。
chsh --shell /bin/my-screen
一部のターミナルエミュレータ(たとえば、デフォルトxterm
で定義されているエミュレータ)はシェルを実行しませんが、最初に変数を確認します/etc/passwd
。$SHELL
これを次の項目に追加してみることができます~/.screenrc
。
screen -X screen -d -RR
ただし、このソリューションには潜在的な問題があることに注意してください。再接続する既存のセッションscreen
がないとscreen
、まったく起動できません。つまり
screen
、そのシェルをデフォルトのシェルに設定すると、システムにログインできなくなります。
答え2
私のzshrcの下部には次のものがあります。
[ -z "$TMUX" ] && {
tmux attach || tmux new-session
}
これまで何の問題も発生していませんでした。私の考えでは、そのサーバーで何年もあったようです。