![如何自动登录(无需输入用户名和密码)(文本模式)](https://linux22.com/image/822469/%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E7%99%BB%E5%BD%95%EF%BC%88%E6%97%A0%E9%9C%80%E8%BE%93%E5%85%A5%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%89%EF%BC%88%E6%96%87%E6%9C%AC%E6%A8%A1%E5%BC%8F%EF%BC%89.png)
我已经安装了 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 配置。为此点击这里