.Desktop फ़ाइल में आइकन पथ


11

मेरे डेस्कटॉप पर मेरे पास एक .desktop फ़ाइल है। यदि मैं टाइप करता हूं:

Icon=/home/ianbell/Pictures/myLogo.png

.desktop फ़ाइल परिवर्तन (अपेक्षित परिणाम) का आइकन।

लेकिन, अगर मैं टाइप करता हूं:

Icon=~/Pictures/myLogo.png

यह काम नहीं करता है।

के ~/लिए एक शॉर्टकट नहीं है /home/$USER?


1
~ केवल एक शेल में आपके होम डायरेक्टरी के लिए छोटा है।
user253751

@JacobVlijm: माफ करना, मैं सो गया, मैं रात-दिन प्रोग्रामिंग कर रहा हूँ :-)

1
@ इयानबेल हाहा मैं भावना को जानता हूं :)
जैकब वलिजम

/ home / $ USER काम नहीं करेगा। ऐसा लगता है कि आप देख रहे हैं - / home / $ (whoami)। नीचे मेरी टिप्पणी देखो।
अजय कुमार

जवाबों:


10

एक .desktop फ़ाइल में पथों का उपयोग

एक .desktopफ़ाइल में, आपको पूर्ण और पूर्ण पथ का उपयोग करने की आवश्यकता है । इसलिए ~विस्तारित नहीं है।

यह आमतौर पर की गई गलती है :)

आइकन से संबंधित अपवाद यहां वर्णित एओ हैं :

फ़ाइल प्रबंधक, मेनू आदि में प्रदर्शित करने के लिए आइकन। यदि नाम एक निरपेक्ष पथ है, तो दी गई फ़ाइल का उपयोग किया जाएगा। यदि नाम कोई पूर्ण पथ नहीं है, तो आइकन का पता लगाने के लिए आइकन थीम विशिष्टता में वर्णित एल्गोरिथ्म का उपयोग किया जाएगा।

और यहाँ :

आइकन फ़ील्ड वह आइकन है जिसका उपयोग लॉन्चर द्वारा किया जाना चाहिए और एप्लिकेशन का प्रतिनिधित्व करता है। निर्देशिका के अंतर्गत आने वाले सभी आइकन /usr/share/pixmapsको अपना पूर्ण पथ निर्दिष्ट करने की आवश्यकता नहीं है, लेकिन एक्सटेंशन के बिना उनका फ़ाइल नाम। उदाहरण के लिए, यदि आइकन फ़ाइल है /usr/share/pixmaps/wallch.png, तो आइकन फ़ील्ड सिर्फ 'दीवार' होनी चाहिए। अन्य सभी चिह्नों में अपना पूर्ण पथ निर्दिष्ट होना चाहिए।

अधिक जानकारी

एक .desktopफ़ाइल में:

में Icon=लाइन, आप कर रहे हैं उपयोग रिक्त स्थान की अनुमति दी:

Icon=/home/jacob/Thema/icon/some folder/some icon.png

ठीक है।

तथापि

में Exec=लाइन, आप कर रहे हैं नहीं एक के मामले में, रिक्त स्थान का उपयोग करने के लिए जब तक की अनुमति दी तर्क । अन्य सभी मामलों में, आपको किसी स्थान के साथ पथ चरणों को उद्धृत करने की आवश्यकता है:

Exec=/home/jacob/Bureaublad/some folder/application

असफल हो जाएगा, जबकि

Exec="/home/jacob/Bureaublad/some folder/application"

या

Exec=/home/jacob/Bureaublad/"some folder"/application

ठीक काम करेगा


तो मैं "उपयोगकर्ताओं की होम निर्देशिका" के सापेक्ष पथ का संदर्भ कैसे दूं?
एरोन फ्रेंके

आरोन फ्रेंक, आप वर्तमान उपयोगकर्ता नाम प्राप्त करने के लिए $ (whoami) का उपयोग कर सकते हैं। मैंने कोशिश की, लेकिन यह काम करना चाहिए - वर्तमान उपयोगकर्ता के लिए होम डायर के लिए - / home / $ (whoami)।
अजय कुमार

मैंने कोशिश की और यह हारून काम करता है।
अजय कुमार

4

संक्षेप में, .desktopफ़ाइल का Icon=पथ निरपेक्ष पथ को समझता है, लेकिन टिल्ड विस्तार नहीं, क्योंकि विनिर्देशन जो .desktopफ़ाइलों को काम करने के लिए माना जाता है, को परिभाषित करता है ।

तिल्ली विस्तार

  • जहाँ आपको पर्यावरण चर के ~लिए tilde ( ) विस्तार दिखाई देगा $HOME, उदाहरण के लिए अक्सर bash में, जो सामान्य लॉगिन शेल है जिसे आप कमांड प्रॉम्प्ट पर इंटरैक्ट करते हैं
  • बैश, और अन्य POSIX अनुरूप गोले, कर टिल्ड-हैं- $ HOME विस्तार के साथ संगत के लिए POSIX विनिर्देशन के गोले

.desktop फ़ाइलें

  • हालाँकि, कोई .desktopफ़ाइल शेल के समान नहीं है, यह एक सादा पाठ कॉन्फ़िगरेशन फ़ाइल है, इसलिए यह आवश्यक रूप से उसी तरह से काम नहीं करेगा, भले ही .desktopफाइल और शेल दोनों लिनक्स पर पाए जा सकते हैं
  • एक .desktopफ़ाइल को कैसे काम करना चाहिए, इसे फ़्रीडेस्कोटॉप के डेस्कटॉप एंट्री स्पेसिफिकेशन में परिभाषित किया गया है

डेस्कटॉप प्रविष्टि विशिष्टता, के बारे Iconsमें कहते हैं:

यदि नाम एक निरपेक्ष पथ है, तो दी गई फ़ाइल का उपयोग किया जाएगा।

यही कारण है कि आप निरपेक्ष पथ का उपयोग करने में सक्षम थे, क्योंकि यह कल्पना द्वारा कवर किया गया है

यदि नाम कोई पूर्ण पथ नहीं है, तो आइकन का पता लगाने के लिए आइकन थीम विशिष्टता में वर्णित एल्गोरिथ्म का उपयोग किया जाएगा।

जब हम आइकन थीम विशिष्टता की जांच करते हैं , तो ऐसा कुछ भी नहीं है जो कहता है कि उसे पोसिक्स के टिल्ड विस्तार का पालन करना होगा।

सारांश

इस प्रकार, के बारे में Freedesktop विनिर्देशों के कारण .desktopकी Icon=स्थापना, पूर्ण पथ का समर्थन कर रहे हैं, लेकिन जैसा कि आप मिल गया है, POSIX टिल्ड-हैं- $ HOME विस्तार नहीं कर रहे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.