Eu gostaria de alcançar o seguinte:
Ao clicar em uma entrada do Menu Aplicativos, inicie um servidor Minecraft, que no momento está rodando na minha máquina Ubuntu, mantendo a janela Terminal aberta (como um Console). Posso então gerenciar o servidor a partir dessa 'janela do console' quando retornar à 'tela'.
Eu tentei este script a partir de um arquivo .sh na minha área de trabalho até fazê-lo funcionar:
#!/bin/bash
screen
cd /media/terabyte/minecraft/
./start.sh
Mas o terminal fecha e o servidor fica em execução, mas não consigo controlá-lo e devo eliminá-lo do gerenciador de tarefas.
Responder1
Para executar o servidor Minecraft em uma sessão de tela e mantê-la aberta quando o servidor Minecraft for encerrado, altere seu script para:
#/bin/bash
screen -m bash -c 'cd /media/terabyte/minecraft/ && ./start.sh ; bash'
Isso executará a tela e, dentro da sessão da tela, executará os comandos para iniciar o servidor. Assim que o servidor for iniciado, bash
é chamado para manter um terminal aberto. Caso contrário, a sessão de tela terminaria.
Para mover imediatamente esta sessão de tela para segundo plano, inclua a -d
opção (desanexar). Em seguida, você precisará se conectar a essa sessão de tela primeiro para ver o prompt do bash pertencente a essa sessão.