Tự động đăng nhập với GUI bị vô hiệu hóa trong Raspbian


15

Làm cách nào để tôi có thể tự động đăng nhập RPi khi khởi động, khi GUI bị tắt?

Bạn không cần phải nhập mật khẩu, khi đăng nhập khi bật GUI, vì vậy có thể có một cách dễ dàng để vô hiệu hóa lời nhắc mật khẩu trong bảng điều khiển.


Rất nguy hiểm, tôi đã bỏ lỡ một chút về việc không có mật khẩu và dường như đã làm hỏng thẻ SD. Được cảnh báo!

Câu trả lời:


19

Đối với Raspbian Wheezy:

Bạn sẽ có thể chỉnh sửa tệp / etc / inittab để bật autologin.

Tìm một dòng như thế này trong / etc / inittab

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

Điều này bắt đầu quá trình getty trên tty1. Bạn có thể thêm --autologintùy chọn getty vào dòng đó:

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

Thay thế {USERNAME} bằng người dùng bạn muốn đăng nhập.

Lưu ý Tôi chưa kiểm tra điều này, hãy kiểm tra trang chủ để biết thêm chi tiết.

Cập nhật: Raspbian Jessie sử dụng systemd nên inittab không được sử dụng. Dưới đây là Câu hỏi thường gặp có thể giúp ích cho Jessie: https://fedoraproject.org/wiki/Systemd#How_do_I_set_automatic_login_on_a_virtual_console_terminal.3F

Câu hỏi thường gặp dành cho Fedora nhưng nó sẽ rất giống với Raspbian Jessie.

CẬP NHẬT2: Trang ở trên đã biến mất, vì vậy đây là nội dung từ máy Wayback:

Làm cách nào để đặt đăng nhập tự động trên thiết bị đầu cuối bảng điều khiển ảo?

Đầu tiên tạo một dịch vụ mới tương tự như 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

sau đó chỉnh sửa các giá trị ExecStart, Restart và Alias, như thế này:

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

và cuối cùng tải lại daemon và bắt đầu dịch vụ:

systemctl daemon-reload
systemctl start getty@tty8.service

Lưu ý rằng nếu bạn thoát phiên tty8, bạn sẽ không thể sử dụng nó cho đến khi khởi động lại hoặc khởi động thủ công tiếp theo bởi systemctl, trừ khi bạn rời khỏi Khởi động lại như 'luôn luôn', nhưng tôi khuyên bạn nên tránh điều này theo lý do bảo mật.


1
Tôi đã thử nó; nó hoạt động tốt. Ngoài ra, hãy đặt một cái gì đó vào ~ / .bash_profile và nó sẽ tự động chạy sau khi bạn đăng nhập.
greggo

2
Hãy cập nhật câu trả lời! Không có /etc/inittabtập tin trong raspbian jessie.
Oki Erie Rinaldi

@OkiErieRinaldi Tôi đã thêm một liên kết có thể giúp với Jessie.
Craig

Không, tôi vẫn nhận được lời nhắc đăng nhập khi khởi động.
IgorGanapolsky

Giải pháp Raspbian Jessie không hoạt động.
piepi

5

có một cách dễ dàng hơn để làm điều này bằng cách sử dụng raspi-config, bài viết này giải thích nó http://www.opentechguides.com/how-to/article/raspberry-pi/5/raspberry-pi-auto-start.html

hiển thị:

  1. Cách tự động đăng nhập vào dấu nhắc shell (sử dụng phương thức tương tự như trên)
  2. Chạy script khi khởi động
  3. Tự động khởi động máy tính để bàn bằng raspi-config

1
Bài viết này cho biết cách tự động đăng nhập vào máy tính để bàn bằng raspi-config, nhưng câu hỏi đặt ra là làm thế nào để tự động đăng nhập khi không có GUI hoặc Desktop (vì vậy hãy đưa ra dấu nhắc shell). Tuy nhiên bài viết này cũng chỉ ra cách tự động đăng nhập vào shell.
kolin

2

Điều này làm việc cho tôi với Jessie Lite:

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

nội dung:

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

chỉ nắm bắt là tôi không thể đăng nhập bằng SSH nữa - truy cập bị từ chối. :-(


1
Một câu trả lời tốt sẽ đưa ra một dấu hiệu về lý do tại sao nó hoạt động. Hai bước đó làm gì? Bạn thực sự có thể nói nó hoạt động nếu nó phá vỡ SSH?
Jacobm001

Điều này không hiệu quả! Vẫn buộc tôi phải đăng nhập tại dòng lệnh.
IgorGanapolsky

sử dụng $ TATE có hiệu quả với bạn không? ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
esharp

0

Nếu bạn muốn tự động đăng nhập vào Raspberry Pi trên dòng Nối tiếp, bạn cần chỉnh sửa tệp / etc / inittab trên pi với quyền sudo.

Tìm một dòng như thế này trong / etc / inittab

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

Thêm tùy chọn getty --autologin vào dòng đó.

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

Lưu và khởi động lại.


Là gì T0:23?? Tôi nghĩ rằng nó nên được 1:2345.
IgorGanapolsky

0

Tôi đang chạy NOOBS và có tệp inittab hơi khác. Đây là những gì tôi đã thay đổi kết hợp cả "--autologin" trên dòng T0 và dòng 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

Vì vậy, phương thức lightdm.conf không hoạt động với tôi, sau một chút chơi xung quanh phương pháp đơn giản nhất tôi tìm thấy ở bên dưới.

cd / etc / systemd / system /

từ đó loại: ls

bạn sẽ thấy autologin @ .service

chỉ sudo nano autologin @ .service

và thay đổi dòng ExecStart = - / sbin / agetty --autologin pi --noclear% I $ TATE

đến

ExecStart = - / sbin / agetty --autologin [Tên người dùng] --noclear% I $ HẠN

trong đó [Tên người dùng] được đặt người dùng bạn muốn đăng nhập mà không có dấu ngoặc.

bây giờ tôi đã có pi đăng nhập tự động làm việc bằng cách sử dụng cài đặt raspi-config, nhưng đã sử dụng phương pháp trên để thay đổi tự động cho một người dùng mới.

hi vọng điêu nay co ich

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.