कैसे .desktop फ़ाइलों में रिक्त स्थान से बाहर निकलें


15

मैं यहाँ वर्णित की.desktop तरह एक फ़ाइल बनाना चाहता हूँ ।

[Desktop Entry]
Name=Sublime Text 2
GenericName=Sublime Text 2
Comment=Edit text files
Exec=/home/user/opt/sublime/Sublime Text 2/sublime_text %U

हालाँकि, Nautilus के संदर्भ मेनू से ओपन के साथ इसका उपयोग करना मुझे देता है

'' / घर / उपयोगकर्ता / ऑप्ट / उदात्त / उदात्त 'नहीं मिला

इसलिए मैंने कोशिश की

Exec="/home/user/opt/sublime/Sublime Text 2/sublime_text" %U

और पा लिया

मिलान का उद्धरण "के लिए मिला था, इससे पहले पाठ समाप्त हो गया था (पाठ '' / घर / उपयोगकर्ता / ऑप्ट / उदात्त / उदात्त 'था)

फ़ाइलों की Execलाइन में रिक्त स्थान से बचने का सही तरीका क्या है .desktop?

जवाबों:


5

बैकस्लैश द्वारा प्रत्येक स्थान को वरीयता दें:

[Desktop Entry]
Name=Sublime Text 2
GenericName=Sublime Text 2
Comment=Edit text files
Exec=/home/user/opt/sublime/Sublime\ Text\ 2/sublime_text %U

4
वह काम नहीं करता है:Text ended just after a '\' character. (The text was '/home/user/opt/sublime/Sublime\')
nh2

मजेदार, यह मेरे लिए काम करता है।
जनवरी

क्या हम समान संस्करणों का उपयोग करते हैं? GNOME nautilus 3.4.212.04 पर।
एनएच २

मेरे लिए उबंटू 16.04 पर काम करता है, साथ ही साथ डबल उद्धरण भी। हालाँकि, न तो रिक्त स्थान से बचते हैं और न ही पथ और चिह्न मानों को उद्धृत करते हैं, इससे एप्लिकेशन को नहीं चलाया जा सकता है (मेरे कंप्यूटर पर, डैश आइकन झपकाता है लेकिन कुछ भी नहीं करता है, यहां तक ​​कि टर्मिनल भी नहीं खोलता है भले ही टर्मिनल = सच)। उसी तरह से अगर आप Exec से नहीं बचते हैं, तो आप कल्पना कर सकते हैं कि मुझे कुछ समय लग गया कि क्या-क्या-क्या करना है .desktop की लाइन के साथ!
hsandt

अजीब ... यह काम करता है अगर मैं लांचर को मैन्युअल रूप से चलाता हूं, लेकिन यह ऑटोस्टार्ट पर नहीं है। यह सुविधा सुपर बगेड है।
एड्रियन लोपेज

3

मुझे बिल्कुल वही समस्या हो रही थी! विभिन्न भागने / उद्धरण पैटर्न की कोशिश करने के बाद, मैंने तय किया कि सबसे सरल समाधान sublime_textमेरे $ PATH पर एक प्रतीकात्मक लिंक होना चाहिए (या आप कमांड-लाइन उपनाम का उपयोग कर सकते हैं)।

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[C]=/usr/share/Sublime Text 2/Icon/256x256/sublime_text.png
Name[C]=Sublime Text 2
Exec=Sublime-Text-2 %U
Comment[C]=Text Editor
Name=Sublime Text 2
Comment=Text Editor
Icon=/usr/share/Sublime Text 2/Icon/256x256/sublime_text.png
X-Desktop-File-Install-Version=0.21

4
यह एक समझदार समाधान नहीं है, लेकिन हम अभी भी पता नहीं है कि हम कैसे कर रहे हैं मतलब में रिक्त स्थान का उपयोग करने के .desktopफ़ाइलें।
nh2

2
सहमत, हालांकि मेरे लिए यह सिर्फ Execगलत तरीके से लागू करने के बजाय, रास्ते में छोटी गाड़ी लगता है। यह मान के अंत के रूप में एक स्थान की व्याख्या करता है, जो विषम है, क्योंकि आप अन्य गुणों में पथों के लिए अनस्कैप्ड रिक्त स्थान / बिना तार के उपयोग कर सकते हैं!
c24w

3

क्या आपने "" उद्धरणों के बजाय '' उद्धरणों का उपयोग करने की कोशिश की है? मेरे पास Exec लाइन में रिक्त स्थान के साथ एक .desktop फ़ाइल है, और मेरा '' उद्धरणों के साथ काम करता है।


3

(इंस्टालेशन निर्देशों का पालन करते समय मुझे यही समस्या आई है) http://monkeyhacks.com/post/how-to-install-sublime-text-2-on-ubuntu-14-04 ) साइट । इसलिए मेरा समाधान था :

  1. "उदात्त" नामक सॉफ्ट लिंक को हटाएं / हटाएं /usr/bin

  2. "उदात्त पाठ 2" फ़ोल्डर के सभी व्हाट्सएप को "SublimeText2" में बदलकर निकालें।

  3. में एक नरम लिंक बनाएँ /usr/bin/:

    sudo ln -s /opt/SublimeText2/sublime_text /usr/bin/sublime
    
  4. सहित .desktop फ़ाइल बनाएँ:

    Exec=/opt/SublimeText2/sublime_text %U
    Icon=/opt/SublimeText2/Icon/48x48/sublime_text.png
    


0

मैं Ubuntu 12.04 में GNOME nautilus 3.4.2 का उपयोग करके एक ही समस्या में भाग गया। मुझे Moblin UI फ्रेमवर्क में इसी मुद्दे के लिए एक बग रिपोर्ट में वैकल्पिक वैकल्पिक हल मिला जिसे मैं उस उल्लेख के लिए पसंद करता हूं जहां आपको हर एक फ़ोल्डर को $ PATH में जोड़ना होगा।

वर्कअराउंड बस है:
"एक पथ में एक प्रतीकात्मक लिंक बनाएं जिसमें रिक्त स्थान नहीं है, और EXEC फ़ील्ड को उस लिंक पर इंगित करें।"


-1

.desktop फाइलें कोट्स, स्पेस को हैंडल नहीं करती हैं और अक्षर उसी तरह से बचते हैं जैसे शेल करते हैं। संभवतः, सबसे अच्छा विकल्प यह होगा कि अपेक्षित व्यवहार प्राप्त करने के लिए अपनी निष्पादन पंक्ति में एक शेल को कॉल करें, जैसे:

[Desktop Entry]
Name=Sublime Text 2
GenericName=Sublime Text 2
Comment=Edit text files
Exec=sh -c "/home/user/opt/sublime/Sublime Text 2/sublime_text" %U

अधिक जानकारी के लिए, कृपया देखें man sh। यह भी प्रतीकात्मक लिंक बनाने और बनाए रखने से बचता है, जैसा कि आप अन्य उत्तरों के साथ करेंगे।


यह समाधान तर्कों को पारित नहीं करता है, जैसे फ़ाइल पथ, अंततः आदेशित आदेश में। -1
डेविड फ़ॉस्टर

हुह। जाहिरा तौर पर यह भी विश्वसनीय नहीं है। मैंने इस समाधान को पोस्ट करने से पहले परीक्षण किया, और इसने काम किया। लेकिन तब मैंने यह जांचने के लिए अपने परीक्षण को संशोधित किया कि क्या आप सही थे, और अब यह काम नहीं कर रहा है, भले ही यह कैसे काम कर रहा है, इसे बहाल करने के बाद। अजीब।
केडी --बीपीवी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.