gpt4 book ai didi

linux - 如何检测 bash 中是否正在运行 i3-wm 或是否正在运行 GNOME

转载 作者:太空宇宙 更新时间:2023-11-04 05:07:38 24 4
gpt4 key购买 nike

我已经使用 i3-wm 大约六个月了,我不得不切换到 GNOME,因为 Discord 在 i3 中经常崩溃。我之前在 bashrc 中使用了 i3-msg 命令来确保终端的边框不可见,从而使用终端的整个屏幕空间。我运行的具体命令是:

    i3-msg -q border toggle

问题是,当我使用 GNOME 并打开终端时,i3-msg 命令运行,并导致一条错误消息,显然是由于 i3 未运行而引起的。理想的情况是添加一个 if 语句来检查 i3 是否正在运行,如果是,则运行 i3-msg 命令。

<小时/>

我的问题:确定我的系统中当前正在运行哪个窗口管理器/桌面环境的最便捷方法是什么?

<小时/>

最佳答案

当 i3 处于事件状态时,应该有一个名为“i3”的进程。您可以使用 pgrep 进行检查。

if pgrep -x "i3" > /dev/null
then
echo "i3 is running"
fi

-x--exact 的缩写 - 没有它,只要非 i3 进程的名称不包含 i3,if 子句仍然有效。

省略 >/dev/null 将打印出 pgrep 找到的 pid。

您还可以使用 pidofps -C 来代替 pgrep。除了惯用的 if-then-fi 之外,您还可以使用 && ,例如 pidof i3 >/dev/null && echo "i3 is running"|| echo "i3 没有运行"

关于linux - 如何检测 bash 中是否正在运行 i3-wm 或是否正在运行 GNOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59222173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com