Debian 8.0 中的自动 root 登录(仅限控制台)

Giz*_*zmo 8 linux debian

有没有什么简单直接的方法可以设置我的 Debian 8.2 机器在启动时使用控制台上的 root 帐户自动登录?

机器上没有安装 GUI。

按照没有 GUI (xserver) 的 Debian 6.0 中的自动 root 登录中的说明不起作用(文件不存在,不推荐使用选项)。

Mar*_*iae 15

该文件/etc/inittab不再使用systemd。如果你愿意,你可以安装systemv,你会发现自己是一个全新的inittab,但这意味着像螃蟹一样倒退。

您可以改为编辑文件/lib/systemd/system/getty@.service并更改行

  ExecStart=-/sbin/agetty --noclear %I $TERM
Run Code Online (Sandbox Code Playgroud)

  ExecStart=-/sbin/agetty --noclear -a root %I $TERM
Run Code Online (Sandbox Code Playgroud)

这只是从 agetty 手册页中得到的,其中指出,除其他外:

-a, --autologin username

自动登录指定用户,无需输入登录名和密码。该-f username选项/bin/login默认添加到命令行。该--login-options选项更改此默认行为,然后仅\u由 替换,username并且没有其他选项添加到登录命令行。

可以肯定的是,我刚刚在我的 Debian VM 上测试了它,它运行良好。


Arn*_*e97 9

不要/lib/systemd直接编辑单元,因为它们是由已安装的包管理的,并且会在包升级期间被覆盖。

相反,使用$ sudo systemctl edit getty@.service创建一个下拉单元/etc/systemd/system/getty@.service.d/override.conf具有以下内容:

[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin your_user_name %I $TERM
Run Code Online (Sandbox Code Playgroud)

它与@MariusMatutiae 的答案具有相同的效果,但在系统升级期间不会被触及。

第一行选择[Service]要覆盖的部分。第二行明确清除ExecStart条目——否则原来的ExecStartin/lib/systemd仍然有效,因为在单个服务单元中允许多个ExecStart指令oneshot。最后一行定义了新的ExecStart命令行,@MariusMatutiae 的回答中已经对此进行了解释。

有关更多详细信息和示例,请参阅systemd.unit(5) 手册页