是否有任何简单直接的方法可以让我设置我的 Debian 8.2 框在启动时使用控制台上的 root 帐户自动登录?
机器上没有安装 GUI。
按照以下指示在没有 GUI 的情况下在 Debian 6.0 中自动 root 登录(xserver)不起作用(文件不存在,选项已弃用)。
答案1
该文件/etc/inittab
不再使用systemd
。如果您愿意,您可以安装systemv
并找到一个全新的inittab
,但这意味着像螃蟹一样倒退。
您可以编辑该文件并更改行/lib/systemd/system/[email protected]
ExecStart=-/sbin/agetty --noclear %I $TERM
到
ExecStart=-/sbin/agetty --noclear -a root %I $TERM
这只是从agetty手册页中得出的,其中指出:
-a
,--autologin username
自动登录指定用户,无需输入登录名和密码。默认情况下,此
-f username
选项添加到命令行。此选项更改此默认行为,然后仅由替换,并且不会将其他选项添加到登录命令行。/bin/login
--login-options
\u
username
可以肯定的是,我刚刚在我的 Debian VM 上测试了这一点,并且它运行良好。
答案2
请勿直接编辑单元/lib/systemd
,因为它们由已安装的软件包管理,并且会在软件包升级期间被覆盖。
相反,使用$ sudo systemctl edit [email protected]
创建一个临时单位内容如下:/etc/systemd/system/[email protected]/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin your_user_name %I $TERM
它具有与@MariusMatutiae 的答案相同的效果,但在系统升级期间不会受到影响。
第一行选择[Service]
要覆盖的部分。第二行明确清除ExecStart
条目——否则原始ExecStart
条目/lib/systemd
仍然有效,因为单个服务单元ExecStart
中允许使用多个指令oneshot
。最后一行定义了新的ExecStart
命令行,这在@MariusMatutiae 的回答中已经解释过了。
请参阅systemd.unit(5) 手册页了解更多详细信息和示例。
答案3
您可以编辑文件 /lib/systemd/system/[电子邮件保护]并改变行
ExecStart=-/sbin/agetty --noclear %I $TERM
到
ExecStart=-/sbin/agetty --skip-login --login-options "-f root" %I 38400 linux
以 root 用户身份自动登录