Cara memaksa Unity reload ~ / .local / share / application /

66

Katakanlah saya mengubah / menambahkan beberapa myapp.desktopfile di ~/.local/share/applications/. Untuk beberapa waktu Ubuntu Unity masih akan menunjukkan kepada saya cara pintas aplikasi lama di lensa Unity di bawah tombol Ubuntu. Diperlukan waktu (atau hanya satu restart) untuk mendapatkan daftar aplikasi yang diperbarui di sana.

Bagaimana saya bisa memaksa Unity memuat ulang ~/.local/share/applicationsdan merefleksikan pintasan dengan benar di lensa?

vladimir
sumber
Sudahkah Anda mencoba unity --reset?
sayantankhan
Koreksi. Seharusnya begitu unity. Tekan alt + F2 dan ketik perintah.
sayantankhan
Iya. Itu tidak membantu. Itu masih menunjukkan nama aplikasi lama setelah unityatau unity --reset(yang sebelumnya saya memodifikasi file myapp.desktop).
vladimir
Aneh, tampaknya berfungsi dengan baik ketika saya melakukan hal yang persis sama yang Anda lakukan. Sudahkah memastikan .desktopfile dapat dieksekusi?
sayantankhan
Ini hanya berfungsi setelah log off / restart. Coba saja ubah nama aplikasi yang ada di dalam file desktop. Jangan ubah apa pun. Misalnya, tambahkan "Uji" ke nama beberapa aplikasi yang ada. Sekarang tekan tombol Ubuntu dan mulai ketikkan nama aplikasi - itu masih menunjukkan nama lama tanpa "Test" untuk saya. Saya mereproduksinya di mesin kerja dan di rumah dan di laptop istri. Saya pikir ini sekitar 100% dapat direproduksi.
vladimir

Jawaban:

69

Sedikit terlambat, tetapi saya menemukan utas ini sebelum menemukan solusi, setidaknya untuk masalah saya, mencari sesuatu yang berhubungan dengan Google, hampir menyerah.

Sesuai panduan ini , help.ubuntu.com , jangan hanya mengedit atau membuat .desktopfile di /usr/local/share/applicationsatau ~/.local/share/applications. Sebagai gantinya, buat file di tempat lain dan gunakan

desktop-file-install <your_file.desktop>

untuk menambahkan file.

Misalnya Anda membuat ~/myapp.desktopdan melakukan

desktop-file-install --dir=$HOME/.local/share/applications ~/myapp.desktop

File yang ada dengan nama yang sama akan ditimpa dan kesatuan diperbarui, Anda dapat menggunakan --delete-originaljika sumber tidak diperlukan lagi, atau

sudo desktop-file-install ~/myapp.desktop

untuk menginstalnya untuk semua pengguna.

Rodin
sumber
+1 ini berfungsi. Skrip edit kasar menggunakan resep ini ada di gist.github.com/hilbix/f468fcbb15c3f68670d8
Tino
4
hanya dengan meletakkan salinan file .desktop di ~ / .local / share / application berfungsi untuk media
chrismarx
Saya biasanya mengedit file secara manual dan menambahkannya ke .local/share/applications/. Mencoba menggunakan perintah dengan --delete-originaldan aku peringatan: warning: key "Keywords[uk]" is a list and does not have a semicolon as trailing character, fixing. Hasilnya adalah file sumber dihapus dan tidak ada yang disalin ke direktori target. OS jahat ... pada dasarnya nuked file saya dan saya harus membuat yang baru dari awal.
Daniel
2
Saya masih mendapatkan masalah yang diperhatikan OP bahkan ketika melakukan ini.
JAB
Saya juga masih mendapatkan masalah OP perhatikan bahkan ketika melakukan ini (dan bahkan setelah restart) (Ubuntu 16.04).
Dan Nissenbaum
17

Cara untuk melakukan ini adalah dengan menjalankan perintah

killall unity-scope-home

setelah membuka tanda hubung proses dimulai secara otomatis lagi.

Ikon yang benar kemudian ditampilkan ...

wa4557
sumber
1
Tidak bekerja di sisiku. Saya menghapus .desktopfile dan itu masih muncul di compizbilah peluncuran.
Tino
Nah, terjebak dengan BUG 1287663 yang solusi adalah untuk menggunakan gsettings setdiikuti oleh( unity --replace & )
Tino
Saya tidak tahu apa yang Anda maksud dengan bilah peluncuran compiz ?! Saya pikir Anda berbicara tentang tanda hubung?
wa4557
Bekerja dengan baik untuk saya, Aplikasi terdaftar lagi
Sjaak Trekhaak
Ada alternatif di 15.10? Saya mendapatkanunity-scope-home: no process found
ardila
10

update-desktop-databaseadalah perintah untuk menyegarkan .desktopbasis data.

Pekka Kuronen
sumber
Ini tidak berhasil untuk saya. Menjalankan Ubuntu 16.04. Saya masih tidak melihat ikon peluncur perubahan yang dibuat dalam file .desktop.
RichArt
2
Perintah ini hanya memperbarui basis data tipe MIME. Itu tidak memperbarui perubahan lainnya. Lihat: manpages.ubuntu.com/manpages/zesty/man1/…
hife
Itu bekerja untuk saya
aless80
bekerja untuk saya dengan sudo
Mahoor13
8

Menurut jawaban ini (dan Anda dapat menemukan banyak lainnya dalam arti yang sama), sayangnya sepertinya tidak ada perintah untuk membiarkan unity-application-daemon me-refresh cache aplikasinya. Tetapi saya dapat mengonfirmasi bahwa kesatuan akan secara otomatis mendeteksi perubahan apa pun dengan .desktopfile dalam ~/.local/share/applications. Jika perubahan ini tidak segera tersedia, coba keluar dan masuk lagi untuk menyegarkannya.

Radu Rădeanu
sumber
3
Ya, itu akan secara otomatis mendeteksi .... dalam satu jam ...
vladimir
@vladimir Seperti yang saya katakan, jika Anda ingin perubahan segera tersedia, coba keluar dan masuk lagi untuk menyegarkannya.
Radu Rădeanu
3
Saya sepenuhnya mendapat jawaban Anda dan mungkin akan menerimanya. Anda memahami kelemahan log off - semua aplikasi yang dibuka ditutup. Ini bukan solusi, ini solusi dan bukan solusi yang ramah pengguna. Apakah Anda kebetulan pengembang? Jika ya, bisakah Anda mengarahkan saya ke sumber daemon? Saya kira ini dia: unity-lens-application daemon.vala
vladimir
3

Jawaban ini tidak melibatkan desktop restart.


Meskipun sangat terlambat, ada perintah utilitas untuk memperbarui cache database desktop yang dinamai update-desktop-database.

Memperbarui barang ditambahkan $HOME/.local/share/applications/, gunakan:

>> update-desktop-database

Memperbarui barang addded dalam yang global, seperti /usr/share/ubuntu/applications, /usr/share/gnome/applications, /usr/share/applications, dll, gunakan:

>> sudo update-desktop-database
Adam
sumber
Ini bekerja untuk saya.
Honghe.Wu
0

Beberapa aplikasi mungkin berhenti berfungsi dengan baik setelah perintah ini. Chrome, misalnya, menjadi benar-benar hitam.

unity --replace
Juliano ENS
sumber
Bisakah Anda mengklarifikasi peringatan Anda (?)?
Zanna
0

Saya memiliki masalah yang sama, diperbaiki ketika restart. Saya menggunakan ubuntu 16.04

Saya biasanya membuat .desktopfile /usr/share/applications/jika saya ingin berbagi file desktop dengan pengguna lain dan ~/.local/share/applicationsjika hanya untuk satu pengguna. Dan saya biasanya restart.

Saahithyan Vigneswaran
sumber