Me gustaría iniciar sesión automáticamente al tty1iniciar sesión y luego usarlo vlockpara bloquearlo.
¿Cómo puedo detectar desde Bash si el terminal actual es un terminal virtual de consola (p tty1. Ej. ), Para poder poner la vlocklínea .bash_profiley hacer que se ejecute solo si me conecto tty1?
shell-script
terminal
console
tty
kiri
fuente
fuente

ttypuede malinterpretarse para significar detectar si el shell actual está conectado a un dispositivo pseudo-terminal.Respuestas:
Puede usar
ttypara obtener el nombre del terminal virtual actual y luego probarlo con unacasedeclaración:fuente
ttymostrará el pseudoterminal del emulador de terminal, no el terminal físico en el que X se está ejecutando.Generalmente es suficiente simplemente probar STDIN (FD0):
fuente
.bash_profilese llama en los shells de inicio de sesión y el inicio de sesión normal de la GUI no tiene un terminal, por lo que el único shell de inicio de sesión del terminal debe ser un tty. Buen hallazgocronoattrabajos para evitar fallas cuando los scripts asumen entradas interactivas.