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

11

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

Navid777
источник
Попробуйте эту ссылку
персиковый
Этот вопрос добавляет условие, что идентификатор пользователя и пароль не должны вводиться в текстовом режиме для входа в систему.
Джон С. Грубер,

Ответы:

10

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

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 позаботится о перезагрузке демона.

Джон С. Грубер
источник
1
tty1работал нормально для меня.
Раззак
1
В моей системе нет файлов / etc / init / tty *
ka3ak
@ ka3ak Спасибо, что подняли это. В новой версии Ubuntu systemd и файлы конфигурации запуска различаются по содержанию и расположению. Я обновил ответ разделом systemd. Если вы решите попробовать, пожалуйста, прочитайте ответ Муру.
Джон С. Грубер
+1 за системное решение
Пол Гринберг
3

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

sudo kate /etc/default/grub

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

GRUB_CMDLINE_LINUX_DEFAULT="text"

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

sudo update-grub 

и перезагрузите сейчас

rɑːdʒɑ
источник
Мне нравится этот ответ, но вы можете добавить раздел from: to: для поиска этой строки и изменения части
RobotHumans
Я следовал инструкциям, но он все еще загружается в GUI. Может быть потому, что я использую виртуальную коробку?
errorhandler
1

sudo gedit etc/default/grub

и заменить

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

в

GRUB_CMDLINE_LINUX_DEFAULT="text"

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

sudo update-grub

и для начала х просто наберите startx

angelosclearchus
источник
1
Нет, я делал это раньше, я просто хочу, чтобы текстовый режим не запрашивал имя пользователя и пароль
Navid777
0
sudo update-rc.d -f gdm remove

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

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

Митч
источник
Я пробовал это, но он все еще загружается в GUI
обработчик ошибок
Тогда вы можете попробовать конфигурацию GRUB.
Митч