मैं एक .desktop फ़ाइल को कैसे डीबग करूँ?


10

मेरे पास एक .desktopविशिष्ट कॉन्डा वातावरण में अजगर कार्यक्रम शुरू करने के लिए एक फाइल है, जैसे:

[Desktop Entry]
Version=1.0
Name=Qutebrowser
GenericName=Web Browser
Comment=View and edit files
MimeType=text/html;
Exec=bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"
Icon=/vol/home/kaipingga/.config/qutebrowser.svg
Type=Application
Terminal=false
Categories=Network;Utility;X-Python;
StartupWMClass=Qutebrowser
X-Desktop-File-Install-Version=0.20

यह काम करता था, लेकिन मैंने हाल ही में अपने अजगर के पर्यावरण को बदल दिया।

अब, एक टर्मिनल में एक ही कमांड

$ bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"

एप्लिकेशन चलाता है, लेकिन .desktopफ़ाइल नहीं करता है। मुझे कैसे पता चलेगा कि कौन सी त्रुटि है?

मेरी अन्य .desktopफाइलें ठीक चलती हैं, मुझे लगता है कि मेरे पाइथन पर्यावरण के साथ कुछ गलत हो गया है, जो इस समय के लिए काफी हैकिश है (जो इसे condaशुरू करने के लिए समर्पित वातावरण में चलाने का मुख्य कारण है )।

Zachary ब्रैडी ने मूल रूप से सुझाव दिया (लेकिन मुद्दे हैं ) फाइलें xdg-openचला .desktopसकते हैं, लेकिन यह मुझे एक संदेश बॉक्स देता है

त्रुटि

पैनल में एक प्लगइन जोड़ने में विफल

Xfce4-panel का कोई रनिंग उदाहरण नहीं मिला

दोनों इसके लिए .desktopऔर एक दूसरे के लिए जो अन्यथा काम करता है। (मैं सादा उबटन चला रहा हूँ, कोई एक्सफ़ेसे नहीं)।


मैंने अपना उत्तर हटा दिया है क्योंकि इसमें पढ़ने में xdg-openकाफी समय लग गया है और केवल पाठ संपादकों में डेस्कटॉप आइकन खोले हैं ...
Zachary Brady

यह पता चला है कि समस्या पायथन पथ में "के रूप में" ( " नहीं, ~" के रूप में प्रकट ) थी, जिसे मैंने कमांड के बीच में जोड़कर पाया था । लेकिन मुझे यकीन है कि यह डिबग करने का एक बेहतर तरीका है! ~/home/anaphoryenv > check;
एनाफोरी

जवाबों:


3

तुम भी सत्यापन टूल का उपयोग कर सकते डेस्कटॉप फ़ाइल सत्यापित करें और अधिक समस्याओं को खोजने के लिए।

(यह भी देखें: कैसे मान्य करने के लिए / फ़ाइलें .desktop की पुष्टि? )

# Result for your example
$ desktop-file-validate qutebrowser.desktop 
test.desktop: hint: value "Network;Utility;X-Python;" for key "Categories"
in group "Desktop Entry" contains more than one main category; application
might appear more than once in the application menu

1

लिनक्स मिंट पर, फ़ाइल प्रबंधक सेवा का नाम दिया गया है nemo, नीमो जारी करके बाहर निकाला जा सकता है:

nemo -q

आपके फ़ाइल प्रबंधक के बंद होने के साथ, आप इसे किसी टर्मिनल में खोल सकते हैं

nemo

यह अब इस टर्मिनल पर अपना लॉग प्रिंट करेगा, जब आप अपनी * .desktop फ़ाइल खोलने के लिए जाते हैं, तो आपको अपने * .desktop की Exec लाइन का स्टडआउट देखने में सक्षम होना चाहिए।


ओह, और जब आपका किया डिबगिंग, Ctrl + C टर्मिनल रनिंग नीमो, और इसे अपने प्रारंभ मेनू के माध्यम से खोलें, या अपने डेस्कटॉप सत्र को फिर से लिखें।
थोरसुमोनर

0

मैं आम तौर पर निम्नलिखित जोड़कर देखता हूं कि क्या निष्पादित किया जा रहा है:

Terminal=true
TerminalOptions=\s--noclose

0

xdg-openऔर exo-openफ़ाइलों को खोलने के लिए उपयोग किया जाता है (उनके संबंधित कार्यक्रम में)। वे कभी भी अपने दम पर कुछ भी निष्पादित करने के लिए नहीं थे। डेस्कटॉप द्वारा परिभाषित कमांड निष्पादित करने के लिए, आप डेक्स का उपयोग कर सकते हैं ।

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