提问人:Gang Liang 提问时间:10/21/2023 更新时间:10/24/2023 访问量:82
为什么 xdg-open 会在命令行上阻止?
Why does xdg-open block on command-line?
问:
我的系统是Debian 12。我尝试用于打开图像文件,但在打开图像文件时它被阻止。在返回之前,必须关闭图像查看器。xdg-open
xdg-open
虽然许多人表示,在他们的环境中会立即返回。我想知道这是配置问题还是分发问题。如果可能,是否有任何选项可以让 xdg-open 分离并立即返回。我搜索了文档,但没有找到任何东西。xdg-open
xdg-open
答:
尝试安装/重新安装软件包:xdg-utils
sudo apt install --reinstall xdg-utils
如果这个不起作用,请尝试:
sudo apt-get install --reinstall xdg-utils
如果这不起作用,请尝试更新您的软件包:
sudo apt update
sudo apt upgrade
xdg-open
只是一个包装器,用于使用可以处理它的应用程序打开文件。
因此,它不能保证它是否会立即阻止或返回:这取决于委托的应用程序(因此,如果最终调用,那么它正在阻止(或不阻止)。xdg-open
display-im6.q16
display-im6.q16
当然,事情要复杂一些。
例如,如果我运行,那么我也会得到,但没有阻塞。为什么?因为我也安装了 ,所以不直接调用,而是调用(无论出于何种原因)不会阻塞。xdg-open file.jpg
display-im6.q16
exo-utils
xdg-open
display-im6.q16
exo-open
现在,我还没有找到任何保证不会阻止的文档。
如果您想立即返回,只需将其置于后台:exo-open
xdg-open
xdg-open myfile &
如果您不想记住必须这样做,您还可以创建一个可执行文件,该文件(取决于您的)应优先于已安装的系统:/usr/local/bin/xdg-open
PATH
/usr/bin/xdg-open
#!/bin/sh
/usr/bin/xdg-open "$@" &
或者安装一些轻量级(至少我认为它是轻量级的)中间件,比如exo-utils
评论
exo-utils
exo-utils
XDG_CURRENT_DESKTOP
XFCE
评论
sh -x /usr/bin/xdg-open imagefile
display-im6.q16
feh
+ DE=gnome3
xdg-open --version
xdg-open 1.1.3
display-im6.q16
feh
xdg-open
display
feh
xdg-open
gio