Jak wymusić przeładowanie Unity ~ / .local / share / applications /


66

Powiedzmy, że zmieniłem / dodałem myapp.desktopplik o ~/.local/share/applications/. Przez pewien czas Ubuntu Unity nadal pokaże mi stare skróty do aplikacji w soczewce Unity pod przyciskiem Ubuntu. Aktualizacja listy aplikacji zajmie trochę czasu (lub tylko jeden restart).

Jak zmusić Unity do ponownego załadowania ~/.local/share/applicationsi prawidłowego odzwierciedlenia skrótów w obiektywie?


Próbowałeś unity --reset?
sayantankhan

Korekta. Tak powinno być unity. Naciśnij alt + F2 i wpisz polecenie.
sayantankhan

Tak. To nie pomogło. Nadal pokazuje starą nazwę aplikacji po unitylub unity --reset(która była przed modyfikacją pliku myapp.desktop).
vladimir

Dziwne, wydaje się, że działa dobrze, kiedy robię dokładnie to samo, co ty. Upewnij się, że .desktopplik jest wykonywalny?
sayantankhan

Działa tylko po wylogowaniu / ponownym uruchomieniu. Spróbuj po prostu zmienić nazwę istniejącej aplikacji w pliku pulpitu. Nie zmieniaj nic innego. Na przykład dodaj „Test” do nazwy istniejącej aplikacji. Teraz naciśnij przycisk Ubuntu i zacznij pisać nazwę aplikacji - nadal pokazuje mi starą nazwę bez „Testuj”. Powiedziałem to zarówno na urządzeniach domowych, jak i domowych oraz na laptopie żony. Myślę, że jest w 100% odtwarzalna.
vladimir

Odpowiedzi:


69

Trochę późno, ale natknąłem się na ten wątek, zanim znalazłem rozwiązanie, przynajmniej na mój problem, googlując coś związanego, prawie się poddając.

Zgodnie z tym przewodnikiem help.ubuntu.com nie edytuj ani nie twórz .desktopplików w /usr/local/share/applicationslub ~/.local/share/applications. Zamiast tego utwórz plik gdzieś indziej i użyj

desktop-file-install <your_file.desktop>

aby dodać plik.

Np. Tworzysz ~/myapp.desktopi robisz

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

Istniejące pliki o tej samej nazwie zostaną zastąpione, a jedność zaktualizowana, możesz użyć, --delete-originaljeśli źródło nie jest już potrzebne, lub

sudo desktop-file-install ~/myapp.desktop

zainstalować go dla wszystkich użytkowników.


+1 to działa. Zgrubny
Tino

4
po prostu umieszczenie kopii pliku .desktop w ~ / .local / share / application zadziałało dla mnie
chrismarx 18'15

Zwykle ręcznie edytuję plik i dodam go do .local/share/applications/. Próbowałem za pomocą polecenia z --delete-originali dostałem ostrzeżenie: warning: key "Keywords[uk]" is a list and does not have a semicolon as trailing character, fixing. W rezultacie plik źródłowy został usunięty i nic nie zostało skopiowane do katalogu docelowego. Evil OS ... w zasadzie nuknął mój plik i musiałem stworzyć nowy od zera.
Daniel

2
Nadal dostaję problem, który OP zauważyło, nawet gdy to robiłem.
JAB

Nadal dostaję zauważony problem, nawet gdy to robię (a nawet po ponownym uruchomieniu) (Ubuntu 16.04).
Dan Nissenbaum

17

Sposobem na to jest uruchomienie polecenia

killall unity-scope-home

po otwarciu myślnika proces rozpoczyna się automatycznie.

Wyświetlane są prawidłowe ikony ...


1
Nie działa po mojej stronie. Usunąłem .desktopplik, który nadal pojawia się na compizpasku uruchamiania.
Tino

Cóż, zatrzymany z BUG 1287663 rozwiązaniem było wykorzystanie gsettings setnastępnie( unity --replace & )
Tino

Nie wiem, co masz na myśli przez pasek uruchamiania compiz ?! Myślałem, że mówisz o desce rozdzielczej?
wa4557

Działa dla mnie dobrze, aplikacje są ponownie wymienione
Sjaak Trekhaak

Jakieś alternatywy w 15.10? Dostajęunity-scope-home: no process found
ardila


8

Zgodnie z tą odpowiedzią (i można znaleźć wiele innych w tym samym sensie), niestety wydaje się, że nie ma polecenia pozwalającego demonowi unity-applications-odświeżać pamięć podręczną aplikacji. Ale mogę potwierdzić, że jedność automatycznie wykryje wszelkie zmiany w .desktopplikach ~/.local/share/applications. Jeśli te zmiany nie są natychmiast dostępne, spróbuj się wylogować i zalogować ponownie, aby je odświeżyć.


3
Tak, automatycznie wykryje .... za godzinę ...
Vladimir

@vladimir Jak już powiedziałem, jeśli chcesz, aby zmiany były natychmiast dostępne, spróbuj się wylogować i zalogować ponownie, aby je odświeżyć.
Radu Rădeanu,

3
W pełni zrozumiałem twoją odpowiedź i prawdopodobnie ją zaakceptuję. Rozumiesz wady wylogowywania się - wszystkie otwarte aplikacje zostały zamknięte. To nie jest rozwiązanie, to obejście i nie jest przyjazne dla użytkownika. Czy jesteś deweloperem przez przypadek? Jeśli tak, czy możesz wskazać mi źródła demonów? Chyba to jest to: unity-lens-aplikacje daemon.vala
Vladimir

3

Ta odpowiedź nie wymaga ponownego uruchomienia komputera.


Chociaż dość późno, istnieje polecenie narzędzia do aktualizacji nazwanej pamięci podręcznej bazy danych na pulpicie update-desktop-database.

Aktualizując dodane elementy $HOME/.local/share/applications/, użyj:

>> update-desktop-database

Aktualizacja spożywczych addded w tych globalnych, jak /usr/share/ubuntu/applications, /usr/share/gnome/applications, /usr/share/applications, itd., Zastosowanie:

>> sudo update-desktop-database

To działa dla mnie.
Honghe.Wu

0

Niektóre aplikacje mogą przestać działać poprawnie po tym poleceniu. Na przykład chrom stał się całkowicie czarny.

unity --replace

Czy możesz wyjaśnić swoje ostrzeżenie (?)?
Zanna,

0

Miałem podobny problem, naprawiony przy ponownym uruchomieniu. Używam Ubuntu 16.04

Zwykle tworzę .desktoppliki, /usr/share/applications/jeśli chcę udostępnić pliki pulpitu innym użytkownikom i ~/.local/share/applicationstylko dla jednego użytkownika. I zwykle zaczynam od nowa.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.