Defina um excelente perfil de tela GNU usando .creenrc

Shutterstock / Andrey Suslov

screen, o utilitário Linux que permite iniciar uma "tela" dentro de um terminal, é um pouco subconfigurado por padrão. Saiba como criar um ótimo perfil de exibição que carrega automaticamente toda vez que você usa a exibição.

índice

  1. O que é tela?
  2. instalação de tela
  3. Definindo uma configuração .screenrc grande
  4. Final

O que é tela?

Screen é um utilitário GNU (GNU é uma grande coleção de software de código aberto e seu empacotamento em um sistema operacional é comumente conhecido como Linux ) que permite iniciar uma ou mais telas em seu terminal.

Você pode perguntar por que eu gostaria de abrir uma tela dentro do meu terminal e você pode definir a tela melhor/mais? Claro. Imagine que você está usando um servidor SSH remoto e, de repente, sua conexão de rede cai, bem no meio de uma migração de banco de dados ou backup de produção, que estava sendo executado na janela do seu terminal. . Isso acontece regularmente e o problema é que qualquer comando que foi executado quando a conexão foi perdida agora é encerrado, independentemente do estado em que estava.

Esta situação claramente irritante é a que você quer evitar a todo custo. Não só pode deixar o sistema ou pacote de software em um estado indefinido, mas todo o trabalho feito até aquele ponto pode simplesmente ser perdido.

Bem-vindo ao screen , o utilitário Linux que permite iniciar uma sessão de terminal virtual (uma ' tela ') dentro da sessão de terminal, com a grande vantagem de que essa sessão de tela não terminará toda vez que a sessão for interrompida. a sessão de terminal que iniciou a sessão de screen (o processo pai). Você pode esperar que sua conexão de rede retorne ou abrir outro terminal se não estiver conectado via SSH e estiver trabalhando apenas na máquina local e simplesmente reconectar à sessão de tela.

Legal? Nós instalamos rapidamente o screen então, se você ainda não o fez:

instalação de tela

Para instalar a 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

Para instalar a 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 usá-la imediatamente. Basta executar a screen na linha de comando e você está dentro. Pode ser necessário pressionar enter ou a barra de espaço para revisar a screen inicial do arquivo de tela.

Você verá um novo prompt de comando. Pressione a sequência de CTRL+a > CTRL+d para retornar ao prompt principal da sessão do shell. Então, você pode fazer screen -ls para ver uma lista de sessões de tela ativas. Ao digitar o comando (no shell principal em que você está agora, se seguiu o texto de forma idêntica), screen -d -r o levará de volta à sessão de screen , desde que apenas uma sessão de tela esteja ativa, inicie muitas).

Se houver mais de uma sessão de tela em execução em seu sistema (e você a possui), você pode digitar screen -d -r NAME onde NAME é o nome de uma tela da lista screen -ls , por exemplo 367434.pts-1.roel1 , mesmo se você especificar apenas uma parte antes ou depois do ponto (como 367 ou pts ), que ainda identifica exclusivamente uma determinada sessão de tela, também é suficiente.

Vamos ver como podemos agora definir um ótimo perfil de exibição, baseado em um trecho de setup_server.sh , localizado no repositório Percona-QA GitHub (licença GPLv2), um script criado para configurar um servidor para testes de QA. Não recomendo executar este script, pois está desatualizado, usado apenas para referência e geralmente feito manualmente passo a passo. A única seção que usaremos é o arquivo. código .screenrc , que é reproduzido abaixo.

Definindo uma configuração .screenrc grande

O arquivo .screenrc é um arquivo de configuração oculto no diretório inicial. Para alterá-lo (provavelmente ainda não existe, especialmente se você acabou de instalar screen ), basta usar seu editor de texto favorito e abrir o arquivo ~/.screenrc . Se você tiver experiência com o Vim, você pode simplesmente digitar no prompt do seu terminal vi ~/.screenrc Se você quiser aprender mais sobre o Vi/Vim, considere ler nosso artigo Definir um ótimo perfil do Vim usando .vimrc.

~/.screenrc aberto, basta adicionar o seguinte bloco de texto:

 # Configurações gerais do vbell em vbell_msg '! Campainha! ' autodetach on startup_message off defscrollback 10000 # Termcapinfo por xterm termcapinfo xterm * Z0 = E[?3h:Z1=E[?3l:is=E[rE[mE[2JE[HE[?7hE[?1;4;6l # Não redimensiona a janela termcapinfo xterm* OL=1000 # Aumenta o buffer de saída para velocidade # Remove várias ligações do teclado bind x # Não bloqueia a tela bind ^x # Idem bind h # Não grava a cópia da tela no disco bind ^h # Idem bind ^ # Não mate todas as janelas/sair da tela bind . # Desativa dumptermcap # Adiciona ligações de teclado bind } history bind k kill 

Se você não quiser usar um editor de texto, ou quiser de alguma forma fazer um script da instalação deste arquivo .screenrc em muitos sistemas, você pode usar o seguinte código, que sempre que for colado ou executado a partir de outro script, criará o arquivo ~/.screenrc para o usuário que está executando o script. Vamos chamar nosso script make_screenrc.sh ou similar.

 #!/bin/bash # Cria script de tela ~/.screenrc touch ~/.screenrc if [ -z "$(cat ~/.screenrc|grep 'termcapinfo xterm')" ]; then cat< EOF> ~ / .screenrc # Configurações gerais do vbell em vbell_msg '! Campainha! ' autodetach on startup_message off defscrollback 10000 # Termcapinfo para xterm termcapinfo xterm * Z0 = E[? 3h: Z1 = E[? 3l: é = E[r E[m E[2J E[HE[? 7h E[? 1; 4; 6l # Não redimensiona a janela termcapinfo xterm * OL = 1000 # Aumenta o buffer de saída para velocidade # Remove várias ligações de teclado bind x # Não bloqueia a restrição de tela ^ x # Vincula o mesmo h # Não digita uma cópia da tela em disk binding ^h # Ditto bind ^ # Não mate todas as janelas / saia da tela de bind. # Desativa dumptermcap # Adiciona atalhos de teclas bind} histórico de binds k kill EOF fi

O script pré-seleciona várias configurações, e a maioria das mostradas aqui são autoexplicativas. Por exemplo, startup_message off simplesmente desliga a tela inicial que vimos anteriormente. defscrollback 10000 define nosso scrollback para 10000 linhas (você pode entrar no modo scroll/edit pressionando a sequência de CTRL+a > CTRL+ESC e você pode sair deste modo pressionando ESC uma ou duas vezes).

Também habilitamos uma campainha virtual (já que não podemos ouvir o bipe do alto-falante de um servidor remoto) usando a vbell on es vbell_msg '!Bell!' comandos que definem a mensagem da campainha virtual para '!Bell!' . No entanto, descobri que o sino virtual muitas vezes não funciona.

Em seguida, vamos configurar algum termcapinfo específico para expandir o buffer de saída e ajustar o tamanho da janela. Também removemos várias combinações de teclas potencialmente irritantes e adicionamos algumas configurações de teclado úteis.

Tudo o que precisamos fazer para ativar essa configuração .screenrc novamente é abrir um novo arquivo de sessão de screen . Agora vamos aproveitar as novas configurações definidas.

Final

A definição de um excelente arquivo .screenrc padrão ajuda quando você usa muito a screen . Desabilitar a tela inicial, aumentar o retrocesso e melhorar a velocidade do buffer de saída são apenas algumas das coisas que fizemos em nosso modelo .screenrc . Divirta-se usando a tela e o modelo .screenrc!

  • Como usar os horários de compromisso no Google Agenda
  • Como verificar a garantia do seu iPhone no aplicativo Configurações

descubra mais conteúdo

Google Pixel Watch também tem detecção de queda, mas não até o próximo ano

As melhores xícaras de café aquecidas de 2022

Como automatizar seu iPhone com base na hora, atividade ou localização

"Isso deve ter sido antes do meu tempo"

Por que a NASA enviou Snoopy para a Lua? – Revisão geek

O que é uma carga fantasma?

Deixe uma resposta Cancelar resposta

Ir arriba