Quelle est la meilleure façon d'exécuter automatiquement l'écran lorsque vous ouvrez un nouveau shell, que ce soit par connexion, xterm ou autre chose?
Je vois que la recommandation la plus courante est de mettre exec screen
dans le fichier rc ou login / profile de votre shell habituel, mais pour, par exemple, tcsh, les shells de connexion exécutent .login en dernier, tandis que les shells sans connexion lisent .cshrc en dernier. Si je mets exec screen
en .cshrc, les shells de connexion ne fourniront pas le fichier .login, et si je le mets en .login, les shells sans connexion ne s'exécuteront pas à l'écran. Je suppose qu'il y a des problèmes similaires avec d'autres obus.
unix
shell
login
gnu-screen
wfaulk
la source
la source
Réponses:
Une façon est:
Notez que ceci est écrit pour
bash
, mais devrait être similaire pourcsh
aussi. Mettez-le à.cshrc
exécuter pour tous les obus.Une autre façon: vous pouvez simplement définir
screen
votre shell de connexion en/etc/passwd
lui-même et mettre cette ligne dans votre~/.screenrc
: (Fixez le chemin, bien sûr.)Mais cela peut casser les programmes qui exécutent le shell de connexion défini dans
/etc/passwd
diverses commandes.( Modifier: N'oubliez pas d'ajouter l'écran à
/etc/shells
)la source
Vieille question, mais googler pour la même chose m'a amené ici, alors voici une réponse pour toute autre personne qui tombe sur cette page.
La meilleure chose que j'ai trouvée jusqu'à présent est byobu si votre distribution l'a. Livré avec une option pour s'exécuter à la connexion et contrôle plusieurs écrans à la fois.
Vous pouvez vous détacher et vous déconnecter à un emplacement, puis vous connecter à la même session à un autre emplacement.
Je trouve que l'écran est génial à utiliser pour exécuter des processus serveur, mais byobu est idéal pour les choses de tous les jours.
la source
Que diriez-vous d'utiliser chsh:
chsh /usr/bin/screen
Cela définit le shell de connexion par défaut dans / etc / passwd. (vous pouvez le faire là aussi)
la source