Eu gostaria de autologin para tty1
no login e então usar vlock
para travá-lo.
Como posso detectar no Bash se o terminal atual é um terminal virtual do console (por exemplo tty1
), para que eu possa colocar a vlock
linha .bash_profile
e executá-la somente se estiver efetuando login tty1
?
shell-script
terminal
console
tty
kiri
fonte
fonte
tty
pode ser mal interpretado como detectar se o shell atual está conectado a um dispositivo pseudo-terminal.Respostas:
Você pode usar
tty
para obter o nome do terminal virtual atual e testá-lo com umacase
instrução:fonte
tty
mostrará o pseudoterminal do emulador de terminal, não o terminal físico no qual o X está sendo executado.Geralmente é suficiente simplesmente testar STDIN (FD0):
fonte
.bash_profile
é chamado nos shells de login e o login normal da GUI não possui um terminal, portanto, o único shell de login do terminal deve ser um tty. Boa localizaçãocron
ouat
jobs para evitar falhas quando os scripts assumem entrada interativa.