XDG_RUNTIME_DIR
systemctl --user
काम करने के लिए आवश्यक है ।
मैंने सिस्टमड उपयोगकर्ता सत्र चलाने के लिए ubuntu सर्वर 16.04 स्थापित किया है। अब, जब उन्हें प्रशासित करने की कोशिश की जा रही है, तो मुझे पता चलता है कि जब उपयोगकर्ता द्वारा sudo -u $user -i
या यहाँ तक कि किसी उपयोगकर्ता के माध्यम से su - $user
, वातावरण XDG_RUNTIME_DIR
सेट नहीं होता है, तो systemctl --user
काम करने से रोकता है। हालाँकि, जब मैं ssh
सीधे उस उपयोगकर्ता में आता हूं, तो यह सही तरीके से सेट किया गया है।
यदि मैं दस्तावेज़ीकरण को सही ढंग से समझता हूं, libpam-systemd
तो उपयोगकर्ता सत्र बनाते समय इसे सेट किया जाना चाहिए । उपयोगकर्ता स्लाइस को सही ढंग से शुरू किया गया है, क्योंकि निर्देशिका को XDG_RUNTIME_DIR
इंगित करना चाहिए ( /run/users/$uid
) मौजूद है। मैं इसे केवल हार्डकोड करने में संकोच कर रहा हूं, कहते हैं, .bash_profile
क्योंकि यह हैकी (यद्यपि काम करना) लगता है, जब पैम को इसकी देखभाल करनी चाहिए।
मैं, ज़ाहिर है, जोड़ सकते हैं XDG_RUNTIME_DIR
करने के लिए env_keep
में sudoers
है, लेकिन यह सिर्फ sudoing उपयोगकर्ता के पर्यावरण की रक्षा करेगा, जो नहीं है कि मैं क्या चाहता हूँ। मुझे लक्ष्य उपयोगकर्ता का वातावरण चाहिए।
हालांकि, मैं वास्तव में आश्चर्यचकित हूं, लेकिन यह है कि कैसे सत्र को सही ढंग से सेट किया गया है ssh
, लेकिन इसके साथ su
या नहीं sudo -i
?
XDG_RUNTIME_DIR
लिए निर्धारित नहीं होगाsudo
? मुझे लगता है कि फिर मुझे लगता है कि~/.profile
जैसा मैंने सोचा था कि यह उतना आसान नहीं है।