Como o título diz, eu gostaria de configurar a tela GNU na minha caixa headless de forma que, quando ela inicializar, algumas telas já estejam em execução.
Meu .bashrc
arquivo é executado na tela no primeiro login screen -xRR
e eu gostaria htop
que vários logs fossem abertos automaticamente.
Também é possível atribuir títulos às telas ao mesmo tempo?
Responder1
Você pode definir janelas padrão em seu arquivo de configuração de tela, ~/.screenrc
.
Os títulos das janelas podem ser definidos em linha com a -t
opção, mas os diretórios de trabalho devem ser definidos antes do lançamento de cada janela. Por exemplo, no seu caso, você pode incluir o seguinte:
~/.screenrc
# ...
chdir ~
screen -t "Htop" htop
chdir /var/log
screen -t "System log" tail -F syslog
screen -t "Mail log" tail -F mail.log
chdir ~
screen # Extra Bash window for running commands
# ...
Observe que screen
aqui não é o screen
comando que você executa, mas um screen
comando interno. Verman screen
, seção sobre Personalização, ouo manual GNUpara mais.
Responder2
Você pode aproveitar a -S
bandeira e fornecer um nome exclusivo que gostaria de dar à tela.
screen -S MyTitleHere
Você também pode carregar arquivos de configuração, usando o -c
sinalizador.
screen -S foo -c /home/user/.screenrc.bar
Você poderia tentar algo como:
su -c "screen -dm -S $TITLE 2>&1 1>/dev/null" $USER
E coloque-o no seu /etc/rc.local
, o que faria com que essa tela fosse criada quando você inicializasse para um usuário específico.
Depois de configurar seus .rc
arquivos de configuração ( ), você provavelmente desejará executar algo como:
screen -dURS $TITLE -c /path/to/.screenrc.bar
Como isso vai
- Crie a sessão de tela se ela não existir
- Anexe novamente à sessão se ela já existir.
Outra opção seria usar tmux
e tmuxinator
, que proporcionam uma experiência mais limpa, na minha opinião. Você pode configurar tmux
o uso de atalhos de teclado no estilo de tela, se estiver acostumado com isso. Digo isso porque tive muito mais sucesso executando tmux
para outros usuários do que com tela.