কোনও পরিবেশ ছাড়াই কীভাবে সঠিকভাবে এবং সহজে 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.