xdg-default डिफ़ॉल्ट अनुप्रयोग व्यवहार


13

जब मेरे पास नहीं है defaults.listऔर mimeapps.list, के साथ xdg-openखुलता text/plainहै gvim। लेकिन जब मैं बनाने defaults.listमें /usr/share/applications/और निम्न पंक्तियां जोड़ें:

[Default Applications]
text/plain=emacs.desktop

यह फ़ायरफ़ॉक्स के साथ पाठ फ़ाइलों को खोलता है।

हालाँकि, अगर मैं इस ओर /usr/share/applications/defaults.listजाता हूं, तो ~/.local/share/applications/mimeapps.listयह emacsअपेक्षित रूप से पाठ फ़ाइलों को खोलता है।

मेरे सवाल:

  1. xdg-openकोई defaults.listऔर नहीं होने पर लॉन्च करने के लिए कौन सा एप्लिकेशन कैसे निर्धारित करता है mimeapps.list?
  2. xdg-openजब मैं बस लिखता हूँ तो फ़ायरफ़ॉक्स का उपयोग क्यों किया जाता है /usr/share/applications/defaults.list?

मैं आर्क लाइनक्स का उपयोग कर रहा हूं।


1
मैं ओपनबॉक्स का उपयोग करता हूं। इसके अलावा, मैंने एक /usr/share/applications/mimecache.infoफाइल पर ध्यान दिया, जो डिफ़ॉल्ट एप्लिकेशन को सूचीबद्ध करने के लिए लगता है। यह और भी भ्रमित कर रहा है ...
ढाल

1
मुझे यह विन्यास फाइल मिली~/.config/mimeapps.list
सैम मेसन

जवाबों:


23

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

उदाहरण के लिए, दी गई फ़ाइल का "फ़ाइलप्रकार" (माइम-प्रकार, यदि आप होगा) देखना:

$ xdg-mime query filetype tmp.txt
text/plain

$ xdg-mime query filetype foo.pdf 
application/pdf

$ xdg-mime query filetype $PWD
inode/directory

उद्घाटन निर्देशिकाओं के लिए डिफ़ॉल्ट फ़ाइल प्रबंधक को बदलने का उदाहरण (caja.desktop (टकसाल के लिए डिफ़ॉल्ट), nautilus.desktop (ubuntu), आदि चुन सकता है:

$ xdg-mime default Thunar.desktop inode/directory

और यह भी locate -i foo.desktopसत्यापित करें कि foo.desktopवास्तव में मौजूद है।

इस बिंदु पर अधिक, यह देखने के लिए कि डिफ़ॉल्ट पाठ संपादक क्या है,

$ xdg-mime  query default text/plain 
gedit.desktop

एक अलग डिफ़ॉल्ट पाठ संपादक का उपयोग करने के लिए (फिर से, ".desktop" फ़ाइल मौजूद है) की पुष्टि करते हुए:

$ locate -i vim.desktop
/usr/share/applications/gvim.desktop

$ xdg-mime default gvim.desktop text/plain

अब, या तो "foo.txt" (आपके GUI फ़ाइल प्रबंधक में) पर डबल-क्लिक करें या चलाने के बजाय xdg-open foo.txtउपयोग करेंगे ।gvimgedit

समस्या निवारण: सुनिश्चित करें कि किसी दिए गए आवेदन के लिए ".desktop" फ़ाइल मिल सकती है, क्योंकि इसका उपयोग xdg-mimeउपयोगिता के साथ किया जाना है ; जैसे,

$ xdg-mime default emacs text/plain 
xdg-mime: malformed argument 'emacs', expected *.desktop

इसके अलावा, यदि ".desktop" फ़ाइल मौजूद नहीं है, तो यह चुपचाप काम करने में विफल रहता है:

$ locate -i emacs.desktop
(none)

$ xdg-mime default emacs.desktop text/plain  # won't work

वास्तविक emacs ".desktop" फ़ाइल (मेरे env में):

$ locate -r 'emacs.*\.desktop'
/usr/share/applications/emacs24.desktop

$ xdg-mime default emacs24.desktop text/plain  # does work

इसे भी देखें: https://wiki.archlinux.org/index.php/xdg-open


3
वर्षों बाद, लेकिन धन्यवाद! कुछ डेवलपर ने शराब में बहुत बुरा मजाक उड़ाया है, उसने सोचा होगा "अगर आप वास्तव में उस विंडोज दर्द में से कुछ को वापस चाहते हैं, तो आपको यह सब कभी नहीं करना चाहिए! और उसके बाद से सभी X11 प्रोग्राम टेक्स्ट-फाइल्स खोलते समय एक नोटपैड क्लोन शुरू करते हैं। किसी अनुप्रयोग से फ़ाइलें खोलना मेरे लिए दुर्लभ है, लेकिन नोटपैड वास्तव में दर्द होता है। आपकी मदद से मैं एक gvim वापस मिल गया।
flaschenpost
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.