Utworzyłem my-app.desktop
plik do napisanego przeze mnie programu. Po dwukrotnym kliknięciu pojawia się komunikat o błędzie „ Wystąpił błąd podczas uruchamiania aplikacji ”. Jak mogę uzyskać bardziej szczegółowe informacje na temat problemu?
Widziałem odniesienie do sekcji „szczegóły” okna dialogowego, ale nic takiego nie jest obecne w tym, co widzę. Gdybym był na komputerze Mac, otworzyłbym aplikację Console, aby sprawdzić, czy jakieś błędy zostały zarejestrowane, ale nie dowiedziałem się czegoś podobnego na Ubuntu.
(Zauważ, że w przeciwieństwie do innych pytań o podobnym tytule, nie pytam, co jest nie tak z tym konkretnym plikiem .desktop; chcę wiedzieć, jak się ogólnie dowiedzieć.)
PATH
). Chcę wiedzieć, jak uzyskać dokładnie takie samo środowisko jak normalne uruchomienie, ale z większą ilością informacji diagnostycznych.Exec=
ścieżce. Pamiętaj, że powinieneś miećExec=
w cudzysłowie iPath=
bez cudzysłowów.Odpowiedzi:
Oto sztuczka, której możesz użyć. Utwórz skrypt opakowania dla swojej aplikacji, która go uruchomi, i przechwyć dane wyjściowe błędu:
Zapisz to jako
~/foo.sh
i zrób to za pomocąchmod +x ~/foo.sh
. Teraz zamiast tego skieruj na nią program uruchamiający pulpit. Coś jak:Spowoduje to przekierowanie komunikatów o błędach
~/myapp.log
i możesz je sprawdzić w dowolnym momencie. Możesz użyć,2>>~/myapp.log
jeśli chcesz, aby kolejne pliki błędów były dołączane do pliku zamiast go zastępować.Nawiasem mówiąc, powodem tego
$PATH
jest to, że prawdopodobnie ustawiasz swoje,$PATH
w~/.bahsrc
których środowisko graficzne nie odczytuje. Jest to również zły pomysł, ponieważ$PATH
zostanie ustawiony za każdym razem, gdy otwierasz nowy terminal, co jest niepotrzebne narzutem.~/.profile
Zamiast tego użyj do tego. Aby uzyskać więcej informacji o tym, które pliki są odczytywane, zobacz tutaj, a więcej informacji o tym, który plik należy użyć do tego, zobacz tutaj .źródło
Odpowiedź na to pytanie znajduje się tutaj: /ubuntu//a/836842
Spróbuj tego :
Wyświetla błędy w twoim
.desktop
pliku. Na przykład mój zwrócił:Więc kiedy poprawiłem literówkę
Desktop Entry
, skrypt działał pomyślnie.źródło
Uruchamiając następujące polecenie w terminalu:
Jestem pewien, że dowiesz się, czy w poleceniu przypisanym do
Exec
pola występuje błąd z wnętrza pliku .desktop.źródło
zwykle terminal (-output) daje wiele użytecznych informacji, zarówno o aplikacji, jak i pliku na pulpicie. Przykład: jeśli uruchomię aplikację z terminala, wpisując polecenie w terminalu, aplikacja zostanie uruchomiona.
Jeśli jednak coś jest nie tak, możesz spodziewać się wyniku takiego jak:
co daje wiele przydatnych informacji, nawet wiersz w aplikacji, który powoduje błąd. (Celowo to pomieszałem)
To samo z plikiem pulpitu, wystarczy otworzyć terminal w katalogu pliku .desktop i przeciągnąć go do terminala. Jeśli na przykład usuniesz
Exec=
wiersz z pliku .desktop, terminal poinformuje cię, że nie może znaleźć polecenia do wykonania.Aby sprawdzić, czy aplikacja wyświetla błąd, po prostu uruchom to, co umieściłeś po
Exec=
ciągu.Dane wyjściowe terminala są zwykle bardzo specyficzne i przydatne w raportach błędów, jak tutaj .
źródło
Może to pomóc innym ludziom - jest to oficjalna specyfikacja plików programu uruchamiającego pulpit
Ważna sekcja to: Rozpoznane klawisze wprowadzania na pulpicie - które pokazują, jakich wartości potrzebujesz.
źródło
Kiedy naprawdę nie mogę tego rozgryźć, ja:
Następnie kliknij prawym przyciskiem myszy utworzoną domyślną ikonę i wskaż lepszą grafikę.
źródło
Dla mnie problemem był brak
Icon=
linii (co wydaje się głupim wymogiem dla działającego programu uruchamiającego). Mój pełny plik .desktop wygląda teraz:Co nie jest szczególnie odporne na zmiany w użytkowniku, ale cokolwiek.
źródło