tela, o utilitário Linux que permite que você inicie uma 'tela’ dentro de um terminal, é por padrão um pouco mal configurado. Aprenda a criar um ótimo perfil de tela que carrega automaticamente toda vez que você usa a tela.
O que é tela?
Screen é um utilitário GNU (GNU é uma grande coleção de software de código aberto, e seu agrupamento em um sistema operacional é comumente conhecido como Linux) que permite que você inicie uma ou mais telas dentro de seu terminal.
Você pode perguntar por que eu gostaria de iniciar uma tela no meu terminal, e pode definir tela Melhor / mais longe? Certo. Imagine que você está usando um servidor SSH remoto e, de repente, sua conexão de rede foi interrompida, bem no meio da migração do banco de dados ou backup de produção, que estava sendo executado dentro de sua janela de terminal. Acontece regularmente, e o problema é que qualquer comando que estava sendo executado quando a conexão foi interrompida agora está encerrado, independentemente do estado em que você estava.
Esta situação claramente irritante é aquela que você deseja evitar a todo custo.. Você não pode apenas deixar o sistema ou pacote de software em um estado indefinido, mas todo o trabalho feito até agora pode simplesmente ser perdido.
bem-vindo a screen
, o utilitário Linux que permite iniciar uma sessão de terminal virtual (uma ‘tela‘) dentro de sua sessão de terminal, com a principal e grande vantagem de que a referida sessão de tela não será encerrada toda vez que a conexão de rede for interrompida, ou quando você fecha a sessão de terminal que iniciou o screen
sessão (o procedimento pai). Você pode apenas esperar até que sua conexão de rede volte, ou abra outro terminal se você não estiver conectado via SSH e trabalhando apenas na máquina local, e apenas reconectar à sua sessão de tela.
Excelente? Vamos instalar rapidamente tela então, se você ainda não fez:
Instalando tela
Instalar tela em sua distribuição Linux baseada em Debian / Apt (como Ubuntu e Mint), execute o seguinte comando em seu terminal:
sudo apt install screen
Instalar tela em sua distribuição Linux baseada em RedHat / Yum (como RHEL, Centos e Fedora), execute o seguinte comando em seu terminal:
sudo yum install screen
Agora que a tela está instalada, você pode começar a usar imediatamente. Apenas corra screen
na linha de comando e você já está dentro. Você pode precisar pressionar Enter ou espaço para percorrer o screen
Tela de boas vindas.
Você verá um novo prompt de comando. Pressione a sequência de teclas CTRL+a
> CTRL+d
para retornar ao prompt de comando da sessão shell principal. Então, pode executar screen -ls
para ver uma lista de sessões de tela ativas. Escreva o comando (no shell principal você está agora se você seguiu o texto de forma idêntica), screen -d -r
vai te trazer de volta para screen
sessão, contanto que haja apenas uma sessão de tela ativa (pode começar muitos).
Se houver mais de uma sessão de tela em execução no seu sistema (e é propriedade dele), Você pode digitar screen -d -r NAME
Onde NAME
é o nome de uma tela de acordo com a lista screen -ls
, como um exemplo 367434.pts-1.roel1
, mesmo se você só especificar qualquer parte antes ou depois do ponto (O que 367
o pts
), que ainda identifica uma sessão de tela específica, também é suficiente.
Vamos ver como podemos definir um ótimo perfil de tela, baseado em um trecho de setup_server.sh, localizado no repositório GitHub Percona-QA (GPLv2 licenciado), um script criado para configurar um servidor para teste de controle de qualidade. Eu não recomendo que você execute este script, uma vez que está desatualizado, é usado apenas para referência e, em geral, executar manualmente passo a passo. A única seção que usaremos é a .screenrc
código, reproduzido abaixo.
Definindo uma grande configuração .screenrc
a .screenrc
O arquivo é um arquivo de configuração escondido em seu diretório pessoal. Para editá-lo (provavelmente ainda não existe, especialmente se você acabou de instalar screen
, apenas use seu editor de texto favorito e abra o arquivo ~/.screenrc
. Se você tem experiência com o Vim, você pode simplesmente digitar no prompt do seu terminal vi ~/.screenrc
. Para mais informações sobre o Vi / Vim, considere a leitura de nossa postagem Estabelecendo um ótimo perfil do Vim usando .vimrc.
Depois de abrir ~/.screenrc
, apenas adicione o seguinte bloco de texto:
# Configuración general vbell en vbell_msg '! Bell!' autodetach en startup_message off defscrollback 10000 # Termcapinfo para xterm termcapinfo xterm * Z0 = E[?3h:Z1=E[?3eu:is=E[rE[mE[2JE[HE[?7hE[?1;4;6eu # Do not resize window termcapinfo xterm* OL=1000 # Increase output buffer for speed # Remove various keyboard bindings bind x # Do not lock screen bind ^x # Idem bind h # Do not write out copy of screen to disk bind ^h # Idem bind ^ # Do not kill all windows/exit screen bind . # Disable dumptermcap # Add keyboard bindings bind } history bind k kill
If you do not want to use a text editor, or want to somehow script the installation of this .screenrc
file into many systems, you could use the following code instead, which will – whenever pasted, or executed from another script, create the file ~/.screenrc
for the user who is executing the script. Let’s call our script make_screenrc.sh
or similar.
#!/bin / bash # Create screen script ~/.screenrc touch ~/.screenrc if [ -Com "$(cat ~/.screenrc|grep 'termcapinfo xterm')" ]; después cat << EOF> ~ / .screenrc # Configuración general vbell on vbell_msg '! Bell!' autodetach on startup_message off defscrollback 10000 # Termcapinfo para xterm termcapinfo xterm * Z0 = E[? 3h: Z1 = E[? 3eu: é = E[r E[mim[2J E[ELE[ ? 7ele[? 1; 4; 6eu # Não redimensione a janela do termcapinfo xterm * OL = 1000 # Aumente o buffer de saída para velocidade # Remover vários links de teclado vincular x # Não bloqueie o link da tela ^ x # Idem enlazar h # Não escreva uma cópia da tela no link do disco ^ h # Idem enlazar ^ # Não mate todas as janelas / sair da conexão da tela. # Limite de termo de despejo de Deshabilitar # Adicionar links de ligação de teclado} história vincular k matar EOF fi
O script pré-define uma série de configurações, e a maioria dos mostrados aqui são autoexplicativos. Como um exemplo, startup_message off
apenas desligue a tela inicial que vimos antes. defscrollback 10000
define nossa rolagem para trás para 10000 linhas (pode entrar no modo de rolagem / edição pressionando a sequência de teclas CTRL+a
> CTRL+ESC
e você pode, portanto, sair pressionando ESC uma ou duas vezes).
Também ativamos um sino virtual (uma vez que não podemos ouvir o bipe do alto-falante de um servidor remoto) usando o vbell on
e vbell_msg '!Bell!'
comandos que configuram a mensagem da campainha virtual em '!Bell!'
. Apesar disto, Eu descobri que o capô virtual muitas vezes não funciona.
A seguir, nós estabelecemos alguns termcapinfo
códigos para expandir o buffer de saída e ajustar o tamanho da janela. Além disso, removemos vários atalhos de teclado potencialmente irritantes e adicionamos algumas configurações de teclado úteis.
Tudo o que faremos para ativar este novo .screenrc
configuração é abrir um novo screen
sessão. Agora vamos nos beneficiar da nova configuração estabelecida.
Final
Definindo uma grande falha .screenrc
o arquivo ajuda quando você usa screen
Muito de. Desligue a tela inicial, aumentar a rolagem para trás e melhorar o buffer de saída para velocidade são apenas algumas das coisas que fizemos em nosso .screenrc
modelo. Divirta-se usando a tela e o modelo .screenrc!!