![如何配置 OpenBox 会话以按 MIME 类型打开文件?](https://linux22.com/image/22263/%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%20OpenBox%20%E4%BC%9A%E8%AF%9D%E4%BB%A5%E6%8C%89%20MIME%20%E7%B1%BB%E5%9E%8B%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我已经开始使用 OpenBox 并且非常喜欢它。
但我的chromium 用 firefox 打开所有内容。
有什么解决办法吗?我正在寻找最轻量级的解决方案,而且配置简单快捷。
答案1
Chrome 用于xdg-open
打开未知文件。该脚本的问题xdg-open
是试图找出您拥有的桌面环境。它通过检查来做到这一点
detectDE()
{
if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde;
elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
fi
}
由于 Openbox 没有将这些变量中的任何一个设置$DE
为空,因此使用了通用方法。
在 1.0 版本中,xdg-utils
默认行为如下所示
open_generic()
{
IFS=":"
for browser in $BROWSER; do
if [ x"$browser" != x"" ]; then
browser_with_arg=`echo "$browser" | sed s#%s#"$1"#`
if [ x"$browser_with_arg" = x"$browser" ]; then "$browser" "$1";
else $browser_with_arg;
fi
if [ $? -eq 0 ]; then exit_success;
fi
fi
done
exit_failure_operation_impossible "no method available for opening '$1'"
}
您可以看到它尝试使用打开所有内容$BROWSER
。未设置时$BROWSER
将设置为firefox:mozilla:netscape
。
所以问题是,你需要设置一个 DE,这会导致新的问题(比如尝试连接到 DE 会话的程序),或者你将你的设置为,或 之$BROWSER
类的东西。exo-open
gnome-open
kfmclient exec
A新发布似乎xdg-open
可以解决这个问题,但似乎需要永远。