Co się dzieje
Takie problemy dotyczą struktury dopasowywania aplikacji Unity. Aby uprościć szczegóły techniczne, okna programu i aplikacje to dwie osobne rzeczy dla Ubuntu. Ubuntu musi odgadnąć, która aplikacja ma określone okno. Czasami ta próba kończy się niepowodzeniem, aw programie uruchamiającym pojawia się znak zapytania.
Awaria może być spowodowana:
- Błąd w BAMF (wyżej wspomniany framework dopasowywania aplikacji).
- Błędny opis aplikacji (inaczej „plik .desktop”).
- Brak jakiegokolwiek opisu aplikacji. Pliki wykonywalne, które uruchamiają system Windows, z natury nie mają tych metadanych.
Aplikacja pokazana w pytaniu (KeePass2) ma problem typu 1, który został zgłoszony do odpowiedniego narzędzia do śledzenia błędów .
Przykłady problemów
Poniższe przykłady mają charakter techniczny i są przeznaczone dla programistów, którzy chcą, aby ich aplikacja wyświetlała się poprawnie w programie uruchamiającym Ubuntu.
Problem 3 - Brak opisu aplikacji
Aby aplikacja mogła się zintegrować z Unity - to znaczy, że można ją przeszukiwać w Dash i umieszczać w programie uruchamiającym - musi mieć pozycję na pulpicie. Takie wpisy są umieszczone w /usr/share/applications/
, /usr/local/share/applications/
i $HOME/.local/share/applications/
(te dwa ostatnie są dla oprogramowania osób trzecich, w całym systemie, a użytkownik tylko odpowiednio). Kończą się .desktop
rozszerzeniem i mają ten podstawowy format:
[Desktop Entry]
Type=Application
Name=My Application's Name
Icon=/file/path/of/my/icon
Exec=/file/path/of/my/executable
Ten wpis uruchamia program przez wywołanie Exec
pliku wykonywalnego. Ilekroć ten program wyświetla okno lub okno dialogowe, Unity zauważy, że jego plik wykonywalny „należy” do tego opisu aplikacji i używa podanego Name
oraz Icon
w programie uruchamiającym.
To jest prosty przykład. Formalna specyfikacja obejmuje wiele zaawansowanych funkcji.
Problem 2 - błędny opis aplikacji
Załóżmy, że my_app.desktop
istnieje on w prawidłowym katalogu aplikacji, ale:
/file/path/of/my/icon
nie istnieje w systemie plików.
/file/path/of/my/icon
nie jest obrazem.
- wpis używa niepoprawnej składni lub niepoprawnych znaczników.
W każdym z powyższych przypadków Ubuntu nie będzie w stanie poprawnie wyświetlić okna aplikacji w programie uruchamiającym.
Problem 1 - Błąd w BAMF
Począwszy od Ubuntu 11.10, BAMF ma wiele błędów, które uniemożliwiają prawidłowe dopasowanie aplikacji. Typowe (tymczasowe) pułapki obejmują:
Exec
Ścieżka bycia dowiązania symbolicznego zamiast zwykłego pliku
- Plik wykonywalny jest skryptem uruchamiającym główny plik wykonywalny.
W takich przypadkach programiści nie mają innej opcji, jak tylko zastosować obejście, takie jak usunięcie symbolicznej abstrakcji łącza lub bezpośrednie połączenie z plikiem wykonywalnym. Żaden z nich nie jest wymagany przez samą specyfikację pozycji pulpitu.