📌  相关文章
📜  检查是 wayland 还是 xorg - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:55:47.652000             🧑  作者: Mango

检查是 Wayland 还是 Xorg

在 Linux 系统中,显示服务器通常使用 Xorg 或 Wayland。如果您编写了一个需要知道使用的显示服务器的 shell 脚本或命令,下面是一些方法。

使用 ps 命令

使用 ps 命令可以获取当前正在运行的 Xorg 或 Wayland 进程。通过检查进程名来确定使用的显示服务器。

ps -eo comm= | grep -q "^Xorg$" && echo "Using Xorg"
ps -eo comm= | grep -q "^gnome-shell$" && echo "Using Wayland"

这个命令会执行两个 grep 命令,它们分别查找进程名为 Xorg 或 gnome-shell 的进程。如果找到,则输出相应的消息。

检查环境变量

运行时环境变量可以提供或暗示使用的显示服务器。假设您的脚本或命令对 WAYLAND_DISPLAY 环境变量需要不同的行为,您可以检查该变量的存在并确定使用的显示服务器。

if [ -n "$WAYLAND_DISPLAY" ]; then
    echo "Using Wayland"
else
    echo "Using Xorg"
fi

这个命令会检查 WAYLAND_DISPLAY 环境变量是否被设置,如果设置了,则输出 "Using Wayland",否则输出 "Using Xorg"。

xprop

xprop 命令可以提供当前使用的显示服务器的版本信息。您可以使用这个命令来确定正在使用的显示服务器。

xprop -notype _MOTIF_WM_HINTS | grep "USE_WM_WINDOW_ROLE" > /dev/null 2>&1 \
    && echo "Using Xorg" \
    || echo "Using Wayland"

这个命令会检查 _MOTIF_WM_HINTS 属性是否被设置,该属性只能在 Xorg 中使用。如果检查到该属性,则输出 "Using Xorg",否则输出 "Using Wayland"。

以上就是一些可以检查当前使用的显示服务器的方法。您可以根据您的需求选择其中一个。