Se você estiver usando um ambiente de área de trabalho LXDE, o xdg-open abrirá file://
URLS com o programa pcmanfm
. Ele remove a parte file://
da URL e chama pcmanfm
com a parte restante, já que o pcmanfm suporta somente caminhos normais como argumentos, não URLs.
xdg-open
não faz outras substituições, portanto, %20
não está traduzido em um espaço. Este é um bug (fique à vontade para abrir um relatório de bug para isso no Debian).
Uma correção é descrita abaixo.
Para outros ambientes de área de trabalho, os programas abertos suportam corretamente URLs file: //.
Solução alternativa : Desmarque algumas variáveis de ambiente, para que o xdg-open use o manipulador aberto genérico que suporta todas as substituições necessárias:
XDG_CURRENT_DESKTOP= DESKTOP_SESSION= xdg-open "/home/sashoalm/Has Spaces.txt"
Correção de erros: Copie o script xdg-open para / usr / local / bin (para que não seja sobrescrito, atualizando seu sistema) e adicione a linha
file="$(printf "$(echo "$file" | sed -e 's@%\([a-f0-9A-F]\{2\}\)@\x@g')")"
para o script xdg-open acima da linha de comentários # handle relative paths
.
Correção de bug 2:
Ou simplesmente substitua a substituição detectDE()
por:
detectDE()
{
DE=gnome
}