我正在尝试找出一种方法,让我可以在非 root 用户下启动 TMUX,但在 Linux 启动时自动启动。
至少那是我认为我需要的。我什么想是能够使用上述用户通过 SSH 连接到远程机器并输入“tmux Attach”并查看启动 TMUX 时启动的正在运行的程序。
问题似乎是我无法通过 rc.local 文件(Linux CentOS 6.3)在选择的用户下启动 TMUX,但 TMUX 会话似乎属于 root。通常不是问题,但我想使用 SSH 并且不想尝试以 root 身份使用 SSH。
有没有办法在执行 rc.local 脚本时“切换”到不同的用户?顺便说一句,我确实有 TMUX 通过脚本启动和启动我的程序,但我需要以该用户身份登录才能使用 SSH 查看程序。
答案1
任何用户都可以通过添加 crontab 条目而@reboot
不是时间来在启动时运行某些内容。编辑用户的 crontab(crontab -u joe -e
以 root 或crontab -e
joe 身份)并添加如下行:
@reboot /home/joe/bin/start-tmux
其中start-tmux
是启动 tmux 会话的脚本。
答案2
初始化脚本在 root 用户下运行。用于su
更改为有问题的用户:
su nonprivileged_user -c 'tmux commands go here'
答案3
写了一篇关于这个主题的小文章,你可以看看。 https://kerpanic.wordpress.com/2017/03/30/loading-tmux-on-boot-in-linux/