在 Ubuntu 系统中判断是否安装了图形界面(GUI),核心逻辑其实就两条:看有没有安装桌面环境相关的软件包,以及看当前运行的是不是图形会话。
别整那些虚的,直接上干货,分几种情况给你讲清楚。
方法一:最直观——查进程状态(推荐)
这是最快、最准确的方法。图形界面本质上是一个 X Server 或者 Wayland 会话,它会有对应的进程在跑。
打开终端,执行:
ps aux | grep -E "Xorg|Xwayland|gdm|lightdm|sddm"
结果分析:
- 如果有输出,且包含
Xorg、Wayland或者gdm3/lightdm(显示管理器),说明图形界面正在运行或已安装。gdm3:GNOME 桌面默认使用的显示管理器。lightdm:Ubuntu MATE/XFCE 等轻量级桌面常用的。sddm:KDE Plasma 桌面常用的。
- 如果只看到 grep 自己,或者完全没有相关进程,大概率是纯命令行模式(Server 版或最小化安装)。
注意:如果你刚重启完系统还没登录,可能进程还没起来,这时候用方法二更稳。
方法二:查软件包(最稳妥)
图形界面是由一堆包组成的,只要装了这些核心包,就算“安装了”图形界面,哪怕你现在没启动它。
执行以下命令检查常见的桌面环境包是否存在:
dpkg -l | grep -E "ubuntu-desktop|gnome-shell|kde-plasma-desktop|xubuntu-desktop|lubuntu-desktop|mate-desktop-environment-core"
关键点解读:
ubuntu-desktop:这是 Ubuntu 标准版的元数据包。如果你看到ii ubuntu-desktop,恭喜你,你装的是完整版 Ubuntu,肯定有图形界面。- 其他桌面包:如果你用的是 Kubuntu、Xubuntu 等衍生版,查对应的包名。
- 如果没有输出:说明你没装任何主流桌面环境。但这不代表你不能装,只是说现在没装。
进阶技巧: 如果你想看具体装了哪些与 GUI 相关的包,可以查:
apt list --installed | grep -i "desktop|xserver|wayland"
方法三:查运行级别 / 目标状态(systemd 时代的标准做法)
Ubuntu 从 15.04 开始全面使用 systemd,不再用传统的 runlevel(如 3 或 5)。现在看的是 default.target。
执行:
systemctl get-default
结果分析:
graphical.target:表示系统默认目标是图形界面。这意味着即使你当前在 TTY(文本终端),只要重启或切换到 GUI,它就会启动图形界面。这通常意味着图形界面已安装。multi-user.target:表示系统默认目标是多用户命令行模式。这不绝对代表没装图形界面,但代表你当前是以 CLI 方式启动的。很多服务器虽然装了 GUI 包(为了调试方便),但故意设为multi-user.target以节省资源。
所以这个方法只能判断“默认行为”,不能 100% 判断“是否安装了软件”。需要结合方法二一起看。
方法四:环境变量法(快速验证当前会话)
如果你已经登录了,想知道自己现在是在图形里还是命令行里:
echo $DISPLAY
- 有值(如
:0或:1):你在图形界面中。 - 空值:你在纯命令行环境中。
或者:
echo $WAYLAND_DISPLAY
- 有值:你在使用 Wayland 协议的图形界面(现代 Ubuntu 默认)。
- 空值:可能没用 Wayland,或者根本不在图形界面。
总结 & 实战建议
| 场景 | 推荐操作 | 判断依据 |
|---|---|---|
| 我刚装完系统,不知道有没有 GUI | dpkg -l | grep ubuntu-desktop |
有 ii 状态就是装了 |
| 我想知道现在是不是在图形里 | echo $DISPLAY 或 ps aux | grep Xorg |
有输出就是在图形里 |
| 我想确认系统默认会不会进图形 | systemctl get-default |
graphical.target 表示会进 |
常见误区提醒:
- “没有图形界面” ≠ “不能装”:Ubuntu Server 版默认不装 GUI,但你可以随时通过
sudo apt install ubuntu-desktop装上。装完后重启即可进入图形界面。 - “装了 GUI 包” ≠ “一定在运行”:比如你装了 GNOME,但系统配置为
multi-user.target,开机后你会直接进入黑屏命令行,需要手动startx或systemctl isolate graphical.target才能进图形。 - 云服务器特别注意:阿里云、腾讯云等 ECS/CVM 实例,默认都是最小化安装的 Server 版,没有图形界面。如果你需要远程桌面连接,必须自己安装 VNC 服务端 + 轻量级桌面(如 XFCE),而不是指望原生 GUI。
一句话结论:
想确认有没有装,查 dpkg -l | grep ubuntu-desktop;想确认现在是不是在图形里,查 echo $DISPLAY 或 ps aux | grep Xorg。
云技术博客