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.