কোনও পরিবেশ ছাড়াই কীভাবে সঠিকভাবে এবং সহজে config xdg-open` কনফিগার করা যায়?


63

আমি কোনও ডেস্কটপ পরিবেশ ছাড়াই ওপেনবক্স উইন্ডো ম্যানেজারটি ব্যবহার করছি ।

xdg-openঅদ্ভুত আচরণ করে এটি দিয়ে সবকিছু খোলে firefox।

$ xdg-settings --list
Known properties:
  default-web-browser           Default web browser

আমি একটি সাধারণ প্রোগ্রাম খুঁজছি; ফোল্ডারের প্রতিটি *.desktopফাইল পড়া /usr/share/applications/এবং স্বয়ংক্রিয়ভাবে xdg সেটিংস সেট করার মতো কিছু ।


ব্যবহার xdg-mime(অংশ xdg-utils) (অনুসন্ধান, কনফিগার করার) সঙ্গে কাজ করার জন্য সেরা উত্তর হয় xdg-open। এছাড়াও দেখুন unix.stackexchange.com/questions/8793/…
— মাইকেল

উত্তর:


24

আপনি ব্যবহার করতে পারেন Perl-ফাইল-mimeinfo মধ্যে extraসংগ্রহস্থল Mimetypes পরিচালনা করতে।

এতে সমস্ত .pdfফাইল খোলার উদাহরণ apvlv:

/usr/bin/vendor_perl/mimeopen -d $file.pdf

এবং তারপর, প্রম্পটে, অ্যাপ্লিকেশন লিখুন: apvlv।


এটা কাজ। তবে এটি কেবল ফাইল খুলবে। সুতরাং আমার xdg-openবাম অক্ষমযুক্ত এবং অ্যাপ্লিকেশনগুলি ব্যবহার করে xdg-openফাইলগুলি ডানদিক খুলবে না।
— ক্রাভেমির

আমি আপনার মন্তব্য বেশ অনুসরণ না। কি কাজ করছে না? -dসুইচ ডিফল্ট সেট করে। সুতরাং আপনি যদি এটি খোলার জন্য ব্যবহার করেন fileA.pdf- তবে আপনি fileB.pdfআপনার পছন্দসই অ্যাপ্লিকেশনটি খুলতে সক্ষম হবেন ।
— জেসনওয়ারিয়ান

1
হ্যাঁ. mimeopen -d a.pdfএর জন্য ডিফল্ট সেট করে *.pdfতবে এটি নিজের জন্য ডিফল্ট সেট করে - mimeopen b.pdfকাজ করে। তবে xdg-openকনফিগারেশনটি অপরিবর্তিত রয়েছে এবং এটি এখনও সমস্ত কিছু খুলবে firefox: /
— ক্রাভেমির

3
একবার আমি এর সাথে ডিফল্ট সেট করে নিলে mimeopen, xdg-openপ্রত্যাশার মতো আচরণ করি - এর ক্ষেত্রে .pdfএটি সেগুলি দিয়ে খোলে apvlv।
— জেসনওয়ারিয়ান

1
এটি লুবুন্টু 16.04-এ আমার জন্য কাজ করে না। sudo xdg-mime default pluma.desktop text/plainদেয় touch: cannot touch "/home/user/.local/share/applications/mimeapps.list": No such file or directory /usr/bin/xdg-mime: 807: /usr/bin/xdg-mime: cannot create /home/user/.local/share/applications/mimeapps.list.new: Directory nonexistent; /usr/bin/vendor_perl/mimeopen -d $file.txtদেয় bash: /usr/bin/vendor_perl/mimeopen: No such file or directory।
— নিকোলাই লেসচভ

62

এক্সডিজি থেকে ইউটিলিটিগুলি কেন ব্যবহার করবেন না?

থুনারকে ডিফল্ট ফাইল-ব্রাউজার তৈরি করতে, অর্থাৎ ফোল্ডার খোলার জন্য ডিফল্ট অ্যাপ্লিকেশন।

$ xdg-mime default Thunar.desktop inode/directory

এক্সপিডিএফকে ডিফল্ট পিডিএফ ভিউয়ার হিসাবে ব্যবহার করতে:

$ xdg-mime default xpdf.desktop application/pdf

এটি আপনার স্থানীয় মাইম ডাটাবেসে একটি এন্ট্রি তৈরি করা উচিত:

~/.local/share/applications/defaults.list
[Default Applications]
application/pdf=xpdf.desktop

আপনার পিডিএফ ফাইলগুলি এখনই এক্সপিডিএফ দিয়ে খোলা উচিত।


+1 এবং সম্পর্কিত প্রশ্নের আমার সম্পর্কিত উত্তরও দেখুন, ইউনিক্স.স্ট্যাকেক্সচেঞ্জ
— মাইকেল

2
সর্বাধিক দরকারী উত্তর, ধন্যবাদ। defaults.listএটি সম্পর্কে জানার পক্ষে সহজ, যদি প্রয়োজন হয় তবে এটি কেবল হাতে সম্পাদনা করা যায়।
— এমভিসিএইচআর

কোনও কারণে xdg-mimeসংশোধন হয়নি defaults.list, তবে ম্যানুয়ালি এডিট করা (এই উত্তরের ইঙ্গিতগুলির জন্য ধন্যবাদ) কৌশলটি করেছে।
— স্কিপি লে গ্র্যান্ড গৌরু

FYI এর জন্য কয়েকটি পার্ল নির্ভরতা প্রয়োজন, আপনি সেগুলি ইনস্টল করেছেন কিনা তা নিশ্চিত করুন। আরপিএম / ডিইবি বিতরণগুলি আপনার জন্য সাধারণত এটি ইনস্টল করবে।
— lzap

2
মনে defaults.listহয় এখন বলা হয় mimeapps.list। এর জন্য বৈধ অবস্থানের তালিকার জন্য আর্ক উইকি দেখুন mimeapps.list।
— মতিন উলহাক

7

ডেবিয়ানে আপনি কমান্ডটি মূল হিসাবে ব্যবহার করতে পারেন

update-mime-database /usr/share/mime

থাকার shared-mime-infoপ্যাকেজ ইনস্টল করা নেই।


2
আমি চেষ্টা করেছি। এটি কাজ করে না। আমি আর্চ চালাচ্ছি।
— ক্রাভেমির

-1 এটি ডেস্কটপ পরিবেশের সাথে নির্দিষ্ট যা ভাগ করা মাইম-তথ্যের উপর নির্ভর করে, যেমন জিনোম
— ক্রাইমিকেল

7

xdg-mimeআপনার প্রতিটি .desktopফাইল এবং এতে থাকা মাইম টাইপগুলির জন্য উপযুক্ত কমান্ড তৈরি করতে আপনি এর মতো কিছু ব্যবহার করতে পারেন , তারপরে আপনার পছন্দসইগুলি কার্যকর করুন exec নোটে /usr/share/applicationsসাব-ডিরেক্টরি থাকতে পারে।

for dd in /usr/share/applications ~/.local/share/applications; do
  for d in $(ls $dd 2>/dev/null | grep "\\.desktop$"); do
    for m in $(grep MimeType $dd/$d | cut -d= -f2 | tr ";" " "); do
      echo xdg-mime default $d $m;
    done;
  done;
done

3

এটি @ আলেবের উত্তরের মতো , তবে এটি স্পেস সহ ডেস্কটপ ফাইলগুলিতে কাজ করে:

find /usr/share/applications ~/.local/share/applications -iname '*.desktop' -print0 | while IFS= read -r -d $'\0' d; do
  for m in $(grep MimeType "$d" | cut -d= -f2 | tr ";" " "); do
    echo xdg-mime default "'$d'" "'$m'"
  done
done
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.