как войти в tty при запуске

Я хочу выполнить некоторую команду на специальном tty (например, tty2) в моем запуске Linux так каждый раз, когда система перезагружает, это управляет, выполняют на этом tty. Я использовал эту ссылку, чтобы сделать так.

Это хорошо работает, но проблема в запуске, в который я должен войти, желаемые tty затем выполняют команды. Там какой-либо путь состоит в том, чтобы войти в tty некоторой командой вначале?Спасибо

1
задан 16 April 2017 в 12:12

2 ответа

Простое решение запущения программы, по моему скромному мнению, должен был бы объединиться --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
  • Если Вам нужно определенное изменение TTY isTTY кодируйте к этому: isTTY=$(tty | awk '{if ($0=="/dev/tty1") {print "true"}else{print "false"}}')
3
ответ дан 3 December 2019 в 06:40

следуйте ниже шагов.

Первая установка 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

2
ответ дан 3 December 2019 в 06:40

Другие вопросы по тегам:

Похожие вопросы: