কোন অ্যাপ্লিকেশনটির জন্য ব্যবহারকারীর সেটিংস কোথায় সঞ্চয় করবেন?


12

আমি যদি আমার অ্যাপ্লিকেশনটি কয়েকটি সেটিংস সঞ্চয় করতে চাই, যখন কোনও অ্যাপ্লিকেশন বন্ধ হয়ে যায়, তখন আমি সেগুলি কোথায় সঞ্চয় করব?

আমি জটিল কিছু বলছি না: দুটি বুলিয়ান এবং একটি স্ট্রিং (যদিও ভবিষ্যতে আমি আরও জটিল সেটিংস সঞ্চয় করতে চাই)

আমি gconf, dconf, gsettings, ইত্যাদি সব উল্লেখ করেছি শুনেছি। "পছন্দের" পদ্ধতিটি কী? পাইথনে এটি বেশিরভাগই সুন্দর এবং সহজ।


সম্পর্কিত: Askubuntu.com/questions/42438/…
Tachyons

উত্তর:


9

gconfহ্রাস করা হয়েছে, সুতরাং কোনও নতুন প্রকল্পের জন্য আমি এটি ব্যবহার করব না। dconfসেটিংস সংরক্ষণ করার জন্য এটি একটি ব্যাকএন্ড, অ্যাপ্লিকেশন বিকাশকারী হিসাবে আপনাকে সাধারণত এটি নিয়ে মাথা ঘামানো উচিত নয়।

আপনার যা প্রয়োজন বলে মনে হচ্ছে তা হল gsettings, একটি উচ্চ স্তরের এপিআই ( সি এর জন্য এপিআই ডকুমেন্টেশন ) সেগুলিকে কীভাবে / কোথায় সংরক্ষণ করা হয় তা বিরক্ত না করে সেটিংস সংরক্ষণ / পুনরুদ্ধার করতে। gsettingsএর অংশ gio, যা জিনোমের অন্যতম মূল প্যাকেজ (লাইক glibএবং gobject)। এই ব্লগ পোস্টটি পাইথনের সাথে কীভাবে এটি ব্যবহার করতে হয় তার একটি সংক্ষিপ্ত পরিচিতি দেয়।

যদি আপনি কোনও নির্ভরতা না চান gio(উদাহরণস্বরূপ আপনি কোনও জিনোম অ্যাপ্লিকেশন বিকাশ করছেন না) এবং সাধারণ কনফিগারেশন ফাইলগুলি সংরক্ষণ করতে চান তবে আমি ফ্রিডেস্কটপ বিশেষের সাথে সামঞ্জস্য রেখে $HOME/.configডিরেক্টরিটি (বা যে কোনও ডিরেক্টরি দ্বারা সংজ্ঞায়িত $XDG_CONFIG_DIRS) এর পরিবর্তে ব্যবহার করার পরামর্শ দিই ।$HOME/.your_appname


মনে হচ্ছে ব্লগ পোস্টে আপনার লিঙ্কটি মারা গেছে। আপনার আর কোন সুযোগ আছে?
শেঠ

@ তবে দুর্ভাগ্যক্রমে আমি যে ব্লগ পোস্টটি সংযুক্ত করেছিলাম তা আর পাওয়া যাবে বলে মনে হয় না। আমি লিঙ্কটি অন্য একটি ব্লগ পোস্টের লিঙ্কের সাথে প্রতিস্থাপন করেছি যা একটি ভাল সূচনা পয়েন্ট হওয়া উচিত।
মার্সেল স্টিমবার্গ

10

অ্যাপ্লিকেশনটি সিস্টেম জুড়ে চলে

সেটিংস সঞ্চয় করার উপযুক্ত জায়গাটি হ'ল:

/etc/[application]/

যেখানে একটি উপ-ডিরেক্টরি optionচ্ছিক।


অ্যাপ্লিকেশনটি প্রতি ব্যবহারকারী মোডে চলে

সেটিংস ব্যবহারকারীর বাড়িতে সংরক্ষণ করা উচিত, সাধারণত কোনও গোপন ডিরেক্টরিতে:

/home/<user>/<.application>/

আরও দেখুন ডেবিয়ান FHS


এক্স-ডেস্কটপে চলমান অ্যাপ্লিকেশনগুলি

এক্স-ডেস্কটপের জন্য অ্যাপ্লিকেশনগুলিতে (যেমন, জিনোম, কে, কে, ইউনিটি, এক্সফেস) XDG বেস ডিরেক্টরি স্পেসিফিকেশন উল্লেখ করা উচিত যেখানে নিম্নলিখিত ফাইলের অবস্থানগুলি স্থানীয় ভেরিয়েবলগুলিতে সংজ্ঞায়িত করা হয়েছে:

  • $XDG_DATA_HOMEবেস ডিরেক্টরিটি নির্দিষ্ট করে যা ব্যবহারকারীর নির্দিষ্ট ডেটা ফাইলগুলি সংরক্ষণ করা উচিত। যদি $ এক্সডিজি_ডাটা_হোম হয় হয় না সেট করা হয় না খালি, a HOME / .local / share এর সমান একটি ডিফল্ট ব্যবহার করা উচিত।

  • $XDG_CONFIG_HOMEভিত্তিক ডিরেক্টরিটি নির্দিষ্ট করে যা ব্যবহারকারীর নির্দিষ্ট কনফিগারেশন ফাইলগুলি সংরক্ষণ করা উচিত। যদি $ XDG_CONFIG_Home সেট না হয় বা খালি থাকে, a HOME / .config এর সমান একটি ডিফল্ট ব্যবহার করা উচিত।

  • $XDG_DATA_DIRSfiles এক্সডিজি_ডাটা_হোম বেস ডিরেক্টরি ছাড়াও ডেটা ফাইলগুলি সন্ধান করতে বেস ডিরেক্টরিগুলির অগ্রাধিকার-আদেশ সেটটিকে সংজ্ঞায়িত করে। $ XDG_DATA_DIRS এর ডিরেক্টরিগুলি একটি কোলন ':' দিয়ে পৃথক করা উচিত।

  • If $XDG_DATA_DIRS হয় সেট না খালি, মান / ইউএসআর / লোকাল / শেয়ার /: / ইউএসআর / শেয়ার / এর সমান মান ব্যবহার করা উচিত।

  • $XDG_CONFIG_DIRSconfiguration XDG_CONFIG_HOME বেস ডিরেক্টরি ছাড়াও কনফিগারেশন ফাইলগুলি সন্ধান করতে বেস ডিরেক্টরিগুলির অগ্রাধিকার অর্ডার সেটটি সংজ্ঞায়িত করে। $ XDG_CONFIG_DIRS এর ডিরেক্টরিগুলি একটি কোলন ':' দিয়ে পৃথক করা উচিত। যদি D XDG_CONFIG_DIRS হয় না সেট করা হয় বা খালি হয়, / etc / xdg এর সমান মান ব্যবহার করা উচিত।


না, এগুলিকে
বেনামে

@ নামবিহীন: এটির জন্য একটি রেফারেন্স পাওয়া ভাল cool বর্তমান দেবিয়ান নীতিটির জন্য এফএইচএস ২.৩ প্রয়োজন ব্যতীত যে অ্যাপ্লিকেশনগুলি ব্যবহারকারীর হোমে কোনও ডট ফাইল (বা ডিরেক্টরি) এ ব্যবহারকারীর সেটিংস সংরক্ষণ করার পরামর্শ দেয়।
তক্কাত

1

দ্রুত , যা উবুন্টুর জন্য অ্যাপ্লিকেশন বিকাশের জন্য নতুন সহায়কগুলির মধ্যে অন্যতম , ডেস্কটপচ্যাচ দিয়ে সমস্ত পছন্দ সংরক্ষণ করতে ডিফল্ট । সুবিধাটি হ'ল উবুন্টু ওয়ান সরঞ্জামের মাধ্যমে সেগুলি সেটিংস অন্যান্য ইনস্টলেশনগুলির সাথে সিঙ্ক্রোনাইজ করা যায়।

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