在引导时,禁用GUI时如何使RPi自动登录?

在启用GUI的情况下登录时无需键入密码,因此可能是一种简单的方法在控制台中禁用密码提示的说明。

评论

非常危险,我错过了没有密码的问题,而且似乎已经把SD卡弄坏了。被警告!

#1 楼

对于Raspbian Wheezy:

您应该能够编辑/ etc / inittab文件以启用自动登录。

在/ etc / inittab
中找到这样的行
1:2345:respawn:/sbin/getty --noclear 38400 tty1


这将启动tty1上的getty进程。您可以在该行中添加getty --autologin选项:

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


用您要登录的用户替换{USERNAME}。

注意我尚未对此进行测试,请查看手册页以获取更多信息。

更新:Raspbian Jessie使用systemd,因此不使用inittab。
以下是对Jessie可能有用的常见问题解答:
https://fedoraproject.org/wiki/Systemd#How_do_I_set_automatic_login_on_a_virtual_console_terminal.3F

FAQ适用于Fedora,但在Raspbian Jessie上应该非常相似。

UPDATE2:上面的页面现在不见了,所以这里是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手动启动之前,您都无法使用它,除非您将“重新启动”保留为“始终”,但出于安全原因,我强烈建议避免这种情况。

评论


我已经测试过了它工作正常。另外,在〜/ .bash_profile中放入一些内容,登录后即可自动运行。

– greggo
13年1月18日在18:28

请更新答案! raspbian jessie中没有/ etc / inittab文件。

– Oki Erie Rinaldi
2015年12月1日15:39

@OkiErieRinaldi我添加了一个可能对杰西有所帮助的链接。

– Craig
2015年12月1日于16:35

不,启动后我仍然会收到登录提示。

– IgorGanapolsky
16年7月18日在2:04

Raspbian Jessie解决方案不起作用。

– piepi
17年1月1日,下午3:22

#2 楼

有一种使用raspi-config进行此操作的简便方法。本文对此进行了说明,网址为http://www.opentechguides.com/how-to/article/raspberry-pi/5/raspberry-pi-auto-start。 html

显示:


如何自动登录到shell提示符(使用与上述类似的方法)
在启动时运行脚本
使用raspi-config自动启动桌面


评论


本文显示了如何使用raspi-config自动登录到桌面,但是问题是询问没有GUI或桌面时如何自动登录(因此出现shell提示)。但是,本文还显示了如何自动登录到Shell。

–高岭土
13年5月15日在8:57

#3 楼

这对我和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登录-访问被拒绝。 :-(

评论


一个好的答案应该说明它为什么起作用。这两个步骤是做什么的?您真的可以说它可以破坏SSH吗?

–Jacobm001♦
16 Mar 4 '16 at 15:51

这行不通!仍然强迫我在命令行登录。

– IgorGanapolsky
16年7月18日在2:16

使用$ TERM对您有用吗? ExecStart =-/ usr / bin / agetty-自动登录用户名--noclear%I $ TERM

– esharp
16年8月1日在8:54



#4 楼

如果要在串行线路上自动登录Raspberry Pi,
,需要使用sudo权限编辑pi上的/ etc / inittab文件。

在/ 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。

– IgorGanapolsky
16年7月18日在2:18

#5 楼

我正在运行NOOBS,并且具有一个稍微不同的inittab文件。这是我更改的内容,将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


#6 楼

所以在下面找到了我发现的最简单的方法后,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

其中[Username]放置了您希望登录的用户,但没有括号。更改新用户自动登录的方法。

希望有帮助