如何在Linux中识别应用程序是使用终端还是Xwindows

如何在Linux中识别应用程序是使用终端还是Xwindows

是否可以识别应用程序/程序是在终端还是在 Xwindows 窗口中运行?我想创建我中继命令的脚本,如果需要,它会在终端中运行此命令,或者如果不需要,它会直接运行。

细节:

我的灵感来自于这个reddit我编写了这个脚本:

#!/bin/zsh
# fzfmenu

kitty zsh -c "fzf $* < /proc/$$/fd/0 > /proc/$$/fd/1"
#!/bin/zsh
# fzflauncher

list=(`echo ${PATH//:/ }`)
exec=()
for dir in $list; do 
    exec+=$(ls $dir)
done

exec `print $exec | fzfmenu`

fzflauncher在所有可执行文件中查找并启动其中一个。如果我选择例如终端游戏bombardier,程序在没有终端的情况下运行(我不知道这怎么可能)并且占用 100%CPU。

相关内容