O Chrome usa xdg-open
para abrir arquivos desconhecidos.
O problema com o script xdg-open
é que tenta descobrir qual ambiente de área de trabalho você possui.
Ele faz isso verificando
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
}
Como o Openbox não define nenhuma dessas variáveis $DE
está vazio e uma abordagem genérica é usada.
Na versão 1.0 do xdg-utils
, o comportamento padrão é semelhante a este
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'"
}
Você pode ver que ele tenta abrir tudo com $BROWSER
.
Quando $BROWSER
não estiver definido, será definido como firefox:mozilla:netscape
.
Portanto, o problema é que éter você precisa definir um DE, o que leva a novos problemas (como programas que tentam se conectar à sessão DE) ou você define seu $BROWSER
para algo como exo-open
, gnome-open
ou kfmclient exec
.
Um novo lançamento de xdg-open
parece corrigir isso, mas parece leve para sempre.
Espero que isso ajude depois de tanto tempo.