আমি সবেমাত্র আমার আর্চ-লিনাক্স সিস্টেমে সিস্টেমে ইনস্টল এবং সেটআপ প্রক্রিয়াটি শেষ করেছি (২০১২.০৯.০7) আমি আনইনস্টল initscriptsকরেছি (এবং কনফিগারেশন ফাইলগুলি সরিয়ে নিয়েছি )।
আমি যা করতে চাই তা হ'ল একটি পরিষেবা তৈরি করা যা কোনও অ-রুট ব্যবহারকারী দ্বারা শুরু করা এবং বন্ধ করা যায়। পরিষেবাটি বিচ্ছিন্ন স্ক্রিন সেশনটি চালানো শুরু করে। তবে আমি চাই সিস্টেমের প্রতিটি ব্যবহারকারী যারা এই পরিষেবাটি চালু করেছেন (সক্ষম) করেছেন তাদের জন্য একটি বিশেষ উদাহরণটি বিশেষভাবে শুরু করা হোক। কেউ কীভাবে এই কাজটি করবে?
আমার মনে আছে যে সিস্টেমড ব্যবহারকারীর পরিষেবাগুলির উদাহরণগুলি সমর্থন করে, তবে আমি কীভাবে এটি সেট আপ করতে পারি বা এটি আমি কী সন্ধান করছি তার সাথে সম্পর্কিত কিনা সে সম্পর্কে কোনও তথ্য খুঁজে পেতে সক্ষম হয়েছি।
আমি সিস্টেমের জন্য যে পরিষেবা ফাইলটি ব্যবহার করেছি:
[Unit]
Description=rTorrent
[Service]
Type=forking
ExecStart=/usr/bin/screen -d -m -S rtorrent /usr/bin/rtorrent
ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent
আপডেট # 1 :
ম্যান পেজগুলি এখানে এবং এখানে পড়ার পরে , আমি বুঝতে পারি যে সিস্টেমড কীভাবে আরও ভালভাবে কাজ করে। বিশেষত: User=এবং WorkingDirectory=বিকল্পগুলি ব্যবহার করে কোনও ব্যবহারকারীর সেশনে পরিষেবাটি শুরু করার অনুমতি দেয়। তবে বিষয়টি এখনো যে ব্যবহারকারী নিজেদের পারব না থাকে start, stop, enable, অথবা disableসেবা। একটি অ্যাক্সেস অস্বীকার ত্রুটি দ্বারা দেওয়া হয় systemctl।
আপডেট # 2 :
প্রথমে, সরলকরণের জন্য এবং সিস্টেমডের ব্যবহারকারীর সেশনের আরও ভাল ব্যবহারের জন্য (এখনও কিছুটা অসম্পূর্ণ) বৈশিষ্ট্যটি আমি সোফারের ব্যবহারকারী-সেশন-ইউনিটগুলি ব্যবহার করেছি এবং তার কনফিগার পরামর্শটি অনুসরণ করেছি।
মনে হচ্ছে ডিবিসের বর্তমান সংস্করণে একটি বাগ রয়েছে (১..4.৪-১) এতে পরিবেশের পরিবর্তনশীল DBUS_SESSION_BUS_ADDRESSঅর্থ সেট করা হয়নি যার systemctl --userসাথে কমান্ড ত্রুটিগুলি ব্যবহার করে :
Failed to get D-Bus connection: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
ভেরিয়েবলটি দেখতে এইরকম হওয়া উচিত:
DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/USERUID/dbus/user_bus_socket"
যেখানে USERID প্রদত্ত ব্যবহারকারীর ইউআইডি হওয়া দরকার।
sudoব্যবহারকারীদের জন্য সহজ সেটআপ করতে পারলাম এবং তাদের উপরে, আমার মন্তব্যে উল্লিখিত হিসাবে, তাদের নিজস্ব পরিষেবা ফাইলটি নিয়ন্ত্রণ করতে পারি। তবে এই সমাধানটি ব্যবহারকারীকে অন্যান্য বেশিরভাগ
sudoনথির ডকুমেন্টেশনগুলি পড়ে থাকেন - কমান্ডের যুক্তিগুলি সীমাবদ্ধ করার বিষয়ে sudoers (5) এর অনেক উদাহরণ রয়েছে।