如何用Python检查哪个窗口管理器在运行?

3 投票
2 回答
1611 浏览
提问于 2025-04-16 01:50

我想知道用户正在使用哪个窗口管理器(比如GNOME或KDE等)。我该怎么做呢?

2 个回答

0

因为你显然是在使用Linux系统,你可以试试 wmctrl -m 或者 inxi -Sxx 这两个工具。

import subprocess

def get_wm():

    output = subprocess.run(['wmctrl', '-m'], text=True,
                        stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    if output.stderr:
        return(output.stderr)
    else:
        return(output.stdout)

print(get_wm())
1

你不能这样做。没有一个中心的地方让程序注册自己,告诉系统“嗨,我是窗口管理器”。

举个例子,我在使用 xmonad。我只需要在我的 ~/.xsession 文件里输入 xmonad,再加上其他几个程序,这样在我登录的时候它就会自动启动。你其实是无法检测到这一点的。

撰写回答