我想实现以下目标:
通过单击“应用程序菜单”条目,启动 Minecraft 服务器,该服务器目前在我的 Ubuntu 机器上运行,保持终端窗口打开(作为控制台)。然后,当我返回“屏幕”时,我可以从该“控制台窗口”管理服务器。
我已经尝试从桌面上的 .sh 文件运行此脚本,直到它正常工作:
#!/bin/bash
screen
cd /media/terabyte/minecraft/
./start.sh
但是终端关闭了,服务器仍在运行,但我无法控制它,必须从任务管理器中将其终止。
答案1
要在屏幕会话中运行 minecraft 服务器并在 minecraft 服务器终止时保持该服务器打开,请将脚本更改为:
#/bin/bash
screen -m bash -c 'cd /media/terabyte/minecraft/ && ./start.sh ; bash'
这将运行 screen,并在 screen 会话中运行启动服务器的命令。一旦服务器启动,bash
就会调用它来保持终端打开。否则,screen 会话将结束。
要立即将此屏幕会话移至后台,请包含-d
(detach) 选项。然后,您需要先附加到该屏幕会话,才能看到属于该会话的 bash 提示符。