Qual é a melhor maneira de executar a tela automaticamente quando você abre um novo shell, seja por login, xterm ou qualquer outra coisa?
Vejo que a recomendação mais comum é colocar exec screen
o arquivo rc ou de login / perfil do seu shell comum, mas, por exemplo, tcsh, os shells de login executam .login por último, enquanto os shells sem login leem .cshrc por último. Se eu exec screen
inserir o arquivo .cshrc, os shells de login não criarão o arquivo .login e, se eu o colocar em .login, os shells que não sejam de login não serão executados na tela. Presumo que haja problemas semelhantes com outras conchas.
unix
shell
login
gnu-screen
wfaulk
fonte
fonte
Respostas:
Uma maneira é:
Observe que isso foi escrito para
bash
, mas também deve ser semelhantecsh
. Coloque-o para.cshrc
ser executado para todas as conchas.Outra maneira: Você pode simplesmente definir
screen
como seu shell de login em/etc/passwd
si mesmo, e colocar esta linha ao seu~/.screenrc
: (Corrija o caminho, é claro.)Mas isso pode interromper os programas que executam o shell de login definido
/etc/passwd
para vários comandos.( Editar: não se esqueça de adicionar a tela
/etc/shells
)fonte
Pergunta antiga, mas pesquisar no Google pela mesma coisa me trouxe aqui, então aqui está uma resposta para qualquer pessoa que tropeça nesta página.
A melhor coisa que encontrei até agora é o byobu, se a sua distribuição o possuir. Vem com uma opção para executar no login e controla várias telas ao mesmo tempo.
Você pode desconectar e desconectar-se em um local e depois acessar a mesma sessão em outro local.
Acho que a tela é ótima para executar processos de servidor, mas o byobu é ótimo para as coisas do dia a dia.
fonte
Que tal usar chsh:
chsh /usr/bin/screen
Isso define o shell de login padrão em / etc / passwd. (você poderia fazer isso também)
fonte