web-dev-qa-db-fra.com

Les programmes installés via snap n'apparaissent pas dans Launcher

Vient de mettre à jour Ubuntu 16.04 et d’essayer les paquets instantanés pour la première fois.

Il me fallait donc meshlab pour visualiser des fichiers stl. Ran in à émettre avec la connexion p-i-t-n. L'ouverture de la commande en ligne de commande pour les packages d'accrochage n'a pas besoin de la connexion.

Sudo snap install meshlab

et hé presto meshlap installé, pas de log pitn in. Fonctionne bien en ligne de commande. Cependant, le programme n'apparaît pas dans le lanceur. Pourquoi est-ce? Les paquets instantanés n'apparaissent-ils pas dans le programme de lancement? Comment puis-je réparer cela?

35
Ron

Si vous utilisez zsh, les répertoires d'alignement binaires et de bureau ne seront pas automatiquement ajoutés à vos variables d'environnement. Afin de résoudre ce problème, j'ai ajouté la ligne suivante à/etc/zsh/zprofile (extrait d'Arch):

emulate sh -c 'source /etc/profile'

Ceci traitera votre fichier/etc/profile avec une émulation bash, qui à son tour va générer /etc/profile.d/* et définir les PATHs appropriés, etc.

Pour n’ajouter que les répertoires d’accrochage à votre chemin, sans inclure tout le reste du profil bash par défaut:

emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'
36
hackel

Il est intégré au système d'accrochage, mais vous devez ajouter le lien à votre tableau de bord. Pour démarrer le type de programme

snap run meshlab

une fois qu'il est opérationnel, faites un clic droit sur l'icône et cliquez sur "ajouter au tiret".

10

Pour moi, cela semble également être lié à la combinaison de Wayland/ZSH sous Ubuntu 18.04 - même si /var/lib/snapd/desktop est répertorié dans la variable XDG_DATA_DIRS (ceci est fait par /etc/profile.d/apps-bin-path.sh), le lanceur ne reconnaît pas les applications de ce dossier.

Une solution rapide consiste à créer un lien symbolique entre les fichiers de bureau souhaités, par exemple:

ln -s /var/lib/snapd/desktop/applications/rubymine_rubymine.desktop .local/share/applications
5
dsager

Les paquets instantanés n'apparaissent-ils pas dans le programme de lancement?

Ils le font tant que le composant logiciel enfichable expédie les fichiers .desktop appropriés. Seul Meshlab's meshlabserver a un fichier de bureau approprié (et effectivement, il apparaît dans mon lanceur). Cependant, le fichier meshlab .desktop tente d'exécuter meshlab.meshlab alors qu'il devrait simplement utiliser meshlab. En conséquence, cela ne se voit pas.

Comment puis-je réparer cela?

Si vous exécutez snap info meshlab, vous verrez les informations de contact de l'éditeur. Je vous suggère de leur signaler un bug. Jusque-là, vous pouvez toujours exécuter meshlab à partir de la CLI ou créer votre propre fichier .desktop.

5
Kyle

Lancer Kubuntu 18.04 la solution pour moi en ajoutant

export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/snapd/desktop/"

dans un fichier personnalisé tel que snap-apps.sh dans ~/.config/plasma-workspace/env. Mais cela ne concerne que Plasma 5 et pourrait déjà être corrigé dans Ubuntu 18.10.

Comme dsager l'a déjà mentionné dans sa réponse, le /etc/profile.d/apps-bin-path.sh habituel ne semble pas fonctionner.

3
A. Ziegler

Vous devez exécuter snap run meshlab à partir du terminal et l’arrêter, vous verrez alors Meshlab dans la liste de vos applications

3
Kyaw Kyaw Soe

Je ne peux pas commenter sur le post de quelqu'un d'autre. Cependant, ceci est à ajouter à la réponse de dsager qui m'a aidé sur Fedora 28 (qui, à ma connaissance, utilise Wayland)

J'ai ajouté le fragment suivant à mon ~/.bash_profile pour lier chaque fichier de connexion dans/var/lib/snapd/desktop/applications lors de la connexion. De même, cela pourrait être modifié pour supprimer les liens pour les applications qui n'existent plus en commutant les chemins dans les lignes for et if, puis en remplaçant ln par un rm.

for i in /var/lib/snapd/desktop/applications/*.desktop; do
    if [ ! -f ~/.local/share/applications/${i##*/} ];then
            ln -s /var/lib/snapd/desktop/applications/${i##*/} ~/.local/share/applications/${i##*/};
    fi;
done

Il y a probablement une poignée de façons différentes d'y parvenir, mais cela fonctionne.

2
Eric Niconovich

Même chose avec le mélangeur.

snap run blender

ne fonctionne pas, mais n'a pas résolu le problème.

Je devais copier blender.desktop de /snap/blender/current/blender.desktop dans /usr/share/applications (avec Sudo), puis tout a été corrigé: blender s'affiche dans les menus gnome et nautilus l'associe aux fichiers .blend.

On dirait une sorte de fissure entre les clichés et les gnomes pour moi. Peut-être avons-nous besoin d’un gnome vif (ou est-ce un cliché gnomey; ^).

1
Mike Ward

J'ai rencontré le même problème sous Ubuntu 18.04. Cela semble être un problème avec Wayland. La solution pour moi était de revenir de Wayland à Xorg.

0
romaind