web-dev-qa-db-ja.com

ssh経由でリモートサーバーに接続しているときにfishShellでtmuxを自動的に起動するにはどうすればよいですか?

bashからfishシェルに切り替えました。私はそれが好きで、私のサーバーでもそれを使うことに決めました。 tmux接続でsshを自動的に開始するにはどうすればよいですか? this bashの指示に従いましたが、fishシェルが異なり、このレシピは基本的な書き換えなしでは機能しません。

3
rominf

Byob 、tmuxをベースにしたターミナルマルチプレクサは、自動起動機能を提供します。

0
rominf

スクリプトを書き直しました。最もトリッキーな部分は、./.config/fish/config.fish内のsshが機能しなかったため、fishを終了してexitから切断することでした。

tmuxの親がfishである場合にのみ、sshを開始します。

これが私の./.config/fish/config.fishファイルの一部です:

if status --is-login
    set PPID (echo (ps --pid %self -o ppid --no-headers) | xargs)
    if ps --pid $PPID | grep ssh
        tmux has-session -t remote; and tmux attach-session -t remote; or tmux new-session -s remote; and kill %self
        echo "tmux failed to start; using plain fish Shell"
    end
end

もっと読みやすいバージョンは私の他の質問で見つけることができます( ばかげた-魚 、魚の殻の作者に感謝します): 魚の殻でブール値を使用する方法?

3
rominf