Я хочу выполнить некоторую команду на специальном tty (например, tty2) в моем запуске Linux так каждый раз, когда система перезагружает, это управляет, выполняют на этом tty. Я использовал эту ссылку, чтобы сделать так.
Это хорошо работает, но проблема в запуске, в который я должен войти, желаемые tty затем выполняют команды. Там какой-либо путь состоит в том, чтобы войти в tty некоторой командой вначале?Спасибо
Простое решение запущения программы, по моему скромному мнению, должен был бы объединиться --autologin
флаг getty
и функция, которая выполняет Ваши желаемые команды от .bashrc
.
Часть 1: автовойдите в getty
Как Вы можете или не можете знать, TTYs открыты с getty программой как сервис запуска в /etc/init/
каталог. Для Ubuntu программа по умолчанию agetty
, который имеет --autologin
флаг. Таким образом мы можем сделать следующее:
В выполненном терминале sudo nano /etc/init/tty1.conf
открыть init файл для TTY1 (замечают, что TTY1 является просто примером, могло быть то, какой бы ни Вы выбираете). Строка изменения
exec /sbin/getty -8 38400 tty1
кому:
exec /sbin/getty --autologin userName -8 38400 tty1
Замена userName
с Вашим фактическим именем пользователя.
Часть 2: выполнение функции на входе в систему оболочки
Системам Linux/Unix назвали эту миленькую программу tty
это сообщает, какой терминал Вы используете в данный момент. Например, в терминале гнома это сообщило бы о чем-то как
$ tty
/dev/pts/27
В TTY1 однако это сообщило бы
$ tty
/dev/tty1
Знание, что мы можем создать функцию наверху нашего $HOME/.bashrc
файл
function testTTY
{
isTTY=$(tty | awk '{if ($0~/\/dev\/tty.*/) {print "true"}else{print "false"}}')
if [ $isTTY == "true" ]; then
printf "You are in virtual console\n"
printf "current disk usage is"
df
fi
}
Затем у основания .bashrc
позвоните своей функции, просто как testTTY
. Так, определите функцию сначала, назовите ее позже.
Сторона отмечает:
if [];then ...fi
isTTY
кодируйте к этому: isTTY=$(tty | awk '{if ($0=="/dev/tty1") {print "true"}else{print "false"}}')
следуйте ниже шагов.
Первая установка mingetty: $ sudo склонный - получают mingetty
5.2 установки),/etc/init/tty1.conf
/* Редактирования Для того, чтобы сделать Корень как Вход в систему по умолчанию * /
Изменение: должностное лицо/sbin/getty-8 38 400 tty1
К: должностное лицо/sbin/mingetty - автовходит в корень - noclear tty1
/* Для того, чтобы сделать обычного пользователя как вход в систему по умолчанию * /
должностное лицо/bin/login-f abcuser </dev/tty1>/dev/tty1 2> & 1