Как выполнить автоматический вход (без ввода имени пользователя и пароля) (в текстовом режиме)

Я установил Ubuntu 12.04 & amp; и отредактировал файл / etc / default / grub для автоматической загрузки в текстовом режиме. но каждый раз, когда я включаю компьютер, он запрашивает имя пользователя и пароль (в текстовом режиме), я хотел, чтобы он автоматически входил в систему, не спрашивая имя пользователя и пароль, поэтому в графическом режиме я заходил в «Настройки системы -> Учетные записи пользователей» и проверял «Автоматический вход в систему», но это не сработало. так что мне делать, чтобы автоматически войти даже в текстовом режиме?

12
задан 19 August 2012 в 16:05

4 ответа

откройте терминал и сделайте как

sudo kate /etc/default/grub

затем найдите эту строку и изменитесь как показано ниже

GRUB_CMDLINE_LINUX_DEFAULT="text"

теперь закройте редактора и сделайте как

sudo update-grub 

и действительно перезапустите теперь

3
ответ дан 19 August 2012 в 16:05

sudo gedit etc/default/grub

и заменить

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

на

GRUB_CMDLINE_LINUX_DEFAULT="text"

Также комментарий GRUB_HIDDEN_TIMEOUT = 0 Эта строка предназначена для отображения меню GRUB (комментарий заключается в том, чтобы поставить «#» в строке)

sudo update-grub

и запустить x just type startx

0
ответ дан 19 August 2012 в 16:05
sudo update-rc.d -f gdm remove

Если вы используете Kubuntu, замените gdm на kdm в приведенной выше команде.

, если он по-прежнему выполняет графическую загрузку / выключение, но после загрузки вы попадете в командную строку. Вероятно, вам следует проверить конфигурацию grub. Для этого Нажмите здесь

0
ответ дан 19 August 2012 в 16:05

Для загрузки в текстовом режиме

sudo vim / etc / default / grub

и изменить следующую строку:

GRUB_CMDLINE_LINUX_DEFAULT="text"

exit и введите:

 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 для управления системными процессами. Поэтому есть новые способы ведения дел.

Системное использование также немного отличается от графических терминалов, возможно, работающих на первых нескольких виртуальных терминалах. 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, вам придется перезапустить его, чтобы увидеть результаты.


Чтобы понять это, я сослался на отличный ответ по адресу https://askubuntu.com/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 позаботится о перезагрузке демона.

0
ответ дан 19 August 2012 в 16:05

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

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