合成管理器

Rin*_*ail 5 compositing 12.10

当安装了多个桌面(例如 LXDE 和 XFCE)时,如何确定当前正在使用哪个合成器。Compiz 也已安装。

是否有代码可以显示正在使用哪个已安装的合成管理器?

Jes*_*sse 3

没有直接命令可以获取当前的合成管理器。为此,我们需要列出它们并检查当前进程。我为此编写了一个脚本。事情是这样的:

#!/bin/sh

COMPOSITORS=('awesome' 'beryl' 'blackbox' 'compiz' 'dwm' 'enlightenment' 'fluxbox' 'fvwm' 'i3' 'icewm' 'kwin' 'metacity' 'musca' 'openbox' 'pekwm' 'ratpoison' 'scrotwm' 'wmaker' 'wmfs' 'wmii' 'xfwm4' 'xmonad')

for i in `ps -u $USER -o comm`; do
    for c in ${COMPOSITORS[@]}; do
        if [ "$i" == "$c" ]; then
            echo "Your compositor is $i"
        fi
    done
done
Run Code Online (Sandbox Code Playgroud)

打开编辑器,粘贴上面的代码并以名称check-compositor.sh保存。然后打开终端并执行 $ sh path/to/your/file/check-compositor.sh 这应该显示您当前的合成器管理器。如果您愿意,您可以在列表中添加更多合成管理器,但我认为这几乎就是全部了。