ubuntu 安装桌面并使用 root 登录
2024-02-26 15:13:18

背景

因为某些原因吧,我需要使用到 linux 虚拟机的桌面,一直以来用的都是 ubuntu 20.04 server LTS 版本,于是就打算装一个桌面。当然,以前大学的时候,也有一段时间拿 linux 作为主力操作系统,所以当初就基本把
常用的桌面都体验过了一遍,这次就不考虑多的了,直接装个 KDE 就行。

历程

安装桌面的过程挺简单,一行命令:

1
sudo apt install kde-standard

在安装过程中,有一个选择项,让选择是使用 gdm 还是 sddm,这两个都是桌面管理器的程序,搜了一下,KDE 推荐的是用 sddm,OK,那就用它了。在安装完成以后,问题出现了,桌面默认的登录用户是我之前创建的一个普通用户,
但是我以前在开发的时候,都是直接连接的 root 用户;这可不行啊,要是换用户,一堆环境变量,一堆配置,太麻烦了,于是就得找找怎么允许 root 用户登录桌面。

在网上搜索了一通,里面都提到了修改 /etc/pam.d/sddm 文件,注释掉不允许 root 登录那一行;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#%PAM-1.0

# Block login if they are globally disabled
auth requisite pam_nologin.so
#auth required pam_succeed_if.so user != root quiet_success //注意就是这里,注释掉不允许 root 用户登录的条件

# auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
@include common-auth
# gnome_keyring breaks QProcess
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so

@include common-account

但是这是不够的,针对 KDE,sddm 有一个配置文件在 /etc/sddm.conf.d/kde_settings.conf ,打开之后可以看到是这样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Autologin]
Relogin=false
Session=plasma
User=root

[General]
HaltCommand=
RebootCommand=

[Theme]
Current=plasma-chili

[Users]
MaximumUid=60000
MinimumUid=0

在最下面,有个 Users 的最小 uid,默认是 1000,但是我们知道,root 用户是 0,所以为了能够让 root 用户登录,这里需要将最小 uid 设置为 0,然后重启一下系统,就可以使用 root 用户登录了。

放在最后

唉,一开始用的中文来搜,搜出来的答案千篇一律,所有的答案都遗漏了 kde 的这个配置文件,这里没有修改,在登录页面是不允许 root 用户的;最后还得用洋文,找两篇外国佬的博客,才看到有一个修改登录用户 uid 的配置,于是立马去搜了一下 sddm 的配置文件地址,打开一看,果然是有 uid 的限制。