Program yang diinstal melalui snap tidak muncul di Peluncur


37

Baru saja diperbarui ke Ubuntu 16.04 & mencoba paket sekejap untuk pertama kalinya.

Jadi saya perlu meshlab untuk melihat beberapa file stl. Berlari untuk mengeluarkan pitn log in. Menemukan bahwa menginstal perintah baris paket snap tidak memerlukan login. Apakah:

sudo snap install meshlab

dan hei presto meshlap terinstal, tidak ada pitn login. Bekerja dengan baik dari command line. Namun program tidak muncul di peluncur. Kenapa ini? Apakah paket snap tidak muncul di peluncur? Bagaimana saya bisa memperbaikinya?

Jawaban:


40

Jika Anda menggunakan zsh, direktori snap biner dan desktop tidak akan secara otomatis ditambahkan ke variabel lingkungan Anda. Untuk mengatasi ini, saya menambahkan baris berikut ke / etc / zsh / zprofile (diambil dari Arch):

emulate sh -c 'source /etc/profile'

Ini akan memproses file / etc / profile Anda dengan emulasi bash, yang pada gilirannya sumber /etc/profile.d/* dan menetapkan PATH yang tepat, dll.

Untuk menambahkan hanya direktori snap ke path Anda, tanpa menyertakan semua profil default bash lainnya:

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

1
Terima kasih! Berfungsi dengan baik pada 17.10 juga. Beralih ke zsh juga mengangkat masalah ini untuk saya.
danwit

2
Mereka harus memperbaikinya dalam proses instalasi atau menambahkan langkah-langkah FAQ / Pemecahan masalah untuk snap.
BradErzwh

1
Terima kasih, bekerja untuk saya pada 18.10. Semoga ini bisa diperbaiki entah bagaimana di masa depan.
Pavel Davydov

1
Cemerlang, sayangnya masih menjadi masalah pada
19,04

11

Itu dibangun ke dalam sistem snap, tetapi Anda harus menambahkan tautan ke dasbor Anda. Untuk memulai jenis program

snap run meshlab

setelah itu dan berjalan, klik kanan pada ikon dan klik "tambahkan ke dasbor".


7

Bagi saya, itu juga tampaknya terkait dengan kombinasi Wayland / ZSH di bawah Ubuntu 18.04 - meskipun /var/lib/snapd/desktopterdaftar dalam XDG_DATA_DIRSvariabel (ini dilakukan oleh /etc/profile.d/apps-bin-path.sh), peluncur tidak mengenali aplikasi dari folder itu.

Solusi cepat adalah dengan menautkan file desktop yang diinginkan, misalnya:

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

5

Apakah paket snap tidak muncul di peluncur?

Mereka melakukan selama snap mengirim file .desktop yang tepat. Hanya Meshlab's yang meshlabservermemiliki file desktop yang tepat (dan memang, itu muncul di peluncur saya). File meshlab.desktop sedang mencoba untuk mengeksekusi meshlab.meshlab, padahal seharusnya menggunakan meshlab. Akibatnya, itu tidak muncul.

Bagaimana saya bisa memperbaikinya?

Jika Anda menjalankan snap info meshlabAnda akan melihat info kontak untuk penerbit. Saya sarankan Anda melaporkan bug kepada mereka. Sampai saat itu, Anda selalu dapat menjalankan meshlabdari CLI, atau membuat file .desktop Anda sendiri untuk itu.


5

Menjalankan Kubuntu 18.04 solusi bagi saya dengan menambahkan

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

ke file khusus seperti snap-apps.shdi ~/.config/plasma-workspace/env. Tapi itu hanya berlaku untuk Plasma 5 dan mungkin sudah diperbaiki di Ubuntu 18.10.

Seperti dsager sudah disebutkan dalam jawabannya, yang biasa /etc/profile.d/apps-bin-path.shtampaknya tidak berhasil.


2
Ini berfungsi dengan baik - sesama pengguna Kubuntu.
john

Terima kasih! Memecahkan masalah bagi saya di Kubuntu.
Дмитрий Полянин

3

Anda harus lari snap run meshlabdari terminal dan menghentikannya, maka Anda akan melihat Meshlab di daftar aplikasi Anda


3

Saya tidak dapat mengomentari pos orang lain. Namun, ini untuk menambah jawaban dsager yang membantu saya di Fedora 28 (yang sejauh yang saya tahu, menggunakan Wayland)

Saya menambahkan snip berikut ke ~ / .bash_profile saya untuk menautkan saat login setiap file di / var / lib / snapd / desktop / aplikasi. Demikian pula ini dapat dimodifikasi untuk menghapus tautan untuk aplikasi yang tidak ada lagi dengan mengganti jalur di baris for dan baris if kemudian mengganti ln dengan 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

Mungkin ada beberapa cara yang berbeda untuk mencapai ini, tetapi berhasil.


1
Penggunaan tidak berguna ls. Gunakan for in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ...sebagai gantinya. Cara yang lebih pendek untuk mencapai ini adalah ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null.
David Foerster

Saya tahu ada cara untuk menjalankan contoh pertama Anda, namun saya tidak dapat mengingat bagian $ {i ## * /} ketika saya awalnya menulis ini. Saya akan mengedit posting saya untuk memasukkan varian itu. Namun, saran Anda yang terakhir tidak memeriksa apakah tautan sudah ada, sehingga tidak dapat menjalankan kembali perintah ln. Bahkan, saya ingin menemukan cara untuk menghindari grep juga untuk mengurangi jumlah proses yang berputar saat menjalankan. Terima kasih atas komentar Anda.
Eric Niconovich

Saran kedua saya melakukan cek jika file target sudah ada dan, jika itu yang terjadi, mencetak pesan kesalahan (redirect ke /dev/nulldan dengan demikian ditekan). Ia tidak melakukan apa-apa “tidak berguna”: itu garpu & exec adalah satu waktu dan membuat satu sistem panggilan untuk symlink(2)atau symlinkat(2)untuk setiap file yang cocok. Jika Anda menggunakan loop untuk memeriksa jenis file ( stat(2)) dan kemudian (kondisional) garpu & exec ln(1)yang memanggil symlink*(2)itu jauh lebih "tidak berguna" bekerja.
David Foerster

1

Sama halnya dengan blender.

snap run blender

tidak bekerja, namun tidak memperbaiki masalah.

Saya harus menyalin blender.desktopdari /snap/blender/current/blender.desktopke /usr/share/applications(dengan sudo) dan kemudian semuanya diperbaiki: blender muncul di menu gnome dan nautilus menghubungkannya dengan .blendfile.

Sepertinya ada semacam celah di antara bentak dan gnome bagiku. Mungkin yang kita butuhkan adalah gnome yang tajam (atau itu gnomey snap; ^).


1
Hai, saya melakukan apa yang Anda katakan tetapi sekarang saya memiliki dua ikon untuk setiap program yang saya lakukan ini ... lihat i.imgur.com/aamlQJZ.png Apakah ini juga terjadi pada Anda?
Cirelli94

1

Salin pintasan aplikasi dari /var/lib/snapd/desktop/applications/ke/usr/share/applications/

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

Saya harus melakukan ini di GalliumOS 3.0 (berbasis Xubuntu)


0

Saya berlari ke masalah yang sama pada Ubuntu 18.04. Tampaknya menjadi masalah dengan Wayland. Solusi bagi saya adalah beralih dari Wayland ke Xorg.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.