¿Cuál es la mejor manera de que la pantalla se ejecute automáticamente cuando abre un nuevo shell, ya sea por inicio de sesión, xterm o cualquier otra cosa?
Veo que la recomendación más común es colocar exec screen
el rc de su shell habitual o el archivo de inicio de sesión / perfil, pero, por ejemplo, tcsh, los shells de inicio de sesión ejecutan .login en último lugar, mientras que los shells sin inicio de sesión leen .cshrc en último lugar. Si pongo exec screen
.cshrc, los shells de inicio de sesión no generarán el archivo .login, y si lo pongo en .login, los shells que no inician sesión no mostrarán la pantalla. Supongo que hay problemas similares con otros proyectiles.
unix
shell
login
gnu-screen
wfaulk
fuente
fuente
Respuestas:
Una forma es:
Tenga en cuenta que esto está escrito para
bash
, pero también debería ser similarcsh
. Ponlo a.cshrc
ejecutar para todos los proyectiles.Otra forma: simplemente puede establecer
screen
como su shell de inicio de sesión en/etc/passwd
sí mismo, y poner esta línea a su~/.screenrc
: (Fijar la ruta, por supuesto).Pero esto puede interrumpir los programas que ejecutan el shell de inicio de sesión definido en
/etc/passwd
varios comandos.( Editar: No olvides agregar pantalla a
/etc/shells
)fuente
Antigua pregunta, pero buscar en Google lo mismo me trajo aquí, así que aquí hay una respuesta para cualquier otra persona que se encuentre con esta página.
Lo mejor que he encontrado hasta ahora es byobu si tu distribución lo tiene. Viene con una opción para ejecutarse al iniciar sesión y controla múltiples pantallas a la vez.
Puede separar y cerrar sesión en una ubicación y luego iniciar sesión en la misma sesión en otra ubicación.
Creo que la pantalla es excelente para ejecutar procesos de servidor, pero byobu es ideal para las cosas cotidianas.
fuente
¿Qué hay de usar chsh:
chsh /usr/bin/screen
Esto establece el shell de inicio de sesión predeterminado en / etc / passwd. (también podrías hacerlo allí)
fuente