Автоматический вход с отключенным GUI в Raspbian


15

Как я могу сделать автоматический вход в RPi при загрузке, когда графический интерфейс отключен?

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


Очень опасно, я пропустил немного о том, что у меня нет пароля, и, похоже, облажался с SD-картой. Имейте в виду!

Ответы:


19

Для Распбиана Уизи:

Вы должны иметь возможность отредактировать файл / etc / inittab для включения автологина.

Найдите такую ​​строку в / etc / inittab

1:2345:respawn:/sbin/getty --noclear 38400 tty1

Это запускает процесс getty на tty1. Вы можете добавить --autologinопцию getty к этой строке:

1:2345:respawn:/sbin/getty --autologin {USERNAME} --noclear 38400 tty1

Замените {USERNAME} на пользователя, которого вы хотите авторизовать.

Обратите внимание, я не проверял это, проверьте man-страницу для getty для более подробной информации.

Обновление: Raspbian Jessie использует systemd, поэтому inittab не используется. Вот часто задаваемые вопросы, которые могут помочь Джесси: https://fedoraproject.org/wiki/Systemd#How_do_I_set_automatic_login_on_a_virtual_console_terminal.3F

FAQ для Fedora, но он должен быть очень похож на Raspbian Jessie.

ОБНОВЛЕНИЕ2: вышеприведенная страница исчезла, так что вот содержимое машины Wayback:

Как настроить автоматический вход в терминал виртуальной консоли?

Сначала создайте новый сервис, похожий на getty @ .service:

# cp /lib/systemd/system/getty@.service \
     /etc/systemd/system/autologin@.service
# ln -s /etc/systemd/system/autologin@.service \
     /etc/systemd/system/getty.target.wants/getty@tty8.service

затем отредактируйте значения ExecStart, Restart и Alias, например:

...
ExecStart=-/sbin/mingetty --autologin USERNAME %I
Restart=no
...
Alias=getty.target.wants/getty@tty8.service

и, наконец, перезагрузите демон и запустите службу:

systemctl daemon-reload
systemctl start getty@tty8.service

Обратите внимание, что если вы выйдете из сеанса tty8, вы не сможете использовать его до следующей перезагрузки или запуска вручную с помощью systemctl, за исключением случаев, когда вы оставляете Restart как «всегда», но я настоятельно рекомендую избегать этого по соображениям безопасности.


1
Я проверил это; это работает отлично. Кроме того, поместите что-нибудь в ~ / .bash_profile, и он будет запущен автоматически после того, как вы вошли в систему.
greggo

2
Пожалуйста, обновите ответ! Там нет /etc/inittabфайла в raspbian jessie.
Оки Эри Ринальди

@OkiErieRinaldi Я добавил ссылку, которая может помочь с Джесси.
Крейг

Нет, я все еще получаю приглашение при загрузке.
Игорь Ганапольский

Решение Распби Джесси не работает.
piepi

5

есть более простой способ сделать это с помощью raspi-config, в этой статье это объясняется http://www.opentechguides.com/how-to/article/raspberry-pi/5/raspberry-pi-auto-start.html.

показывает:

  1. как автоматически войти в командную строку (используя метод, аналогичный описанному выше)
  2. Запускать скрипты при запуске
  3. Автоматический запуск рабочего стола с использованием raspi-config

1
В этой статье показано, как выполнить автоматический вход на рабочий стол с помощью raspi-config, но вопрос заключается в том, как выполнить автоматический вход при отсутствии графического интерфейса пользователя или рабочего стола (поэтому выводится приглашение оболочки). Однако в этой статье также показано, как выполнить автоматический вход в оболочку.
Колин

2

Это сработало для меня с Джесси Лайт:

sudo -i
mkdir -pv /etc/systemd/system/getty@tty1.service.d
nano /etc/systemd/system/getty@tty1.service.d/autologin.conf

содержание:

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin pi --noclear %I 38400 linux

Единственная проблема в том, что я больше не могу войти в систему, используя SSH - доступ запрещен. :-(


1
Хороший ответ должен дать представление о том, почему это работает. Что делают эти два шага? Вы действительно можете сказать, что это работает, если это нарушает SSH?
Jacobm001

Это не работает! Все еще заставляет меня войти в систему из командной строки.
Игорь Ганапольский

работает ли $ TERM для вас? ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
Esharp

0

Если вы хотите автоматически войти в Raspberry Pi на последовательной линии, вам нужно отредактировать файл / etc / inittab на pi с разрешениями sudo.

Найдите такую ​​строку в / etc / inittab

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Добавьте параметр getty --autologin в эту строку.

T0:23:respawn:/sbin/getty --autologin {username} -L ttyAMA0 115200 vt100

Сохраните и перезагрузите.


Что такое T0:23?? Я думал, что так и должно быть 1:2345.
Игорь Ганапольский

0

Я использую NOOBS и у меня был немного другой файл inittab. Вот что я изменил, объединив и «--autologin» в строке T0 и в строке 1: 2345:

#1:2345:respawn:/sbin/getty --noclear 38400 tty1"
1:2345:respawn:/bin/login -f pi tty1 <dev/tty1 >/dev/tty1 2>&1
T0:23:respawn:/sbin/getty --autologin pi - L ttyAMA0 115200 vt100

0

поэтому метод lightdm.conf у меня не сработал, после того, как я немного поигрался с самым простым способом, который я нашел ниже.

cd / etc / systemd / system /

оттуда типа: ls

вы увидите autologin @ .service

просто sudo nano autologin @ .service

и измените строку ExecStart = - / sbin / agetty --autologin pi --noclear% I $ TERM

в

ExecStart = - / sbin / agetty --autologin [имя пользователя] --noclear% I $ TERM

где [Имя пользователя] - это пользователь, которому вы хотите войти без скобок.

теперь у меня был пи-авто-вход, работающий с использованием настройки raspi-config, но я использовал описанный выше метод, чтобы изменить автологин для нового пользователя.

надеюсь это поможет

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.