¿Cómo uso la pantalla GNU de forma transparente?
-
20-08-2019 - |
Pregunta
Quiero usar la pantalla GNU de tal manera que el usuario no sepa que está ahí. Es para ayudar a garantizar que una aplicación de administración basada en texto que estoy escribiendo solo pueda ser utilizada por un solo usuario a la vez. Para evitar que los usuarios bloqueen a todos los demás ejecutando la aplicación y funcionando, dejándola funcionando cuando se va de vacaciones, quiero poder separar su sesión y permitir que otro usuario se conecte a ella.
Entonces mi pregunta es:
- ¿Puedo configurar la clave de escape en .screenrc como nula, para que el usuario no pueda acceder a ninguna de las funciones de la pantalla?
Solución
Parece que lo siguiente en .screenrc
hace el truco:
escape ''
Esto no establece el carácter de escape en '
, pero desactiva el mecanismo de escape por completo.
Otros consejos
Tal vez solo establezca el carácter de escape en .screenrc
en un carácter oscuro de la tabla ASCII que no puede escribirse en un teclado. Creo que el personaje 176 sería un ejemplo (o intente con cualquier otro fuera del rango normal):
escape ^°°
Simplemente colóquelo en su archivo .screenrc, y sus usuarios no podrán acceder a ninguna funcionalidad screen
:
perl -e 'print "escape ^", chr(176), chr(176), "\n"' >> .screenrc
Evitar que el usuario use la funcionalidad de Screen es una forma incorrecta (a menos que tenga un inicio de sesión compartido que ejecute su aplicación).
En su lugar, haga que su aplicación se ocupe del caso de uso que ha mostrado al cerrar sesión automáticamente, advirtiendo a los nuevos usuarios que se conectan y dándoles la opción de iniciar al otro usuario, manejando múltiples usuarios, etc.
en lugar de usar la pantalla, considere usar detachtty / attachtty