Ikona do wyświetlenia w menedżerze plików, menu itp. Jeśli nazwa jest ścieżką bezwzględną, użyty zostanie podany plik. Jeśli nazwa nie jest ścieżką bezwzględną, do zlokalizowania ikony zostanie użyty algorytm opisany w specyfikacji motywu ikony.
Pole ikony to ikona, która powinna być używana przez program uruchamiający i reprezentuje aplikację. Wszystkie ikony znajdujące się w katalogu
/usr/share/pixmapsnie muszą mieć pełnej ścieżki, ale nazwy pliku bez rozszerzenia. Na przykład, jeśli plik ikony to
/usr/share/pixmaps/wallch.png, to pole Ikona powinno być po prostu „ściśnięciem”. Wszystkie inne ikony powinny mieć określoną pełną ścieżkę.
Więcej informacji
W .desktoppliku:
W Icon=linii, są dopuszczone do użytkowania przestrzeni:
Jak więc odwołać się do ścieżki względem „katalogu domowego użytkowników”?
Aaron Franke,
Aaron Franke, możesz użyć $ (whoami), aby uzyskać aktualną nazwę użytkownika. Nie próbowałem, ale to powinno działać - dla katalogu domowego dla bieżącego użytkownika - / home / $ (whoami).
Ajay Kumar
Próbowałem i działa Aaron.
Ajay Kumar
4
Krótko mówiąc, ścieżka .desktopdo pliku Icon=rozumie ścieżki bezwzględne, ale nie rozwija tyldy, ze względu na specyfikację, która określa, w jaki sposób .desktoppowinny działać pliki.
Rozszerzenie tyldy
Widoczne jest ~rozszerzenie funkcji tilde ( ) do $HOMEzmiennej środowiskowej, na przykład w bash, która jest zwykłą powłoką logowania, z którą użytkownik wchodzi w interakcję w wierszu polecenia
Jednak .desktopplik nie jest tym samym co powłoka, jest to zwykły tekstowy plik konfiguracyjny, więc niekoniecznie działałby w ten sam sposób, nawet jeśli .desktoppliki i powłoki można znaleźć w systemie Linux
Specyfikacja dotycząca pozycji na pulpicie dotyczy Icons:
Jeśli nazwa jest ścieżką bezwzględną, użyty zostanie podany plik.
Dlatego mogłeś używać ścieżek bezwzględnych, ponieważ jest to objęte specyfikacją
Jeśli nazwa nie jest ścieżką bezwzględną, do zlokalizowania ikony zostanie użyty algorytm opisany w specyfikacji motywu ikony.
Kiedy sprawdzamy specyfikację motywu ikony , nic nie mówi, że musi ona w ogóle podążać za rozszerzeniem tyldy POSIX.
Podsumowanie
Tak więc, ze względu na specyfikacje Freedesktop dotyczących .desktop„s Icon=ustawienia ścieżki bezwzględne są obsługiwane, ale jak znaleźć, POSIX tyldy-to- $ HOME rozszerzenia nie są.
Odpowiedzi:
Zastosowanie ścieżek w pliku .desktop
W
.desktop
pliku musisz użyć ścieżek bezwzględnych i pełnych . Dlatego~
nie jest rozwinięty.To często popełniany błąd :)
Wyjątki dotyczące ikon opisano tutaj :
a tutaj :
Więcej informacji
W
.desktop
pliku:W
Icon=
linii, są dopuszczone do użytkowania przestrzeni:jest w porządku.
jednak
W
Exec=
wierszu nie wolno używać spacji, chyba że w przypadku argumentu . We wszystkich innych przypadkach musisz podać kroki ścieżki spacją:zawiedzie, podczas gdy
lub
będzie dobrze działać
źródło
Krótko mówiąc, ścieżka
.desktop
do plikuIcon=
rozumie ścieżki bezwzględne, ale nie rozwija tyldy, ze względu na specyfikację, która określa, w jaki sposób.desktop
powinny działać pliki.Rozszerzenie tyldy
~
rozszerzenie funkcji tilde ( ) do$HOME
zmiennej środowiskowej, na przykład w bash, która jest zwykłą powłoką logowania, z którą użytkownik wchodzi w interakcję w wierszu poleceniapliki .desktop
.desktop
plik nie jest tym samym co powłoka, jest to zwykły tekstowy plik konfiguracyjny, więc niekoniecznie działałby w ten sam sposób, nawet jeśli.desktop
pliki i powłoki można znaleźć w systemie Linux.desktop
powinien działać plik, jest zdefiniowany w specyfikacji Freedesktop w Desktop Entry SpecificationSpecyfikacja dotycząca pozycji na pulpicie dotyczy
Icons
:Dlatego mogłeś używać ścieżek bezwzględnych, ponieważ jest to objęte specyfikacją
Kiedy sprawdzamy specyfikację motywu ikony , nic nie mówi, że musi ona w ogóle podążać za rozszerzeniem tyldy POSIX.
Podsumowanie
Tak więc, ze względu na specyfikacje Freedesktop dotyczących
.desktop
„sIcon=
ustawienia ścieżki bezwzględne są obsługiwane, ale jak znaleźć, POSIX tyldy-to- $ HOME rozszerzenia nie są.źródło