如何自动登录(无需输入用户名和密码)(文本模式)

如何自动登录(无需输入用户名和密码)(文本模式)

我已经安装了 Ubuntu 12.04 并编辑了 /etc/default/grub 文件以自动启动到文本模式。但每次我打开电脑时它都会要求输入用户名和密码(在文本模式下),我希望它自动登录而不要求输入用户名和密码,因此在图形模式下我转到“系统设置->用户帐户”并检查“自动登录”,但它不起作用。那么我应该怎么做才能在文本模式下自动登录?

答案1

启动到文本模式

sudo vim /etc/default/grub

并更改以下行:

GRUB_CMDLINE_LINUX_DEFAULT="text"

退出并进入:

 sudo update-grub

自动以文本模式登录,无需指定用户名或密码

Ubuntu 的 Upstart 版本

添加-a <your-user-name>以下行:

exec /sbin/getty -8 38400 tty1

在文件 /etc/init/tty1.conf 中

像这样:

exec /sbin/getty -8 38400 tty6 -a gruber

/etc/init/tty1.conf 是 upstart 作业,它会在适当的时间运行以在 tty1 上启动终端会话。添加该-a选项会告诉 getty 使用 -f 选项调用 login 程序来登录该用户,从而绕过 getty 的用户提示和 login 的密码提示。

Upstart 是Ubuntu系统中作为内核init进程(进程1)运行的。

我在我的 tty6 上测试了它,效果很好。由于 upstart respawn 行,如果你退出 shell,它将自动重新启动。

Ubuntu 的 Systemd 版本

Ubuntu 的新版本主要使用 systemd 来管理系统进程。因此,有新的做事方式。

systemd tty 的使用也有点不同,图形终端可能在前几个虚拟终端上运行。tty6 保留为 systemd 的文本虚拟终端,并且可能还会有其他终端。

要让 tty6 在输入时登录:

sudo systemctl edit getty@tty6

临时文件中会出现一个 nano 编辑器。在该编辑器中输入以下内容:

 [Service]
 ExecStart=
 ExecStart=-/sbin/agetty -o '-p -f gruber' -a gruber --noclear %I $TERM

退出编辑器。

添加额外的 ExecStart= 行并不是拼写错误。这非常重要,因为它告诉 systemd 忘记它已经知道的原始 ExecStart 参数(来自 /lib/systemd/system/[电子邮件保护]),这样您就可以替换 ExecStart。

您可以使用以下命令检查结果:

 systemd-analyze verify [email protected]

当我尝试这个时,我看到了一些警告,但不是关于我们在这里所做的事情的。

如果 tty6 上已有一个 tty 进程运行,则必须重新启动它才能查看结果。


为了弄清楚这一点,我参考了https://askubuntu.com/a/659268/63886。Muru 恰好用了同样的目标作为如何定制 systemd 的示例。他的 ExecStart 行是:

 ExecStart=-/sbin/agetty -a muru --noclear %I $TERM

不同之处在于我的版本中出现了更多与 systemd 相关的环境变量。

上述编辑的最终结果是在 /etc/systemd/system/ 中创建一个名为 override.conf 的文件[电子邮件保护]/ 仅包含您在上面输入的内容。如果您要自己创建这样的文件,则需要运行命令systemctl daemon-reload以使 systemd 识别它,然后可能重新启动该虚拟控制台上任何现有的 agetty 进程。systemctl --edit 会为您处理守护进程重新加载。

答案2

打开终端并执行以下操作

sudo kate /etc/default/grub

然后找到此行并进行如下更改

GRUB_CMDLINE_LINUX_DEFAULT="text"

现在关闭编辑器并执行以下操作

sudo update-grub 

并立即重新启动

答案3

sudo gedit etc/default/grub

并替换

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

GRUB_CMDLINE_LINUX_DEFAULT="text"

另外注释 GRUB_HIDDEN_TIMEOUT=0 此行用于取消隐藏 GRUB 菜单(注释是在行中放入“#”)

sudo update-grub

要启动 x,只需输入 startx

答案4

sudo update-rc.d -f gdm remove

如果您使用 Kubuntu,请将上面的命令中的 gdm 替换为 kdm。

如果它仍然执行图形启动/关闭,但它会在启动后将您带到命令行。您可能应该检查 grub 配置。为此点击这里

相关内容