Як автологуватися (без введення імені користувача та пароля) (у текстовому режимі)


11

Я встановив Ubuntu 12.04 & та відредагував файл / etc / default / grub для автоматичного завантаження в текстовому режимі. але кожного разу, коли я включаю комп'ютер, він запитує ім'я користувача та пароль (у текстовому режимі), я хотів, щоб він автоматично входив, не запитуючи імені користувача та пароля, тому у графічному режимі я перейшов до "Налаштування системи-> Облікові записи користувачів" і перевірив "Автоматичний вхід", але він не працював. так що мені робити, щоб автоматично увійти навіть у текстовому режимі?


Спробуйте це посилання
Peachy

Це запитання додає умову, щоб користувач і пароль не вводилися в текстовому режимі для того, щоб увійти.
John S Gruber

Відповіді:


10

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

sudo vim / etc / default / grub

і змінити наступний рядок:

GRUB_CMDLINE_LINUX_DEFAULT="text"

вийдіть і введіть:

 sudo update-grub

Автоматичне вхід у текстовий режим, не вказуючи userid або пароль

Версії 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 - початкове завдання, яке виконується у відповідний час для запуску термінального сеансу на 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

Я бачу деякі попередження там, коли я намагаюся це зробити, але не про те, що ми робимо тут.

Якщо в tty6 вже триває процес tty, вам доведеться перезапустити його, щоб побачити результати.


Щоб зрозуміти це, я посилався на відмінну відповідь на /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добре працював для мене.
razzak

1
У моїй системі немає файлів / etc / init / tty *
ka3ak,

@ ka3ak Дякую за те, що підняв це. Нові Ubuntu використовують системні та конфігураційні файли запуску різні за змістом та місцеположенням. Я оновив відповідь у розділі systemd. Якщо ви вирішите спробувати, прочитайте відповідь Муру.
Джон С Грубер

+1 для системного рішення
Пол Грінберг

3

відкрити термінал і зробити так, як

sudo kate /etc/default/grub

потім знайдіть цей рядок та змініть, як показано нижче

GRUB_CMDLINE_LINUX_DEFAULT="text"

тепер закрийте редактор і зробіть як

sudo update-grub 

і перезавантажте зараз


Мені подобається ця відповідь, але ви можете додати розділ з: до: знайти цей рядок і змінити частину
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

і для початку x просто наберіть startx


1
Ні, я робив це раніше, просто хочу, щоб у текстовому режимі не було запиту імені користувача та пароля
Navid777

0
sudo update-rc.d -f gdm remove

Якщо ви використовуєте Kubuntu, замініть gdm на kdm в команді вище.

якщо він все ще робить графічне завантаження / відключення, але він викине вас у командний рядок після завантаження. Ви, ймовірно, повинні перевірити конфігурацію груба. Для цього натисніть тут


Я спробував це, але він все ще завантажується в GUI
errorhandler

Тоді ви можете спробувати конфігурацію GRUB.
Мітч
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.