如何检查Ubuntu系统是否运行在图形模式下?

在Ubuntu系统中,有几种方法可以检查是否运行在图形模式(GUI)下:

1. 检查显示管理器服务

systemctl status display-manager

如果显示 active (running),通常表示图形界面正在运行。

2. 检查X11或Wayland会话

echo $XDG_SESSION_TYPE

返回 x11wayland 表示图形模式,返回 tty 表示文本模式。

3. 检查DISPLAY环境变量

echo $DISPLAY

如果有输出(如 :0:1),表示在图形模式下。

4. 检查是否有X进程运行

ps aux | grep -E "(Xorg|Xwayland|gnome-shell|kwin|mutter)"

如果有相关进程运行,表示图形界面正在运行。

5. 使用loginctl命令

loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type

显示会话类型,x11wayland 表示图形模式。

6. 检查当前虚拟终端

tty

如果显示 /dev/tty1/dev/tty6 通常是图形终端,而 /dev/tty7 及以上通常是文本终端(但这不是绝对的)。

7. 简单的一行命令

[ -n "$DISPLAY" ] && echo "图形模式" || echo "文本模式"

8. 检查桌面环境进程

pgrep -x "gnome-shell|plasmashell|cinnamon|mate-session|xfce4-session"

如果有输出PID,表示对应的桌面环境正在运行。

最可靠的方法通常是组合检查 $DISPLAY 环境变量和显示管理器状态。如果系统使用Wayland,则检查 $WAYLAND_DISPLAY$XDG_SESSION_TYPE 变量。

云服务器