Xdg-open कमांड को कैसे पता चलता है कि फाइल खोलने के लिए किस एप्लिकेशन का उपयोग करना है?


21

मैं xdg- ओपन कमांड से उसी एप्लिकेशन का उपयोग करने की उम्मीद करूंगा जो डिफॉल्ट फाइल मैनेजर में फाइल को डबल क्लिक करने पर खुलता है, लेकिन यह हमेशा सच नहीं होता है।

उदाहरण के लिए मेरा DE XFCE है, मेरा फ़ाइल प्रबंधक थुनार है और मेरा डिफ़ॉल्ट चित्र दर्शक रिस्ट्रेटो है। हालांकि, xdg-open example.pngपिंटा में पीएनजी फ़ाइल का उदाहरण खोलता है। क्यों?

जवाबों:


23

xdg-open एक डेस्कटॉप-स्वतंत्र उपकरण है जो किसी उपयोगकर्ता के डिफ़ॉल्ट अनुप्रयोगों को कॉन्फ़िगर करने के लिए है। कई एप्लिकेशन xdg-open कमांड को आंतरिक रूप से आमंत्रित करते हैं। डेस्कटॉप वातावरण (जैसे GNOME, KDE, या Xfce) के अंदर, xdg-open केवल उन डेस्कटॉप वातावरण के फाइल-ओपनर एप्लिकेशन (जैसे gvfs- ओपन, केडी-ओपन, या एक्सो-ओपन) के तर्कों को पास करता है। जिसका अर्थ है कि संघों को डेस्कटॉप वातावरण तक छोड़ दिया जाता है। जब कोई डेस्कटॉप वातावरण का पता नहीं लगाया जाता है (उदाहरण के लिए जब कोई स्टैंडअलोन विंडो मैनेजर को चलाता है, जैसे कि। ओपनबॉक्स), xdg-open अपनी कॉन्फ़िगरेशन फ़ाइलों का उपयोग करेगा।

से archwiki

अपने प्रश्न के लिए, आप png फ़ाइल से जुड़े डिफ़ॉल्ट एप्लिकेशन को सेट करने के लिए यह कोशिश कर सकते हैं:

xdg-mime default <ristretto.desktop> image/png

आपको यह पता लगाना होगा कि रिस्ट्रेटो का डेस्कटॉप फ़ाइल नाम वास्तव में क्या है। बाद में, आप इसे इसके साथ देख सकते हैं:

xdg-mime query default image/png

1
इसे औपचारिक रूप से उत्तर माना जा सकता है लेकिन यह वास्तव में मेरे द्वारा बताई गई घटना की व्याख्या नहीं करता है।
इवान

अद्यतन किया गया, कृपया फिर से जाँच करें
oxnz

धन्यवाद। और यह बहुत मज़ेदार है: xdg-mime query default image/pngरिटर्न wine-extension-png.desktop:-)
इवान

2

@ इवान ऐसा संभवत: इसलिए होता है, क्योंकि आपने डिफ़ॉल्ट एप्लिकेशन के लिए पूछते समय सही फिल्टाइप प्रदान नहीं किया था। महत्वपूर्ण यह है कि कैसे xdg उस विशिष्ट फ़ाइल-प्रकार को कॉल करता है। इसे आसानी से चलाकर पता लगाया जा सकता है

xdg-mime query filetype example.png

एक उदाहरण के रूप में, यदि मैं अपने कंप्यूटर पर एक विशिष्ट पीएनजी-फ़ाइल के साथ ऐसा करता हूं तो यह वापस आ जाता है image/x-apple-ios-png। एक बार आपके पास वास्तविक फ़ाइल प्रकार का पता चल जाए, तो आप चला सकते हैं

xdg-mime query default <new filetype>

और इस विशिष्ट फ़ाइल प्रकार के लिए xdg द्वारा उपयोग किए जाने वाले एप्लिकेशन प्राप्त करें। यदि फ़ाइल /etc/debian_versionउपलब्ध है, तो इस फ़ाइल-प्रकार, xdg- ओपन चेक के लिए कोई भी एप्लिकेशन परिभाषित नहीं है , यदि यह मामला है, तो यह लॉन्च होगा run-mailcap, जो xdg-open के समान है और फ़ाइल खोलने के लिए एक प्रोग्राम खोजने की कोशिश करता है ।

केवल अगर यह भी विफल रहता है, तो xdg-open उपयोगकर्ता को फ़ाइल खोलने के लिए एक प्रोग्राम को परिभाषित करने के लिए कहेगा।


क्या ऐसा नहीं है कि है oxnz पहले से ही लिखा था?
जेफ स्कालर

ऑक्सी केवल एक ज्ञात फ़ाइल प्रकार के लिए आवेदन को सेट करने और जांचने का उल्लेख करता है। उनके पास xdg-mime query filetype example.pngएक विशिष्ट फ़ाइल के फ़ाइल प्रकार की जांच करने के लिए संदर्भ की कमी है , क्योंकि यह मानते हुए कि एक .png फ़ाइल भी श्रेणी की छवि में आती है / png हमेशा सही नहीं होती है। इवान की टिप्पणियों को देखते हुए , मुझे लगता है कि उसका मुद्दा अभी तक हल नहीं हुआ था।
लाउव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.