Você pode usar tty para obter o nome do terminal virtual atual e testá-lo com uma instrução case :
#!/bin/sh
case $(tty) in /dev/tty[0-9]*)
vlock ;;
esac
Eu gostaria de autologin para tty1 no login e use vlock para bloqueá-lo.
Como posso detectar do Bash se o terminal atual é um terminal virtual do console (por exemplo, tty1 ), para que eu possa colocar a linha vlock em .bash_profile e executá-la somente se efetuar login por tty1 ?
Geralmente, é suficiente simplesmente testar STDIN (FD0):
[ -t 0 ] && echo "TTY available" || echo "No TTY available"
Tags console tty terminal shell-script