Birlik yeniden yüklenmeye zorlama ~ / .local / share / applications /


66

Diyelim ki bir myapp.desktopdosyayı değiştirdim / ekledim ~/.local/share/applications/. Bir süredir Ubuntu Unity bana Unity lens'te Ubuntu butonu altındaki eski uygulama kısayollarını gösterecek. Uygulamaların orada güncellenmesi biraz zaman alacaktır (veya yalnızca bir kez yeniden başlatılması).

Birliğin ~/.local/share/applicationsobjektife yeniden yüklenmesini ve kısayolları doğru yansıtmasını nasıl zorlayabilirim ?


Denedin unity --resetmi
sayantankhan

Düzeltme. Sadece olmalı unity. Alt + F2 tuşlarına basın ve komutu yazın.
sayantankhan

Evet. Yardım etmedi. Hala unityveya sonrasında eski uygulama adını gösterir unity --reset(ki bu, myapp.desktop dosyasını değiştirmeden önceydi).
vladimir

Garip, yaptığınız şeyi aynen yaptığımda iyi çalışıyor gibi görünüyor. .desktopDosyanın çalıştırılabilir olduğundan emin oldunuz mu?
sayantankhan

Yalnızca oturumu kapatıp / yeniden başlattıktan sonra çalışır. Masaüstü dosyasının içindeki mevcut uygulamanın adını değiştirmeyi deneyin. Başka hiçbir şeyi değiştirmeyin. Örneğin, varolan bazı uygulamaların adına "Test" ekleyin. Şimdi Ubuntu düğmesine basın ve uygulama adını yazmaya başlayın - hala benim için "Test" olmadan eski adı gösteriyor. Hem iş hem de ev makinelerinde ve eşimin dizüstü bilgisayarında çoğalttım. Bence yaklaşık% 100 tekrarlanabilir.
vladimir

Yanıtlar:


69

Biraz geç, ama bir sorun bulamadan önce bu konuya rastladım, benim sorunum için en azından, bir şeyler hakkında googling, neredeyse vazgeçtim.

Bu kılavuza göre help.ubuntu.com , .desktopdosyalarınızı /usr/local/share/applicationsveya içinde düzenlemeyin veya oluşturmayın ~/.local/share/applications. Bunun yerine, dosyayı başka bir yerde oluşturun ve kullanın.

desktop-file-install <your_file.desktop>

Dosyayı eklemek için

Örneğin, yarat ~/myapp.desktopve yap

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

Aynı isimdeki mevcut dosyaların üzerine yazılacak ve birlik güncellenecektir, --delete-originalkaynağa artık ihtiyaç duyulmazsa kullanabilirsiniz , veya

sudo desktop-file-install ~/myapp.desktop

tüm kullanıcılar için yüklemek için.


+1 bu işe yarıyor. Bu tarifi kullanarak kaba bir düzenleme betiği gist.github.com/hilbix/f468fcbb15c3f68670d8 adresindedir
Tino

4
Sadece ~ / .local / share .desktop dosyasının bir kopyasını koyarak / uygulamalar bana-çalıştı
chrismarx

Genellikle dosyayı el ile düzenler ve eklerim .local/share/applications/. İle komutunu kullanarak çalıştı --delete-originalve bir uyarı var: warning: key "Keywords[uk]" is a list and does not have a semicolon as trailing character, fixing. Sonuç, kaynak dosya silindi ve hiçbir şey hedef dizine kopyalanmadı. Evil OS ... temelde dosyamı sildi ve sıfırdan yeni bir tane oluşturmak zorunda kaldım.
Daniel

2
OP bunu yaparken bile farkına varıyorum.
JAB

Ayrıca OP sorununu yaparken bile (ve yeniden başlattıktan sonra bile) farkettim (Ubuntu 16.04).
Dan Nissenbaum

17

Bunu yapmanın yolu, komutu çalıştırmaktır.

killall unity-scope-home

Dash açıldıktan sonra işlem otomatik olarak tekrar başlatılır.

Doğru simgeler daha sonra görüntülenir ...


1
Benim tarafımda çalışmıyor. Bir .desktopdosyayı kaldırdım ve hala compizbaşlatma çubuğunda görünüyor.
Tino

Eh, ile sıkışmış BUG 1287663 çözüm kullanmak etmekti gsettings setardından( unity --replace & )
Tino

Compiz Fırlatma Çubuğu ile ne demek istediğinizi anlamadım. Çizgi hakkında konuştuğunu sanıyordum?
wa4557

Benim için iyi çalışıyor, Uygulamalar tekrar listeleniyor
Sjaak Trekhaak

15.10’da alternatif var mı? Ben alıyorumunity-scope-home: no process found
ardila

10

update-desktop-database.desktopveritabanını yenileme komutu .


Bu benim için işe yaramadı. Ubuntu 16.04 çalıştırılıyor. Başlatıcı simgesinde .desktop dosyasında yapılan değişiklikleri hala göremiyorum.
RichArt

2
Bu komut yalnızca MIME tipi veritabanlarını günceller. Başka hiçbir değişikliği güncellemez. Bkz: manpages.ubuntu.com/manpages/zesty/man1/...
hife

Benim için çalıştı
aless80

sudo ile benim için çalışıyor
Mahoor13

8

Bu cevaba göre (ve diğerlerini aynı anlamda bulabilirsiniz), maalesef, birlik-uygulamalar-arka plan uygulamasının uygulama önbelleğini yenilemesine izin verecek bir komut yok gibi görünüyor. Ancak, birliğin içinde .desktopdosya olan değişiklikleri otomatik olarak algılayacağını onaylayabilirim ~/.local/share/applications. Bu değişiklikler hemen mevcut değilse, yenilemek için oturumu kapatıp tekrar açmayı deneyin.


3
Evet, otomatik olarak algılar .... bir saat içinde ...
vladimir

@vladimir Dediğim gibi, değişikliklerin hemen kullanılabilir olmasını istiyorsanız, yenilemek için oturumu kapatıp tekrar açmayı deneyin.
Radu Rădeanu 12:13

3
Cevabını tam olarak aldım ve muhtemelen kabul edecek. Oturum kapatmanın olumsuz taraflarını anlıyorsunuz - tüm açılan uygulamalar kapalı. Bu bir çözüm değil, geçici bir çözüm ve kullanıcı dostu bir çözüm değil. Şans eseri geliştirici misiniz? Eğer evet ise, lütfen beni servet kaynaklarına yönlendirir misiniz? Sanırım bu şudur: birlik-lens-uygulamaları daemon.vala
vladimir

3

Bu cevap, masaüstü yeniden başlatmayı içermez.


Oldukça geç olsa da, adlı masaüstü veritabanı önbelleğini güncellemek için bir yardımcı program komutu vardır update-desktop-database.

Eklenen öğeleri güncelleme $HOME/.local/share/applications/, kullanım:

>> update-desktop-database

Küresel olanlar addded maddeleri güncelleme gibi /usr/share/ubuntu/applications, /usr/share/gnome/applications, /usr/share/applicationsvb kullanım:

>> sudo update-desktop-database

Bu benim için çalışıyor.
Honghe.

0

Bazı uygulamalar bu komuttan sonra düzgün çalışmayı bırakabilir. Örneğin, Chrome tamamen siyah oldu.

unity --replace

Uyarınızı açıklayabilir misiniz (?)?
Zanna,

0

Yeniden başladığımda da benzer bir sorun yaşadım. Ubuntu 16.04 kullanıyorum

Genellikle oluşturmak .desktopdosyaları /usr/share/applications/diğer kullanıcılarla masaüstü dosyaları paylaşmak istiyorsanız ve ~/.local/share/applicationseğer sadece bir kullanıcı için. Ve genellikle yeniden başlatırım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.