I programmi installati tramite snap non vengono visualizzati in Launcher


37

Appena aggiornato a Ubuntu 16.04 e provando i pacchetti di snap per la prima volta.

Quindi avevo bisogno di meshlab per visualizzare alcuni file stl. Si è verificato un problema con l'accesso pitn. È stato riscontrato che l'installazione da riga di comando dei pacchetti snap non necessita dell'accesso.

sudo snap install meshlab

e hey presto meshlap installato, nessun accesso pitn. Funziona bene dalla riga di comando. Tuttavia, il programma non viene visualizzato nel programma di avvio. Perchè è questo? I pacchetti di snap non vengono visualizzati nel programma di avvio? Come posso risolvere questo problema?

Risposte:


40

Se si utilizza zsh, le directory binarie di snap e desktop non verranno automaticamente aggiunte alle variabili di ambiente. Per risolvere questo, ho aggiunto la seguente riga a / etc / zsh / zprofile (presa da Arch):

emulate sh -c 'source /etc/profile'

Questo elaborerà il tuo file / etc / profile con emulazione bash, che a sua volta genera /etc/profile.d/* e imposta i PATH corretti, ecc.

Per aggiungere solo le directory di snap al percorso, senza includere tutto il resto del profilo bash predefinito:

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

1
Grazie! Funziona bene anche alle 17.10. Il passaggio a zsh ha sollevato anche questo problema per me.
gennaio

2
Dovrebbero risolvere questo problema durante il processo di installazione o aggiungere una procedura frequente / Risoluzione dei problemi per lo snap.
BradErzwh,

1
Grazie, ha lavorato per me il 18.10. Spero che questo sarà risolto in qualche modo in futuro.
Pavel Davydov,

1
Fantastico, purtroppo è ancora un problema il 19.04
jhole89 il

11

È integrato nel sistema di snap, ma devi aggiungere il link al tuo trattino. Per avviare il tipo di programma

snap run meshlab

una volta che è attivo e funzionante, fare clic destro sull'icona e fare clic su "Aggiungi al trattino".


7

Per me, sembra anche essere correlato alla combinazione di Wayland / ZSH in Ubuntu 18.04 - anche se /var/lib/snapd/desktopè elencato nella XDG_DATA_DIRSvariabile (questo è fatto da /etc/profile.d/apps-bin-path.sh), il programma di avvio non riconosce le app da quella cartella.

Una soluzione rapida è quella di collegare simbolicamente i file desktop desiderati, ad esempio:

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

5

I pacchetti di snap non vengono visualizzati nel programma di avvio?

Fanno finché lo snap spedisce i file .desktop corretti. Solo Meshlab meshlabserverha un file desktop corretto (e in effetti, appare nel mio launcher). Il meshlabfile .desktop, tuttavia, sta tentando di eseguire meshlab.meshlab, quando dovrebbe essere solo in uso meshlab. Di conseguenza, non si presenta.

Come posso risolvere questo problema?

Se corri snap info meshlabvedrai le informazioni di contatto per l'editore. Ti suggerisco di segnalare loro un bug. Fino ad allora, è sempre possibile eseguire meshlabdalla CLI o creare il proprio file .desktop per esso.


5

Eseguendo Kubuntu 18.04 la soluzione per me come aggiunta

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

in un file personalizzato come snap-apps.shin ~/.config/plasma-workspace/env. Ma questo vale solo per Plasma 5 e potrebbe essere già stato risolto in Ubuntu 18.10.

Come già indicato da dsager nella sua risposta, il solito /etc/profile.d/apps-bin-path.shnon sembra funzionare.


2
Funzionava perfettamente, amico di Kubuntu.
Giovanni,

Grazie! Risolto il problema per me su Kubuntu.
Дмитрий Полянин

3

Devi eseguire snap run meshlabdal terminale e fermarlo, quindi vedrai Meshlab nel tuo elenco di applicazioni


3

Non ho potuto commentare il post di qualcun altro. Tuttavia, questo è da aggiungere alla risposta di dsager che mi ha aiutato su Fedora 28 (che per quanto posso dire, usa Wayland)

Ho aggiunto il seguente snip al mio ~ / .bash_profile per collegare al login ogni file in / var / lib / snapd / desktop / applicazioni. Allo stesso modo, questo potrebbe essere modificato per rimuovere i collegamenti per le app che non esistono più cambiando i percorsi nella riga for e la riga if quindi sostituendo ln con 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

Probabilmente ci sono diversi modi per farlo, ma funziona.


1
Uso inutile di ls. Usa for in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ...invece. Un modo più breve per raggiungere questo obiettivo sarebbe ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null.
David Foerster,

Sapevo che c'era un modo per eseguire il tuo primo esempio, tuttavia non riuscivo a ricordare la parte $ {i ## * /} quando stavo inizialmente scrivendo questo. Modificherò il mio post per includere quella variante. Tuttavia, il tuo ultimo suggerimento non controlla se il collegamento esiste già, quindi rieseguendo inutilmente il comando ln. In effetti, volevo trovare un modo per evitare grep e ridurre il numero di processi avviati durante l'esecuzione. Grazie per il tuo commento.
Eric Niconovich,

Il mio secondo suggerimento non controllo se il file di destinazione esiste già e, se questo è il caso, un messaggio d'errore (reindirizzamento a /dev/nulle quindi soppressa). Non fa nulla di "inutile": forks & exec è una sola volta e fa una chiamata di sistema a symlink(2)o symlinkat(2)per ogni file corrispondente. Se usi un ciclo per verificare il tipo di file ( stat(2)) e poi (condizionatamente) fork & exec ln(1)che invoca symlink*(2)questo è un lavoro molto più "inutile".
David Foerster,

1

Stessa cosa con il frullatore.

snap run blender

funziona, tuttavia non ha risolto il problema.

Ho dovuto copiare blender.desktopda /snap/blender/current/blender.desktopa /usr/share/applications(con sudo) e poi tutto è stato risolto: gli spettacoli di Blender nei menu di Gnome e Nautilus lo associano ai .blendfile.

A me sembra una specie di crepa tra scatti e gnomi. Forse ciò di cui abbiamo bisogno è uno gnomo scattante (o è uno schiocco di gnomey; ^).


1
Ciao, ho fatto quello che mi hai detto, ma ora ho due icone per ogni programma che ho fatto ... vedi i.imgur.com/aamlQJZ.png È successo anche a te?
Cirelli94,

1

Copia il collegamento delle applicazioni da /var/lib/snapd/desktop/applications/a/usr/share/applications/

Esempio: sudo cp /var/lib/snapd/desktop/applications/brave_brave.desktop /usr/share/applications/

Ho dovuto farlo su GalliumOS 3.0 (basato su Xubuntu)


0

Ho riscontrato lo stesso problema su Ubuntu 18.04. Sembra essere un problema con Wayland. La soluzione per me era di tornare da Wayland a Xorg.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.