DEV Community

Jian Wang
Jian Wang

Posted on

服务器 tmux 持久化问题

之前我都是通过 ssh 连接到学校的 HPC 上,然后运行 tmux
这样断开 ssh 之后 tmux 也还是会运行,方便我下次连接 ssh 的时候继续上次的工作
今天我发现断开 ssh 之后 tmux 也断了
可能是 ssh 断开之后服务器会自动杀死在 ssh 运行期间的后台任务
经过查询 chatgpt 找到如下解决方案
创建一个新的文件:~/.config/systemd/user/tmux@.service
输入如下内容:

[Unit]
Description=Tmux session %i
After=default.target

[Service]
Type=forking
ExecStart=/usr/bin/tmux new-session -d -s %i
ExecStop=/usr/bin/tmux kill-session -t %i
Restart=always
WorkingDirectory=%h

[Install]
WantedBy=default.target
Enter fullscreen mode Exit fullscreen mode

然后输入如下命令:

systemctl --user enable tmux@main
systemctl --user start tmux@main
Enter fullscreen mode Exit fullscreen mode

这样每次登录之后只需要运行 tmux attach -t main就可以连接到 tmux 了

Top comments (0)