首先,感谢 Dustin 为 TMUX 创建了如此出色的包装器。我已经使用 TMUX 多年了,但这确实将事情提升到了一个新的水平。
好的,我正在使用 BYOBU 来监控和维护与加密货币挖矿相关的一系列屏幕。到目前为止,它运行良好
这是我正在使用的示例窗口文件
new -s mining -c /home/prospector/mining ./run.sh;
renamew -t0 dstm ;
splitw watch -n1 nvidia-smi ;
splitw -t0 tail -f /home/prospector/mining/logs/dstm.log ;
这很好用。现在,我希望能够在启动时生成它。我尝试在这个文件中添加来自 tmux 的 detach 关键字,并将其添加到 systemd 启动脚本中,但经过一番折腾之后,我还是不知道如何让它启动
这是我最近尝试的 systemd 脚本
[Unit]
Description=BYOBU Session with miner
After=network.target default.target
[Service]
Environment=BYOBU_WINDOWS=mining
Environment=HOME=/home/prospector
Environment=TERM=xterm-256color
ExecStart=/bin/bash -c '/usr/bin/byobu'
Type=oneshot
RemainAfterExit=yes
User=prospector
Group=prospector
[Install]
WantedBy=default.target
但当它启动时,我看到
单元 miner.service 已开始启动。 十二月 21 09:58:41 prospector bash[1062]: 打开终端失败:不是终端 十二月 21 09:58:41 prospector systemd[1]: miner.service: 主进程已退出,代码=已退出,状态=1/FAILURE 十二月 21 09:58:41 prospector systemd[1]: 无法启动与矿工的 BYOBU 会话。
我的下一次尝试是尝试以分离模式启动 tmux 服务器并获取我的 BYOBU 文件(这实际上有点作用),但是当 BYOBU 稍后启动并看到会话时,它会作为常规 tmux 会话加载……并且不会添加不错的 BYOBU 自定义
感谢所有能够提供帮助的人!
答案1
您可以在启动 Byobu 时向其后端(tmux 或屏幕)发出命令。
使用屏幕
byobu-screen -d -m ping google.com
使用tmux
byobu-tmux new-session -d -m ping google.com
# If tmux is default backend
byobu new-session -d -m ping google.com