Masaüstümde bir .desktop dosyası var. Ben yazarsam:
Icon=/home/ianbell/Pictures/myLogo.png
.desktop dosyasının simgesi değişir (beklenen sonuç).
Ama şunu yazarsam:
Icon=~/Pictures/myLogo.png
çalışmıyor.
~/Kısayol değil /home/$USERmi?
Masaüstümde bir .desktop dosyası var. Ben yazarsam:
Icon=/home/ianbell/Pictures/myLogo.png
.desktop dosyasının simgesi değişir (beklenen sonuç).
Ama şunu yazarsam:
Icon=~/Pictures/myLogo.png
çalışmıyor.
~/Kısayol değil /home/$USERmi?
Yanıtlar:
Bir .desktopdosyada, mutlak ve tam yollar kullanmanız gerekir . Bu nedenle ~genişletilmez.
Bu yaygın olarak yapılan bir hatadır :)
Simgelerle ilgili istisnalar burada açıklanmıştır :
Dosya yöneticisi, menüler, vb. İçinde görüntülenecek simge. Ad mutlak bir yolduysa, verilen dosya kullanılır. Ad mutlak bir yol değilse , simgeyi bulmak için Simge Tema Spesifikasyonunda açıklanan algoritma kullanılacaktır.
ve burada :
Simge alanı, başlatıcı tarafından kullanılması gereken ve uygulamayı temsil eden simgedir. Dizinin altındaki tüm simgelerin
/usr/share/pixmapstam yollarının belirtilmesi gerekmez, ancak dosya adı uzantısızdır. Örneğin, simge dosyası ise/usr/share/pixmaps/wallch.png, Simge alanı sadece 'wallch' olmalıdır. Diğer tüm simgelerin tam yolu belirtilmelidir.
Bir .desktopdosyada:
Gelen Icon=hattı, sen edilir kullanım alanlarına izin:
Icon=/home/jacob/Thema/icon/some folder/some icon.png
iyi.
ancak
Gelen Exec=hattı, sen edilir değil bir durumda olmadıkça, boşluk kullanmasına izin argüman . Diğer tüm durumlarda, yol adımlarını boşlukla belirtmeniz gerekir:
Exec=/home/jacob/Bureaublad/some folder/application
başarısız olurken
Exec="/home/jacob/Bureaublad/some folder/application"
veya
Exec=/home/jacob/Bureaublad/"some folder"/application
iyi çalışacak
Kısacası, dosyaların nasıl çalışacağını tanımlayan belirtim nedeniyle , .desktopdosyanın Icon=yolu mutlak yolları anlar, ancak tilde genişletmeyi değil ..desktop
~) genişlemesini görebileceğiniz yer $HOME, genellikle komut isteminde etkileşimde bulunduğunuz olağan giriş kabuğu olan bash biçimindedir..desktopdosya kabukla aynı şey değildir, düz bir metin yapılandırma dosyasıdır, bu nedenle .desktopdosya ve kabuklar Linux'ta bulunsa bile aynı şekilde çalışmayabilir..desktopdosyanın nasıl çalışması gerekiyordu, Freedesktop'un Masaüstü Giriş Şartnamesi'nde tanımlanırMasaüstü Giriş Şartnamesi Icons, şöyle diyor:
Ad mutlak bir yolsa, verilen dosya kullanılır.
Bu nedenle, spesifik yollar kapsadığı için mutlak yolları kullanabildiniz.
Ad mutlak bir yol değilse , simgeyi bulmak için Simge Tema Spesifikasyonunda açıklanan algoritma kullanılacaktır.
Simge Tema Spesifikasyonunu kontrol ettiğimizde , POSIX'in tilde genişletmesini takip etmesi gerektiğini söyleyen hiçbir şey yok.
Böylece, ilgili FreeDesktop teknik özelliklerinden dolayı .desktop'ın Icon=ayarını mutlak yolları desteklenir, ancak bulduğumuz gibi, POSIX yaklaşık-to-$ ANA açılımları değildir.