在启动 Ubuntu Server Linux 时以特定用户身份打开屏幕会话

在启动 Ubuntu Server Linux 时以特定用户身份打开屏幕会话

我目前有一个私人服务器,我在上面测试我的网络应用程序,它运行 Ubuntu Server 10.04,我还为我的一些朋友托管了一些游戏服务器(而不是浪费 CPU 时间 :-D)。

这些游戏服务器我在游戏用户帐户中运行,每个服务器都有自己的屏幕会话(因此朋友可以通过 ssh 进入并重新启动游戏服务器等...)。例如,screen -R l4d2 在 L4D2 文件夹中运行 ./start。

但是,如果我重新启动服务器(我必须偶尔这样做),所有这些会话都会关闭,我必须手动创建所有屏幕会话并在其中运行所需的游戏。

有没有办法将这些屏幕会话设置为守护进程或服务,或者仅在服务器启动时启动,以便它们在服务器重启时自行重新启动?

我希望我的问题能够让大家容易理解,但请随意提问!

非常感谢,

答案1

来自屏幕手册页

 -d -m   Start screen in "detached" mode. This creates a new session but
           doesn't  attach  to  it.  This  is  useful  for  system startup
           scripts.

我可能会想在 /etc/rc.local 中放入一些类似的东西

su - <gameuser> -c "screen -d -m /var/games/l4d2/run_the_server"

相关内容