Cada vez que inicio sesión en una máquina virtual con root, suen 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/nullpara 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/0porque 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/nullcreará 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_RIGHTSmensaje auxiliar en un socket de dominio Unix, en lugar de enviar solo el nombre de el terminal y haga que elscreenservidor intente abrirlo (y falle). Lo mismo contmux.fuente