我的系统是Debian 12。我尝试使用xdg-open打开一个图像文件,但当图像文件打开时它会阻塞。在xdg-open返回之前,必须关闭图像查看器。虽然很多人说xdg-open在他们的环境中立即返回。我想知道这是否是一个配置或分发问题。如果可能的话,是否有任何选项可以让xdg-open分离并立即返回。我搜索了xdg-open文档,但没有找到任何东西。
xdg-open
juzqafwq1#
xdg-open只是一个 Package 器,用于使用可以处理它的应用程序打开文件。因此,它并不保证它会立即阻塞还是返回:这取决于委托的应用程序(因此,如果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立即返回,只需要在后台运行它:
display-im6.q16
xdg-open file.jpg
exo-utils
exo-open
xdg-open myfile &
字符串如果你不想记住必须这样做,你也可以创建一个可执行文件/usr/local/bin/xdg-open,它(取决于你的PATH)应该优先于系统安装的/usr/bin/xdg-open:
/usr/local/bin/xdg-open
PATH
/usr/bin/xdg-open
#!/bin/sh /usr/bin/xdg-open "$@" &
型或者安装一些轻量级(至少我认为它是轻量级的)中间件,如exo-utils
r1zk6ea12#
尝试安装/重新安装软件包xdg-utils:
xdg-utils
sudo apt install --reinstall xdg-utils
字符串如果这个不起作用,试试:
sudo apt-get install --reinstall xdg-utils
型如果这不起作用,请尝试更新您的软件包:
sudo apt update sudo apt upgrade
型
2条答案
按热度按时间juzqafwq1#
xdg-open
只是一个 Package 器,用于使用可以处理它的应用程序打开文件。因此,它并不保证它会立即阻塞还是返回:这取决于委托的应用程序(因此,如果
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
立即返回,只需要在后台运行它:字符串
如果你不想记住必须这样做,你也可以创建一个可执行文件
/usr/local/bin/xdg-open
,它(取决于你的PATH
)应该优先于系统安装的/usr/bin/xdg-open
:型
或者安装一些轻量级(至少我认为它是轻量级的)中间件,如
exo-utils
r1zk6ea12#
尝试安装/重新安装软件包
xdg-utils
:字符串
如果这个不起作用,试试:
型
如果这不起作用,请尝试更新您的软件包:
型