我已经安装了Ubuntu 12.04&,并编辑了/ etc / default / grub文件以自动启动进入文本模式。但是每次打开计算机时,它都会要求输入用户名和密码(以文本模式),我希望它自动登录而无需输入用户名和密码,因此在图形模式下,我转到“系统设置->用户帐户”并进行了检查“自动登录”,但没有成功。因此,即使在文本模式下,我也应该怎么做才能自动登录?
我已经安装了Ubuntu 12.04&,并编辑了/ etc / default / grub文件以自动启动进入文本模式。但是每次打开计算机时,它都会要求输入用户名和密码(以文本模式),我希望它自动登录而无需输入用户名和密码,因此在图形模式下,我转到“系统设置->用户帐户”并进行了检查“自动登录”,但没有成功。因此,即使在文本模式下,我也应该怎么做才能自动登录?
Answers:
引导至文本模式
须藤vim / etc / default / grub
并更改以下行:
GRUB_CMDLINE_LINUX_DEFAULT="text"
退出并输入:
sudo update-grub
在不指定用户名或密码的情况下以文本模式自动登录
Ubuntu的新贵版本
添加-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是在适当时间运行的启动工作,以在tty1上启动终端会话。添加该-a选项将告诉getty使用-f选项调用登录程序以使该用户登录,从而绕过getty中的用户提示和login中的密码提示。
Upstart是作为内核初始化进程(进程1)运行的Ubuntu系统。
我在tty6上进行了测试,效果很好。由于出现了新贵重新生成行,如果退出外壳,它将自动重新开始备份。
Ubuntu的系统版本
较新版本的Ubuntu大多使用systemd来管理系统进程。因此,有新的做事方式。
systemd tty的使用也有所不同,因为图形终端可能在前几个虚拟终端上运行。tty6被保留为systemd的文本虚拟终端,并且可能还会有其他终端。
输入时要登录tty6:
sudo systemctl edit getty@tty6
纳米编辑器将出现在一个临时文件中。在该编辑器中输入以下内容:
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -f gruber' -a gruber --noclear %I $TERM
退出编辑器。
放入多余的ExecStart =行不是错字。这一点非常重要,因为它告诉systemd忘记它已经知道的原始ExecStart参数(来自/lib/systemd/system/getty@.service),因此您可以替换ExecStart。
您可以使用以下命令检查结果:
systemd-analyze verify getty@tty6.service
尝试此操作时,我会在其中看到一些警告,但没有看到我们在做什么。
如果已经在tty6上进行了tty进程,则必须重新启动它才能查看结果。
为了弄清楚这一点,我在/ubuntu//a/659268/63886上提到了一个很好的答案。那里的Muru碰巧使用了相同的目标作为如何定制系统化系统的示例。他的ExecStart行是:
ExecStart=-/sbin/agetty -a muru --noclear %I $TERM
区别似乎是在我的版本中出现了几个与系统有关的环境变量。
上面编辑的最终结果是在/etc/systemd/system/getty@tty6.service.d/中创建了一个名为override.conf的文件,其中仅包含您在上面键入的内容。如果您要自己创建这样的文件,则需要运行systemctl daemon-reload命令以使systemd识别该文件,然后再次可能重新启动该虚拟控制台上任何现有的agetty进程。systemctl --edit为您处理守护程序重新加载。
tty1对我来说很好。
打开终端并做
sudo kate /etc/default/grub
然后找到这一行并进行更改,如下所示
GRUB_CMDLINE_LINUX_DEFAULT="text"
现在关闭编辑器并执行
sudo update-grub
并立即重启