调整 Kali 虚拟机的自动登录、引导等待和锁屏设置,让启动过程少几步操作。
在准备《Linux 后门实验环境搭建》时,我反复重启虚拟机,每次都要等引导、输密码,实在有点麻烦,所以就想把这些步骤省下来 O (∩_∩) O
本文使用的是 2022 年的 Kali 虚拟机,桌面为 Xfce,登录管理器为 LightDM。下面的 root 自动登录和关闭锁屏设置用于个人实验虚拟机,执行此配置后,打开虚拟机就能直接进入桌面。
# 允许 root 用户登录
如果只是执行需要管理员权限的命令,用 sudo 即可。需要使用 root 账户时,先在普通账户的终端中设置密码:
sudo passwd root |
输入当前账户的密码,再按提示设置 root 密码。输入密码时终端不会显示字符。
下面是图形登录界面。注意,此图中 “新版默认不行” 的标注不够准确:能否登录取决于 root 账户状态和登录管理器的配置,不能只按 Kali 版本判断。
不同桌面的设置可参考 Kali 官方说明。

# GRUB 临时启动参数
如果配置过程中需要重置 root 密码,又无法通过现有账户使用 sudo,可以修改 GRUB 的临时启动参数,进入 root Shell 后执行 passwd root 设置密码,再重启回到正常的登录流程。
在引导菜单中选中 Kali,按 E 可以编辑本次启动项:

下面两张图记录了 linux 行末尾参数的变化,原来的内容是 ro quiet splash :

修改后是 rw init=/bin/sh splash :

其中 rw 表示以读写方式挂载根文件系统, init=/bin/sh 指定启动 /bin/sh ,替代正常的初始化程序。按 Ctrl + X 是按修改后的参数继续启动,修改只对这次启动生效。正常进入桌面时保留原来的启动参数即可。参数含义可查阅 Linux 内核文档。
# 跳过登录页面直接进
自动登录通过 LightDM 配置,不需要修改 GRUB。先备份要改的配置文件,再打开终端执行:
sudo vim /etc/lightdm/lightdm.conf |
找到没有被注释的 [Seat:*] 配置段。文件前面也有相关说明,不要把配置写进注释里。

在这个配置段中添加或修改以下两项:
autologin-user=root | |
autologin-user-timeout=0 |
autologin-user 是自动登录的用户名,我这里填 root ,也可以换成自己的普通账户; autologin-user-timeout=0 表示不等待,直接登录。

按 Esc,输入 :wq 并回车,保存退出。
如果使用 root 自动登录,还需要检查 /etc/pam.d/lightdm-autologin :
sudo vim /etc/pam.d/lightdm-autologin |
下面这一行要求用户名不是 root,会阻止 root 自动登录。如果文件中存在这项限制,在行首加 # 将它注释掉;如果使用的是普通账户,最后保留这一行。
# auth required pam_succeed_if.so user != root quiet_success |
截图标出了需要修改的位置(图中尚未添加 # ):

保存后执行 sudo reboot ,检查是否直接进入指定账户的桌面。想恢复登录页面时,将添加的自动登录配置注释掉,并恢复修改过的 PAM 配置。
# 启动跳过 5s 引导界面
自动登录设置好了,但启动时还有如下图所示的 GRUB 菜单要等。默认会等待 5 秒,当然按回车也能立即启动:

如果想省掉这段等待,可以修改 /etc/default/grub :
sudo vim /etc/default/grub |
找到 GRUB_TIMEOUT 。下图是修改前的配置,值为 5 ,单位是秒:

将它改为:
GRUB_TIMEOUT=0 |
0 表示立即启动默认项,不显示菜单。经常需要选择其他内核或恢复选项的话,可以保留几秒等待。参数说明见 GRUB 手册。
保存后执行以下命令,重新生成引导配置:
sudo update-grub |

确认没有报错后,执行 sudo reboot 查看效果。需要恢复等待时,把 GRUB_TIMEOUT 改回 5 ,再运行一次 sudo update-grub 。
# 关闭自动锁屏
等 Kali 完成较长时间的命令时,如果长时间不进行操作,桌面会被锁住,必须输一次密码才能重新进入桌面。
所以我也调整了锁屏设置,关闭 Kali 的自动锁屏。
点击面板上的电源图标,选择 Settings…,打开电源管理器:

进入 Security,这里有两项需要区分:
- Automatically lock the session:控制屏保触发的自动锁屏。不需要时,将下拉选项改为 Never。
- Lock screen when system is going to sleep:控制进入休眠时是否锁屏,不需要时取消勾选。
下面的截图只取消了第二项,第一项仍是 When the screensaver is activated。要关闭这两种自动锁屏,需要一起调整。

这个设置窗口修改后直接生效,关闭窗口即可。

