systemdユーザーサービスとしてtmuxを実行しようとしています~/.config/systemd/user/tmux.service
。でサービスを開始systemd --user start tmux
し、ターミナルからtmuxを実行すると、サービスのtmuxサーバーに正しく接続しているようです。
ただし、最後のセッションを閉じると、tmuxサービスが停止します。tmuxサーバーをSSHクライアントで利用できるようにしておきたいので、これは問題です。最後のセッションが閉じられた後にtmuxサーバーが自動的に停止しないようにするにはどうすればよいですか?
[Service]
Type=forking
ExecStart=tmux new-session -s %u -d
ExecStop=tmux kill-session -t %u
[Install]
WantedBy=default.target
解決:
[Service]
Type=forking
ExecStart=tmux new -s dummy -d
ExecStop=-tmux kill-server
Restart=on-success
[Install]
WantedBy=default.target
tmuxには、有効にすると、接続されているクライアントがない場合にサーバーが終了するというオプションがあります。exit-unattached
これは、で無効にできます。
set-option -s exit-unattached off
あなたの中で~/.tmux.conf
、しかしこれは私にとって(オンまたはオフ)何の効果もないようです、または私はそれが何を意味するのか誤解しました。
次の行を追加することで、systemdに終了時にサービスを再起動するように依頼できます
Restart=on-success
また、再起動時にコマンドの失敗を無視するために、コマンドのExecStop
前にを付けるように編集する必要があります(それまでにサーバーが実行されなくなったため)。-
kill-session
ExecStop=-/usr/bin/tmux kill-session -t %u
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加