- O problema: o problema está vinculado ao seu shell de login.
A variável XDG_DATA_DIRS é definida quando o /etc/profile.d é originado (/etc/profile.d/apps-bin-path.sh)
Mas se você usar fishshell, como é o seu caso, ou zsh, você não está obtendo o /etc/profile.d/ e, portanto, o XDG_DATA_DIRS nunca é configurado e os arquivos .desktop em / var / lib / snapd / desktop ganham ' t ser encontrado. Isso não é um bug, mas é devido ao peixe não ser compatível com POSIX 1003.1. Isso significa que esses shells não entendem a sintaxe bash.
-
A solução alternativa: posso pensar em pelo menos duas soluções alternativas.
I.- O simples é reverter o shell padrão para bater com
chsh -s / bin / bash
E adicione a linha
fish
No final do ~ / .bashrc. Ao fazer isso, seu shell de login seria bash e seu /etc/profile.d seria originado, mas você usaria fish toda vez que abrir seu terminal. E escrever 'exit' no seu terminal voltaria para o bash.
II.- O mais complicado é manter o fish como seu shell de login, mas forçar o /etc/profile.d a ser originado. Para fazer isso, você precisa seguir estas etapas:
a.- do seu fish shell instale o fisher e o bass (utilidades Make Bash utilizáveis no shell Fish).
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
fisher edc/bass
b.- edite seu arquivo ~ / .config / fish / config.fish (crie se não existir) e coloque todos os arquivos em /etc/profile.d usando o baixo.
nano ~/.config/fish/config.fish (hate me, I use nano for simple things)
(eu outro terminal ls o diretório /etc/profile.d para obter a lista de arquivos. Copie-os)
Cole a lista no seu terminal nano assim:
bass source /etc/profile.d/apps-bin-path.sh
bass source /etc/profile.d/cedilla-portuguese.sh
bass source /etc/profile.d/vte-2.91.sh
bass source /etc/profile.d/bash_completion.sh
bass source /etc/profile.d/input-method-config.sh
bass source /etc/profile.d/xdg_dirs_desktop_session.sh
Salve, feche, feche a sessão ou reinicie e 'ta-da'.
Com esta opção você mantém o fish como seu shell de login, mas você tem que verificar o diretório /etc/profile.d de vez em quando para ter certeza de que não há um novo arquivo que não seja sourcing.