Chciałbym AutoLogin aby tty1
podczas logowania, a następnie użyć vlock
, aby go zablokować.
Jak mogę wykryć w Bash, czy bieżący terminal jest terminalem wirtualnym konsoli (np. tty1
), Dzięki czemu mogę umieścić vlock
linię .bash_profile
i uruchomić ją tylko po zalogowaniu tty1
?
shell-script
terminal
console
tty
kiri
źródło
źródło
tty
może być źle zrozumiany, aby wykryć, czy bieżąca powłoka jest podłączona do pseudo-terminala.Odpowiedzi:
Możesz użyć,
tty
aby uzyskać nazwę bieżącego terminala wirtualnego, a następnie przetestować go za pomocącase
instrukcji:źródło
tty
pokaże pseudoterminal emulatora terminala, a nie fizyczny terminal, na którym działa X.Zasadniczo wystarczy po prostu przetestować STDIN (FD0):
źródło
.bash_profile
wywoływane są w powłokach logowania, a normalne logowanie GUI nie ma terminala, więc jedyną powłoką logowania terminala powinien być tty. Dobre znaleziskocron
lub”,at
aby uniknąć awarii, gdy skrypty przyjmują interaktywne dane wejściowe.