কিছু অ্যাপ্লিকেশন কেন তাদের কনফিগার ডেটার জন্য ~ / .config / appname ব্যবহার করে অন্যরা? / .Appname ব্যবহার করেন?


37

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

আপডেট: দেখে মনে হচ্ছে আমার (XUbuntu 11.10 ডিফল্ট) $ XDG_CONFIG_Home সেট আছে ~/এবং আমার সিস্টেমে বেশিরভাগ অ্যাপ্লিকেশন (যেমন মোজিলা ফায়ারফক্স, অ্যাডোব ফ্ল্যাশ প্লেয়ার, মিডনাইট কমান্ডার, অপেরা, ওয়াইন ইত্যাদি) এটি মেনে চলে। তবে এর পরিবর্তে এখনও প্রচুর অ্যাপ্লিকেশন রয়েছে (যেমন কমপিজ, ডেডবিফ, ভিএলসি, কিউটি ক্রিয়েটর, গুগল ক্রোম, এক্সএফসিই, ইত্যাদি) ~/.config/। আরেকটি সন্দেহজনক বিষয় হ'ল ডিরেক্টরিতে ডিরেক্টরিগুলি ~/.config/নিজেরাই গোপন থাকে না (তাদের নামে কোনও বিন্দু নেই) - অ্যাপ্লিকেশন কনফিগারেশনগুলি কী ডিভাইসের অবস্থান ($ XDG_CONFIG_Home মান) এর উপর নির্ভর করে ধ্রুবক নিজস্ব নাম রাখবেন বলে আশা করা যায় না?

উত্তর:


44

জেসনওয়ারিয়ানর দুর্দান্ত উত্তরের পরিপূরক, আপনার কয়েকটি সমস্যার সমাধান:

  • তোমার $XDG_CONFIG_HOMEহয় না এ সেট ~/। এটি কেবল সেট করা হয়নি। সুতরাং XDG স্পেসিফিকেশন অনুসরণকারী অ্যাপ্লিকেশনগুলি ডিফল্ট ব্যবহার করে~/.config

  • ভিতরে ডায়ারগুলি /.configলুকানো নেই কারণ তাদের দরকার নেই। একটি ~/.configডির ব্যবহারের সম্পূর্ণ পয়েন্টটি হ'ল ব্যবহারকারীর অস্থিরতা$HOME । যেহেতু তারা ইতিমধ্যে একটি পৃথক, লুকানো দিরের মধ্যে রয়েছে, তাই সেখানে ভিতরে লুকিয়ে থাকার দরকার নেই।

  • যে সফ্টওয়্যারটি অনুমানগুলি অনুসরণ করে না (দুর্ভাগ্যক্রমে এখনও বিরাট সংখ্যাগরিষ্ঠ) তাদের সেটিংসের জন্য একটি লুকানো দির ব্যবহার করে (যেমন ~/.myapp) ব্যবহারকারীর বিশৃঙ্খলা না করার চেষ্টা হিসাবে $HOME। এটি (কিন্ডা) কাজ করে, তবে এটি এখনও একটি খারাপ দৃষ্টিভঙ্গি যখন উদাহরণস্বরূপ, আপনি আপনার সেটিংস এবং আপনার "বিগ ডেটা" (যেমন চিত্র, ভিডিও, সংগীত) আলাদাভাবে ব্যাকআপ করার চেষ্টা করেন। ব্যবহারকারীর ডেটার সাথে মিশ্রিত না করে একক স্থানে সমস্ত সেটিংস স্থাপন করা একটি আরও ভাল পদ্ধতির

  • হিসাবে "কোথায় নির্বিশেষে ধ্রুবক নাম থাকার XDG_CONFIG_HOMEপয়েন্ট" , তারা ইতিমধ্যে একটি করুন: এটা appname ছাড়া নেতৃস্থানীয় ডট। মনে রাখবেন: এক্সডিজি স্পেককে অগ্রাহ্যকারীরা$HOME/.appname এগুলি ব্যবহার করে । তারা একটি হার্ডকোডযুক্ত পথ ব্যবহার করে।

  • আপনার অ্যাপ্লিকেশন হিসাবে, দয়া করে এক্সডিজি স্ট্যান্ডার্ড ব্যবহার করুন ! আমি আপনাকে অনুরোধ করছি, এবং আপনার ব্যবহারকারীরা আপনাকে আর তাদের $ HUMM বিড়ম্বনা না করার জন্য ধন্যবাদ বলবেন।


4
কেবল আপনার উত্তরটি সবচেয়ে দুর্দান্ত বলে বলতে চাই ! প্রচলিত জ্ঞান বিশেষভাবে দরকারী এবং আপনার পয়েন্টগুলি খুব ভালভাবে ব্যাখ্যা করা হয়েছে :) ধন্যবাদ!
স্টিভ বেনার

হোম ডিরেক্টরিতে লুকানো ফাইলগুলির একটি তালিকা এবং একটি লুকানো কনফিগারেশন ডিরেক্টরিতে লুকানো ফাইলের তালিকার মধ্যে পার্থক্য কোথায়? আমার জন্য এটি দীর্ঘ হিসাবে তত বিস্তৃত।
সিলিং

@ সিভিং: আমি 2 টি প্রধান পার্থক্য দেখছি, একটি প্রসাধনী এবং একটি ব্যবহারিক: আপনার $HOMEদৃষ্টিকোণ থেকে এটি ~/.configবেশ কয়েকটি, সম্ভবত কয়েক ডজনের পরিবর্তে এটি একটি একক প্রবেশ entry এবং এটি আপনার সেটিংসের ব্যাকআপগুলি (বা সেগুলি বাদ দিয়ে) অনেক সহজ করে তোলে! আপনার ~/Documentsবা আপনার থেকে কীভাবে আপনি সফ্টওয়্যার সেটিংস আলাদা করে বলতে পারেন ~/.cache?
MestreLion

24

কারণ যে অ্যাপ্লিকেশনগুলিতে কনফিগারেশন ফাইল রয়েছে $HOMEসেগুলি XDG বেস ডিরেক্টরি স্পেসিফিকেশনটিকে অগ্রাহ্য করছে , উল্লেখযোগ্য:

ব্যবহারকারী-নির্দিষ্ট কনফিগারেশন ফাইলগুলির লিখিত হওয়া উচিত সম্পর্কিত একটি একক বেস ডিরেক্টরি রয়েছে। এই ডিরেক্টরিটি এনভায়রনমেন্ট ভেরিয়েবল $ XDG_CONFIG_Home দ্বারা সংজ্ঞায়িত করা হয়েছে ...

যদি $ XDG_CONFIG_Home হয় হয় না খালি, default Home / .config এর সমত একটি ডিফল্ট ব্যবহার করা উচিত।

দেখে মনে হচ্ছে আমার (XUbuntu 11.10 ডিফল্ট) $XDG_CONFIG_HOMEসেট করা আছে ~/, তবে এখনও অনেকগুলি অ্যাপ্লিকেশন রয়েছে~/.config/
ইভান

3
এই উত্তর সম্পূর্ণ থেকে দূরে। যথা, এটি বোঝা যাচ্ছে যে স্পেসিফিকেশনটি প্রথম দিন থেকেই রয়েছে এবং এটি কেবলমাত্র অ্যাপ্লিকেশনগুলি যা প্রথম থেকেই এড়িয়ে চলেছে। তবে আসলে বেশ কয়েকটি অ্যাপ রয়েছে যা এর স্পেসিফিকেশন সহ এক্সডিজি থেকে অনেক বেশি সময় ধরে ছিল।
রুসলান

একটি সংস্করণ 0.7 কবিতা মান। এটা অবশ্যই গুরুত্বপূর্ণ। মানক যে সমস্যার সমাধান করে তা কি কেউ ব্যাখ্যা করতে পারেন?
সিলিং

@ রুসলান: ২০০৩ সাল থেকে এটি রয়েছে That's এটি ১৫ বছর আগে! সত্য, এটি প্রথম দিন নয় এবং এর আগে অনেকগুলি সফ্টওয়্যার তৈরি হয়েছিল। তবে এই জাতীয় কোনও সফ্টওয়্যার সম্ভবত সম্ভবত এখনও ব্যবহারের জন্য অনেকগুলি আপডেট ছিল, তাই এক্সডিজি স্ট্যান্ডার্ডে ইচ্ছাকৃতভাবে স্থানান্তরিত হয়নি এমনগুলি বলা নিরাপদ it
MestreLion

@ সিভিং: এটি ব্যবহারকারীর ডায়ারগুলি একইভাবে সংগঠিত করার সমস্যা সমাধান করে /: কনফিগারেশনের সাথে এক্সিকিউটেবলের সাথে ডেটা মেশানো না। ~/.configব্যবহারকারীর প্রতিপক্ষ এটি /etcএবং উদাহরণস্বরূপ এটি ব্যাকআপগুলিতে দুর্দান্তভাবে সহায়তা করে। ছাড়া /.config, কোনো সেটিংস ব্যাকআপ আছে হবে ম্যানুয়ালি সব অ্যাপ্লিকেশান dirs অন্তর্ভুক্ত অথবা নিজে বাদ সমস্ত ব্যবহারকারী "বিগ ডাটা" dirs (ভিডিও, সঙ্গীত, এবং অন্য কোন ব্যক্তিগত dirs তিনি তৈরি করেছেন পারে)।
MestreLion

7

আরও বিতর্কিত উত্তর হ'ল:

  • ~/.configএক্সডিজি স্ট্যান্ডার্ডের জন্য এটি ডিফল্ট, যা কেবলমাত্র ফ্রিডেস্কটপ.অর্গ.আর মান ( $XDG_CONFIG_HOMEভেরিয়েবল ব্যবহারের মাধ্যমে ) মেনে চলার অ্যাপ্লিকেশনগুলিতে প্রয়োগ হয় ।
  • ~/.appname ফ্রিডেস্কটপ স্ট্যান্ডার্ডের আগে উপস্থিত ছিল
  • সকলেই ফ্রিডেস্কটপ স্ট্যান্ডার্ড পছন্দ করে না
  • $HOMEআমার মতে "গোলমাল" কোনও সমস্যা নয়।

2
এটি কোনও বিতর্কিত উত্তর নয়, এটি একটি বিভ্রান্তিমূলক এবং সাধারণ ভুল: - বর্তমানে ~/.configফ্রিডেস্কটপ.অর্গ.এর সাথে লিব্রে অফিস, ক্রোমিয়াম, ডেলুজের মতো কোনও অ্যাপ্লিকেশন সম্পর্কিত কোনও অ্যাপ্লিকেশন নেই, এমন অনেক অ্যাপ্লিকেশন থেকে আমার কাছে ১২০ টি ডিরেক্টরি রয়েছে including কেবলমাত্র ইউনিটি 3 ডি ব্যবহার করে সমস্ত গেমস, গুগল অ্যাপস (ক্রোম, আর্থ), পাইথন স্টাফ (আইপিথন, এরিক), এমুলেটর (মুপেন 64৪, দেশমুন)। ফ্রিডেস্কটপ.আর.গুজে নিজেই খুব কম অ্যাপ্লিকেশন রয়েছে। - ~/.appnameএটি একটি কনভেনশন যা এক্সডিজির আগে বিদ্যমান ছিল, তবে এখনও বেশিরভাগ সফটওয়্যারই স্ট্যান্ডার্ডের পরে তৈরি করা হয়েছিল ।
MestreLion

5
- সফ্টওয়্যার বিকাশকারীর দৃষ্টিকোণ থেকে, ডিরেক্টরি স্ট্যান্ডার্ডে পছন্দ বা অপছন্দ করার কিছুই নেই, এটি কেবল আপনার সেভ ডিয়ার ধ্রুবক থেকে পরিবর্তিত $HOME/.myappকরে${XDG_CONFIG_HOME:-$HOME/.config}/myapp
MestreLion

এটি এখনও একটি ফ্রিডেস্কটপ স্ট্যান্ডার্ড, এখানে সংজ্ঞায়িত: স্পেসিফিকেশন.ফ্রেডসকটোপ.অর্গ / বিসিডির- স্পেক /… এবং কোন অ্যাপ্লিকেশনগুলি সেগুলি ব্যবহার করতে ইচ্ছুক না সেগুলি ব্যবহারের জন্য নির্দ্বিধায়। প্রত্যেকে আলাদা করে। কনফিগকে বিবেচনা করে না।
ডেভিড গার্ডনার

সত্য, তবে বোঝা যাচ্ছে যে মানক অনুসরণ করে এমন অ্যাপ্লিকেশনগুলি কোনওভাবে "ফ্রিডেস্কটপ.অর্গ অ্যাপ্লিকেশন" খুব বিভ্রান্তিকর।
MestreLion

2
সেখানে কোনো সুবিধা হয় ~/.appবেশি ~/.config/app?
সাম বুসালিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.