ফাইল অ্যাসোসিয়েশনগুলি কোথায় সংরক্ষণ করা হয়?


67

উবুন্টু বা অন্য কোনও লিনাক্স সিস্টেম কীভাবে ফাইল অ্যাসোসিয়েশন সঞ্চয় করে?

কিছু /etc/asscociationsফাইল বা কিছু আছে?

আমি জানি যে আমি ফাইলটিতে ডান ক্লিক করতে এবং এটিকে "ওপেন উইথ" এর মাধ্যমে পরিবর্তন করতে পারি, তবে এটি অভ্যন্তরীণভাবে কীভাবে সংরক্ষণ করা হয়েছে তা জানতে আগ্রহী।

উত্তর:


67

ফাইল ম্যানেজার (নটিলাস, ডিফল্টরূপে) কোন প্রোগ্রামের সাথে এটি খুলতে হবে তা নির্ধারণ করতে একটি ফাইলের মাইম টাইম ব্যবহার করে । যখন কোনও অ্যাপ্লিকেশন ইনস্টল হয়, এটি কোন মাইমির প্রকারটি খুলতে পারে তা নির্দিষ্ট করতে পারে এবং ডেস্কটপ ফাইলটিতে থাকা ফাইলগুলি খোলার জন্য কমান্ডটি ব্যবহার করতে পারে /usr/share/applications। এটি মেনু, ডেস্কটপ শর্টকাট ইত্যাদির জন্য ব্যবহৃত ফাইল is

উদাহরণস্বরূপ, জিআইএমপিতে নিম্নলিখিত .ডেস্কটপ ফাইল রয়েছে:

[Desktop Entry]
Version=1.0
Type=Application
Name=GNU Image Manipulation Program
GenericName=Image Editor
Comment=Create images and edit photographs
Exec=gimp-2.7 %U
TryExec=gimp-2.7
Icon=gimp
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=GIMP
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.7.2
X-GNOME-Bugzilla-OtherBinaries=gimp-2.7
StartupNotify=true
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;application/pdf;image/x-wmf;image/jp2;image/jpeg2000;image/jpx;image/x-xcursor;

MimeTypeক্ষেত্রটি দেখুন - এটি সমর্থিত এমআইএমআইআই টাইপগুলি তালিকাভুক্ত করে system Execক্ষেত্রটি সিস্টেমটি কমান্ডটি ব্যবহার করতে বলে gimp-2.7 %U, '% U' এর পরিবর্তে ফাইলগুলি খোলার জন্য। (দ্রষ্টব্য জিআইএমপি ২. হ'ল আমি পিপিএ থেকে ইনস্টল করা একটি সংস্করণ, সুতরাং উবুন্টু সংগ্রহস্থলের বর্তমান সংস্করণের চেয়ে বেশি is

অ্যাপ্লিকেশন প্যাকেজটি ইনস্টল হয়ে গেলে, সিস্টেমটি এই মাইম টাইম ডেটাটিকে আরও সহজেই অ্যাক্সেসযোগ্য ডেটাবেসগুলিতে বের করে দেয় কারণ প্রতিটি .ডেস্কটপ ফাইলটিতে প্রতিবার একটি ফাইল খোলার সময় এটি করা খুব বেশি সময় নেয়।

এটি সেই মিমি টাইপের জন্য অ্যাপ্লিকেশনগুলি কী ব্যবহার করতে পারে তা সিস্টেমকে জানিয়ে দেয় এবং 'ওপেন উইথ' তালিকায় অ্যাপ্লিকেশন সরবরাহ করে। ডিফল্ট অন্য কোথাও সংজ্ঞায়িত করা হয়। ফাইলটি /usr/share/applications/defaults.listডিফল্ট সিস্টেমের জন্য তথ্য সরবরাহ করে। আপনি অন্যথায় বাছাই না করা, আপনি যখন কোনও ফাইল 'ওপেন' করেন তখন এগুলি ব্যবহৃত অ্যাপ্লিকেশন।


7
/usr/share/applications .desktopফাইলগুলিতে মাইম টাইমগুলি পরিবর্তন করার পরে , নতুন অ্যাসোসিয়েশনগুলি কার্য সম্পাদনের জন্য সেই মাইম ডাটাবেসটি পুনরায় তৈরি করার জন্য কোনও আদেশ রয়েছে?
রেডসান্দ্রো

12
হ্যাঁ. Jarrpa.net/2011/10/28/…sudo update-desktop-database দেখুন
NoBugs

স্থানীয় পরিবর্তনের জন্য আরও উপযুক্ত জায়গা /usr/local/share/applications। আমি মনে করি জিটিকে সেখানেও ডিফল্টরূপে দেখায়। এটি আমার সিস্টেমে রয়েছে তবে উবুন্টু .0.০৪ বা তার পরে এটি আপগ্রেড হয়েছে (পুনরায় ইনস্টল করা হয়নি)।
পিটার কর্ডেস 3'15

2
উবুন্টু freedesktop.org অনুসরণ বলে মনে হয় standards.freedesktop.org/mime-apps-spec/... , একটি ভয়ঙ্কর প্রকল্প।
সিরো সান্তিলি :4 改造 中心 法轮功 六四

23

ডিভি 3500ea এর দুর্দান্ত উত্তরের পরিপূরক হিসাবে, আপনি যখন আপনার সমিতিগুলি পরিবর্তন করেন তখন কী ঘটে যায় সে সম্পর্কে আমি কিছু তথ্য যুক্ত করতে চাই।

যখন ডিফল্ট.লিস্ট (যা আপনি 'ডিফল্ট ডিফল্টস লিস্ট' টাইপ করে খুঁজে পেতে পারেন) প্রতিটি এমআইএম টাইপের সাথে যুক্ত অ্যাপ্লিকেশনগুলির তালিকা সরবরাহ করে, আপনার তৈরি কোনও কাস্টমাইজেশন আপনার হোম ডিরেক্টরিতে are / .local / এ সংরক্ষণ করা হয় ভাগ / আবেদনগুলি / mimeapps.list। সুতরাং আপনি সংযুক্তিগুলি যুক্ত বা সরিয়ে ফেললে বা ডিফল্ট অ্যাসোসিয়েশন পরিবর্তন করলে এই ফাইলটি আপডেট হয়।

জিনোম ডেস্কটপ সিস্টেম অ্যাডমিনিস্ট্রেশন গাইড http://library.gnome.org/admin/system-admin-guide/stable/ এ মাইম্যাপস.লিস্টের বিষয়ে আলোচনা করতে দেখা যায় না, তবে আমি নিম্নলিখিত বিবরণটি http: //live.gnome এ পেয়েছি .org / সিসএডমিনগুইডআপডেট :

mimeapps.listটি $ XDG_DATA_DIRS / অ্যাপ্লিকেশনগুলিতে অবস্থিত। এর উদ্দেশ্য অ্যাপ্লিকেশনগুলি থেকে মাইম সংযোজনগুলি যুক্ত করা বা অপসারণ করা। নটিলাস "/ .local / শেয়ার / অ্যাপ্লিকেশন / mimeapps.list লিখে যখন ব্যবহারকারী" ওপেন উইথ "ডায়ালগ পরিবর্তন করে।


1
তবে উবুন্টু 12.04 ব্যবহার করে, আমি বুঝতে পারি যে mimeapps.listএটিতে প্রবেশের দ্বারা ওভাররাইড করা হয়েছে defaults.list
ফিয়েল

1
১৪.০৪-তে আমি আমার / ~/.local/share/applications/mimeapps.listএসএলসি / এমপ্লেয়ার / সক্ষম হয়েছি এবং পিসিএমএফএম এর মতো চলমান প্রক্রিয়াগুলি পুনরায় আরম্ভ না করেই পরিবর্তনগুলি বেছে নিয়েছে। । (mplayer.desktop শুধু রান হয় mplayer আমি এক, / usr / স্থানীয়, আমি ইনস্টল একটি পুরানো mplayer থেকে প্রায় মিথ্যা ছিল idk যদি থাকার ক। MimeType=list;অথবা প্রয়োজন ছিল না।
পিটার Cordes

আরও সুনির্দিষ্টভাবে, mimeapps.listনিম্নলিখিত অনুসন্ধানের যে কোনও জায়গায় হতে পারে: স্পেসিফিকেশন.ফ্রেডসকটোপ.অর্গ
মিমি-অ্যাপস- স্পেক /

18

আমি দেখতে পেলাম যে আমার সিস্টেমে (ডেবিয়ান জেসি) এমন ~/.config/mimeapps.listএকটি সংযোগ রয়েছে যা আমি ঘটনাক্রমে জেডিটের সাথে একটি নির্দিষ্ট ফাইল টাইপ খোলার জন্য তৈরি করেছি। এটি সংশোধন করার কোনও স্ট্যান্ডার্ড উপায় (ডিফল্ট অ্যাপ্লিকেশন সেটিংস, সম্পত্তি সহ থুনার উন্মুক্ত ) এর প্রতিফলন ঘটেনি, তবে জিডিটই ডিফল্ট অ্যাপ্লিকেশন।

আমি লাইনটি সরাতে সক্ষম হয়েছি ~/.config/mimeapps.listএবং এখন সঠিক অ্যাপ্লিকেশনটি ফাইলটি খুলবে।


2
ধন্যবাদ, আপনি দুর্ঘটনাক্রমে আমাকে গেডিতে সমস্ত কিছু খোলার ফায়ারফক্স ঠিক করতে সহায়তা করেছিলেন। ওপেনসুএস 13.2 এ আমি "অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম = org.gnome.gedit.desktop;" দিয়ে লাইনটি সরিয়েছি। :)
ব্যবহারকারীর 131389

3
উবুন্টু ১৫.০৪ থেকে ব্যবহারকারী-নির্দিষ্ট পরিবর্তনগুলিও এতে সঞ্চিত রয়েছে ~/.config/mimeapps.list
ডিজে ক্র্যাশডমি

2
আরও সুনির্দিষ্টভাবে, mimeapps.listনিম্নলিখিত অনুসন্ধানের যে কোনও জায়গায় হতে পারে: স্পেসিফিকেশন.ফ্রেডসকটোপ.অর্গ
মিমি-অ্যাপস-স্পেক /

8

আমি এই লিঙ্কটি ডিফল্ট সংস্থান সম্পর্কিত পেয়েছি, এটি সহায়ক হতে পারে। https://wiki.archlinux.org/index.php/Default_
গ্লোবাল অ্যাসোসিয়েশনের জন্য আবেদন:

/usr/share/applications/mimeapps.list

প্রতি ব্যবহারকারী সমিতি:

~/.local/share/applications/mimeapps.list

বাক্য গঠনটি নিম্নরূপ:

[Added Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN
...
[Removed Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN

[যুক্ত সংস্থাগুলি] বিভাগ হ্রাস অগ্রাধিকারে পছন্দসই (ডিফল্ট) অ্যাপ্লিকেশন নির্দিষ্ট করতে ব্যবহৃত হয়। যার অর্থ ডেস্কটপ ফাইল 1 সর্বাধিক পছন্দের এবং ডেস্কটপ ফাইল কমপক্ষে পছন্দ করা হয়।
[সরানো সমিতি] বিভাগটি পূর্ববর্তী উত্তরাধিকার সূত্রে প্রাপ্ত কোনও সমিতিকে সুস্পষ্টভাবে অপসারণ করতে ব্যবহৃত হয়।


1
এটি একটি আর্চলিনাক্স সাইট থেকে এসেছে , উবুন্টুতে অগত্যা প্রয়োগ /usr/share/applications/mimeapps.listহয় না, বিদ্যমান নেই।
23:43

এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ, তবে ব্যবহারকারী উবুন্টু বা অন্যান্য লিনাক্স সিস্টেমে বলেছেন, এর অর্থ এটি তার প্রশ্নেরও উত্তর: পি।
মুসুনাজী

5
এই উত্তরটি পুরোপুরি ঠিক আছে যদি আপনি প্রতিস্থাপন mimeapps.desktopসঙ্গেdefaults.desktop
szx

8

আমি এই জাতীয় সমিতি স্থাপন করতে সক্ষম হয়েছি:

xdg-mime default xnview.desktop image/jpeg

আপনি সমিতিগুলি অপসারণ করতে এবং অন্যান্য জিনিসগুলি করতে পারেন: man xdg-mime

আমাকে চালানোর দরকার ছিল না sudo update-desktop-database


7

একটি ফাইল তৈরি করুন truecrypt.desktopমধ্যে ~/.local/share/applicationsনিম্নলিখিত পংক্তিগুলি সঙ্গে

[Desktop Entry]
Encoding=UTF-8
Type=Application
Icon=
Exec=/usr/bin/truecrypt %U
Name=truecrypt
Comment=manage truecrypt volumes

তারপরে ফাইলটি সম্পাদনা ~/.local/share/applications/mimeapps.listকরুন এবং নিম্নলিখিত লাইনটি যুক্ত করুন:

application/octet-stream=truecrypt.desktop

আমি এই কমান্ডটি চালিয়ে মাইম টাইপের ট্রাইক্রিপট খুঁজে পেয়েছি:

file --mime-type -b <any truecrypt filename>

উত্তম উত্তর, কারণ এটি কেডিডি ব্যবহারকারীদের জন্য কাজ করে তবে ফায়ারফক্সের মতো বেশ কয়েকটি জিটিকে-নেটিভ প্রোগ্রাম রয়েছে।
nnot101

5

mimeapps.list অনুসন্ধানের পথ

অন্যরা এই ফাইলটি উল্লেখ করেছেন, তবে কেউই এর অবস্থানটি সঠিকভাবে ব্যাখ্যা করেনি।

ফ্রিডেস্কটপ.অর্গ স্ট্যান্ডার্ডটি https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.html এ বলেছে :

এই ফাইলটির জন্য অনুসন্ধানের আদেশটি নিম্নরূপ:

$XDG_CONFIG_HOME/$desktop-mimeapps.list user overrides, desktop-specific (for advanced users)
$XDG_CONFIG_HOME/mimeapps.list             user overrides (recommended location for user configuration GUIs)
$XDG_CONFIG_DIRS/$desktop-mimeapps.list sysadmin and ISV overrides, desktop-specific
$XDG_CONFIG_DIRS/mimeapps.list             sysadmin and ISV overrides
$XDG_DATA_HOME/applications/$desktop-mimeapps.list  for completeness, deprecated, desktop-specific
$XDG_DATA_HOME/applications/mimeapps.list             for compatibility, deprecated
$XDG_DATA_DIRS/applications/$desktop-mimeapps.list    distribution-provided defaults, desktop-specific
$XDG_DATA_DIRS/applications/mimeapps.list              distribution-provided defaults

এবং তারপরে সেই পরিবেশের ভেরিয়েবলের জন্য ডিফল্ট মানগুলি https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html এ দেওয়া হয়েছে :

  • $XDG_DATA_HOME: $HOME/.local/share
  • $XDG_CONFIG_HOME: $HOME/.config
  • $XDG_DATA_DIRS: কিছুই নেই, সংযুক্ত XDG_DATA_HOME
  • $XDG_CONFIG_DIRS: কিছুই নেই, সংযুক্ত XDG_CONFIG_HOME

উবুন্টুর পুরানো সংস্করণগুলি চেক নাও করতে পারে ~/.config, তাই আপনিও চেষ্টা করে দেখুন ~/.local/share

আদেশগুলি:

 xdg-settings set default-web-browser chromium-browser.desktop
 xdg-settings get default-web-browser

স্বয়ংক্রিয়ভাবে এই ফাইলগুলি সম্পাদনা করবে।


2

সকল ব্যবহারকারীর জন্য:

/usr/share/applications/defaults.list

এই ডিফল্টগুলি ওভাররাইড করার জন্য প্রতিটি ব্যবহারকারীর একটি কনফিগার ফাইল রয়েছে:

~ / .Config / mimeapps.list

ওভাররাইডিং ডিফল্টের জন্য ব্যবহৃত হতে পারে এমন জায়গাগুলির জন্য https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html এছাড়াও দেখুন ।

আপনি অবশ্যই ফাইলটির মাইম-টাইপটি জেনে নিতে পারেন যা আপনি এর সংযোগটি পরিবর্তন করতে চান।

সমস্ত অ্যাসোসিয়েশনগুলি হ্যান্ডেল-কমান্ড লাইনে ব্যবহার করে এটি ব্যবহার করে:

XDG-মূকাভিনয়


1

ফ্রিডেস্কটপ.অর্গ.অর্গ (পূর্বে এক্স ডেস্কটপ গ্রুপ নামে পরিচিত, সুতরাং "এক্সডিজি" সংক্ষেপণ) এই গ্রুপটি বর্তমানে এক্স স্ট্যান্ডার্ডগুলির মতো চালনা করে ( উইকিপিডিয়ায় আরও শিখুন )।

ওয়ারওয়ারিয়কের উত্তরে ইতিমধ্যে xdg -mime ব্যবহারের কথা উল্লেখ করা হয়েছে :

xdg-mime default xnview.desktop image/jpeg

 

চিত্র সম্পাদক এবং দর্শকদের সাথে প্রচুর খেলানোর পরে, আমি প্রায় কোনও ধারাবাহিকতা ছাড়াই বিভিন্ন চিত্রের ধরণের জন্য বিভিন্ন দর্শকের সাথে শেষ করেছি, বিশেষত বিরল চিত্রের ধরণের মধ্যে।

আমি উপরের কমান্ডটি নিয়েছি এবং এটি চিত্র দর্শকদের দ্বারা নিয়ন্ত্রিত মাইম টাইপের প্রত্যেককে নির্ধারণ করেছি এবং তারপরে image-viewer.desktopএকটির ক্লোনিং করে একটি নতুন তৈরি করেছি (এটি thisচ্ছিক, আপনি কেবল নিজের পছন্দসই পুনরায় ব্যবহার করতে পারেন)। এরপরে, আমি ম্যানুয়ালি যাচাই করেছি যে মাইম টাইপের কোনওটিই আমার নতুন পছন্দসই অ্যাপ্লিকেশনটির সাথে সামঞ্জস্য নয়। অবশেষে, আমি সেই অ্যাপ্লিকেশনটিকে অন্য সমস্ত অ্যাপ্লিকেশনগুলির MIME ধরণের জন্য ডিফল্ট হিসাবে সেট করেছি:

sed '/^MimeType=/!d; s///; s/;/\n/g' \
  /usr/share/applications/{ristretto,geeqie,gthumb}.desktop |sort -u \
  |xargs xdg-mime default image-viewer.desktop

এটি .desktopপ্রতিটি দর্শকের জন্য ফাইলগুলি পরীক্ষা করে ( রিস্ট্রেটো , গিকি এবং আমার ক্ষেত্রে জিটিম্ব ), মাইমির সংজ্ঞাটি বের করে (যা পূর্বে MimeType=থাকে এবং তারপরে সেমিকোলন-বিস্মৃত তালিকা থাকে), (পূর্ববর্তী ম্যাচযুক্ত) প্রিফেস লেবেলটি সরিয়ে দেয় এবং প্রতি লাইনে একটি এন্ট্রিতে তালিকাটি বিভক্ত করে। sort -uতারপরে অপ্রয়োজনীয় লাইনগুলি সরিয়ে দেয়, তারপরে সেগুলি xdg-mimeনতুন ডিফল্ট সেট করার জন্য হস্তান্তরিত হবে ।

(আপনি যদি এটি সরাসরি চালানোর আগে এটি পরীক্ষা করতে চান তবে এতে পরিবর্তন xargsকরুন xargs echoএবং এটি চালানোর পরিবর্তে ফলাফলটি কমান্ডটি মুদ্রণ করবে))

এই কৌশলটি কোনও টার্গেট অ্যাপের জন্য পুনরায় দাবি করতে চাইলে এমন কিছুর জন্য কাজ করা উচিত। এমনকি আপনার কোনও নতুন .desktopফাইল তৈরি করার দরকার নেই (আপনি বিদ্যমান ফাইলটি ব্যবহার করতে পারেন)। আমি সেই অতিরিক্ত পদক্ষেপটি করেছি যাতে আমি যখন অনিবার্যভাবে চিত্রের পূর্বরূপদর্শনকারীদের মধ্যে আমার আনুগত্য পরিবর্তন করি তখন আমার কেবল সেই ফাইলটি পরিবর্তন করা দরকার।


1

উবুন্টু 18.04-তে, আমি দৃgest় থেকে দুর্বলতম পর্যন্ত নিম্নরূপের ক্রমটি পেয়েছি:

  1. ~/.local/share/applications/defaults.list
  2. /usr/share/applications/defaults.list
  3. ~/.config/mimeapps.list ("অন্যান্য অ্যাপ্লিকেশন সহ ওপেন করুন" এটি আপডেট করবে)
  4. ~/.local/share/applications/mimeapps.list
  5. mimeinfo.cacheসামঞ্জস্যপূর্ণ অ্যাপ্লিকেশনগুলির রেজিস্ট্রিতে প্রথম সম্মুখীন ম্যাচ , যা .desktopউপস্থিত ফাইলগুলি থেকে উত্পন্ন /usr/share/applicationsএবং /usr/local/share/applicationsব্যবহার করে পুনরায় জেনারেট করা যেতে পারে update-desktop-database
  6. (ব্যবহার না) /etc/gnome/defaults.list
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.