Cada vez que inicio sesión en una máquina virtual con root, su
en una cuenta de usuario e intento usarla screen
, aparece un error:
Cannot open your terminal '/dev/pts/0' - please check.
Una publicación de Stack Overflow dijo que necesitaba usarlo script /dev/null
para solucionarlo, y funciona, pero aún no explica por qué necesito escribir script /dev/null
. Me gustaría entender qué hace y por qué necesito escribirlo.
terminal
gnu-screen
su
pty
CJL
fuente
fuente
Respuestas:
No puede abrir
/dev/pts/0
porque es propiedad de root, y después de ingresar a otro usuario ya no puede abrirlo a través de su ruta, pero aún puede usarlo a través del controlador abierto, que fue heredado del proceso padre.script /dev/null
creará otra pty, propiedad del usuario actual.De todos modos, ese error / limitación parece haberse solucionado en versiones recientes de
screen
(por ejemplo, 4.99.0), que enviará correctamente el identificador al terminal actual a través delSCM_RIGHTS
mensaje auxiliar en un socket de dominio Unix, en lugar de enviar solo el nombre de el terminal y haga que elscreen
servidor intente abrirlo (y falle). Lo mismo contmux
.fuente