Bom dia XTibianos!
Neste tutorial de hoje vou ensinar a instalar e utilizar o Screen. Mas antes disso, vou explicar o que é e para que serve.
O Screen (ou GNU Screen) é é um software livre multiplexador de terminal de linha de comando desenvolvido pelo Projeto GNU. Permite que o usuário acesse múltiplas sessões separadas de terminal a partir de uma mesma janela ou mesmo remotamente. É muito útil para manipular vários programas em uma mesma janela ou mesmo para manter processos em execução de fundo. [Wikipedia]
Ou seja, reusmidamente, o Screen é um software que permite você rodar várias áreas de trabalhos com vários processos executando.
E porque preciso de utilizar isso no meu servidor de OTServer?
Simples! Quando for abrir o servidor utilizando o comando ./theforgottenserver &, ao fechar o SSH, o servidor continua rorando, certo? Mas você não pode mais ver os logs que o executável gera em tempo real no linux. Porém.. se você abrir o servidor dentro de uma área de trabalho do Screen, isso é possível! Sem contar com várias outras vantagens como maior estabilidade e possibilidade de continuar trabalhando no SSH sem interromper o servidor ou ter que abrir outra janela!
Bom.. agora que já expliquei sobre o Screen.. Vamos ao tutorial!
1. Instalando o Screen:
1.1. Abra o terminal SSH do seu servidor.
1.2. Ao logar no servidor, rode o seguinte comando para instalar o Screen:
-> Servidores Ubuntu/Debian:
apt-get install screen
-> Servidores CentOS:
yum install screen
1.3. Pronto, Screen instalado! Simples, não?
Agora vamos a utilização!
2. Utilizando o Screen:
2.1. Abra o terminal SSH do seu servidor.
2.2. Para criar uma nova área de trabalho do Screen, utilize o comando:
screen -S NomeDaScreen
-> Por exemplo:
screen -S rodarServidor
2.3. Assim que o comando acima for executado, voce já estará em uma nova área de trabalho. Caso queira deixar algo rodando nela em segundo plano, basta rodar o que for rodar normalmente e sair da Screen sem fechar a área de trabalho.
-> Por exemplo:
screen -S TFS
nightz@servidor:~$ cd /home/otserv
nightz@servidor:/home/otserv$ ./theforgottenserver &
2.4. Depois que o comando já estiver rodando, basta pressionar as teclas CONTROL, A e D (Ctrl A + D). Ao "minimizar" a área de trabalho, o Screen vai exibir uma frase informando que "deu tudo certo".
-> Por exemplo:
screen -S tst
nightz@servidor:~$
[detached from 13077.tst]
2.5. Para entrar novamente na Screen, basta utilizar o comando abaixo:
screen -r -x NomeDaScreen
-> Por exemplo:
screen -r -x tst
2.6. Mas e se eu esquecer o nome da Screen? Calma.. Para listar todas as Screens em execução, utilize o seguinte comando:
screen -ls
-> Por exemplo:
nightz@server:$ screen -ls
There is a screen on:
13077.tst (10-06-2014 08:55:37) (Detached)
1 Socket in /var/run/screen/S-476175.
nightz@server:$
* De azul, temos o nome das Screens (neste caso, da Screen) em execução.
2.7. E para fechar uma Screen, ao em vez de minimizá-la, como faço? Simples! Utilize o comando abaixo após acessar a Screen que deseja fechar:
exit
Pronto!
3. Correção de problemas:
Aqui em baixo, vou postando soluções de possíveis problemas do Screen, a medida que forem sendo reportados. Até hoje, o único problema por qual já passei foi a pasta do Screen perder permissão, fazendo com que eu não consiga ver as Screens em aberto, mas esse problema só não permite que a mesma seja resumida, as Screens todas continuaram funcionando normalmente.
+ Problema: Directory '/var/run/screen' must have mode 777.
+ Solução: chmod 777 /var/run/screen.
Façam bom proveito!
(Esse tutorial foi completamente escrito por mim. Qualquer cópia deve ser previamente autorizada e conter os devidos créditos.)