Для загрузки в текстовом режиме
sudo vim / etc / default / grub
и измените следующую строку:
GRUB_CMDLINE_LINUX_DEFAULT="text"
выйти и войти:
sudo update-grub
Автоматический вход в текстовом режиме без указания имени пользователя или пароля
Upstart Версии Ubuntu
Добавьте -a <your-user-name>
к строке:
exec /sbin/getty -8 38400 tty1
в файле /etc/init/tty1.conf
вот так:
exec /sbin/getty -8 38400 tty6 -a gruber
/etc/init/tty1.conf - это задание upstart, которое запускается в подходящее время для запуска сеанса терминала на tty1. Добавление -a
опции говорит getty вызвать программу входа в систему с параметром -f для входа этого пользователя, минуя приглашение пользователя от getty и приглашение пароля от входа в систему.
Upstart - это система Ubuntu, которая работает как процесс инициализации ядра (процесс 1).
Я проверил это на моем tty6, и он отлично работал. Из-за вырвавшейся линии респауна, если вы выйдете из оболочки, она автоматически запустится снова
Системные версии Ubuntu
Более новые версии Ubuntu в основном используют systemd для управления системными процессами. Поэтому есть новые способы ведения дел.
Использование systemd tty также немного отличается от графических терминалов, возможно, работающих на первых нескольких виртуальных терминалах. tty6 зарезервирован, чтобы быть текстовым виртуальным терминалом с systemd, и, вероятно, будут и другие.
Чтобы tty6 входил в систему при входе:
sudo systemctl edit getty@tty6
Нано-редактор появится во временном файле. Введите в этот редактор следующее:
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -f gruber' -a gruber --noclear %I $TERM
Выйдите из редактора.
Добавление дополнительной строки ExecStart = не является опечаткой. это очень важно, так как говорит systemd забыть об оригинальном параметре ExecStart, о котором он уже знает (из /lib/systemd/system/getty@.service), так что вы можете заменить ExecStart.
Вы можете проверить результаты с помощью следующей команды:
systemd-analyze verify getty@tty6.service
Когда я пытаюсь это сделать, я вижу там некоторые предупреждения, но не о том, что мы здесь делаем.
Если процесс tty уже выполняется tty6, вам придется перезапустить его, чтобы увидеть результаты.
Чтобы понять это, я сослался на отличный ответ на /ubuntu//a/659268/63886 . Там Муру использовал ту же цель в качестве примера того, как настроить systemd. Его линия ExecStart:
ExecStart=-/sbin/agetty -a muru --noclear %I $TERM
Разница в том, что в моей версии появилось еще пара системных переменных среды.
Конечным результатом вышеописанного редактирования является создание файла с именем override.conf в /etc/systemd/system/getty@tty6.service.d/, содержащего только то, что вы ввели выше. Если бы вы создали такой файл самостоятельно, вам нужно было бы запустить systemctl daemon-reload
команду, чтобы systemd распознал его, и снова, возможно, затем перезапустить любой существующий процесс agetty на этой виртуальной консоли. systemctl --edit позаботится о перезагрузке демона.