Автоматичний вхід із відключеним графічним інтерфейсом на Raspbian


15

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

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


Дуже небезпечно, я пропустив трохи про те, що не маю пароля і, здається, накрутив SD-карту. Будьте попереджені!

Відповіді:


19

Для Raspbian Wheezy:

Ви повинні мати змогу редагувати файл / etc / inittab, щоб увімкнути автоматичний вхід.

Знайдіть такий рядок у / etc / inittab

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

Це запускає процес getty на tty1. Ви можете додати параметр getty --autologinдо цього рядка:

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

Замініть {USERNAME} на користувача, якого ви хочете увійти.

Примітка. Я цього не перевіряв, перегляньте сторінку сторінки на отримання Getty для отримання більш детальної інформації

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

Найчастіші запитання є для 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, за винятком випадків, якщо ви не залишите перезапуск як "завжди", але настійно рекомендую уникати цього з міркувань безпеки.


1
Я перевірив це; це чудово працює. Крім того, введіть щось у ~ / .bash_profile, і воно запуститься автоматично після входу в систему.
greggo

2
Будь ласка, оновіть відповідь! Немає /etc/inittabфайлу в raspbian jessie.
Окі Ері Рінальді

@OkiErieRinaldi Я додав посилання, яке може допомогти Джессі.
Крейг

Ні, я все одно отримую підказку для входу під час завантаження.
ІгорГанапольський

Рішення Raspbian Jessie не працює.
піепі

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

Це працювало для мене з Jessie Lite:

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 - незрозуміло% I $ TERM

до

ExecStart = - / sbin / agetty --autologin [Ім'я користувача] - незрозуміло% I $ TERM

де [Ім'я користувача] розміщується користувачем, якого ви бажаєте ввійти без дужок.

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

сподіваюся, що це допомагає

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