উত্তর:
আমি যখন ssh এর মাধ্যমে দূরবর্তীভাবে আমার ভেন্টু বাক্সে লগইন করেছি তখন আমারও একই সমস্যা ছিল। আমার ক্ষেত্রে এটি কারণ XDG_RUNTIME_DIR
এবং DBUS_SESSION_BUS_ADDRESS
পরিবেশের ভেরিয়েবলগুলি অনুপস্থিত ছিল। নিম্নলিখিত আদেশগুলি চালান এবং আবার চেষ্টা করুন:
export XDG_RUNTIME_DIR="/run/user/$UID"
export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
যদি এটি সহায়তা করে তবে আপনি সেই আদেশগুলি আপনার .bashrc এ রাখতে পারেন। আমি অনুমান করি .বাশার্কের চেয়ে আরও মার্জিত সমাধান অবশ্যই হবে তবে এটি আপনার ডিস্ট্রোতে নির্ভর করে depends
এখানেই আমি সেই সমাধানটি পেয়েছি।
সম্পাদনা:
রুট হিসাবে লগ ইন, আমি নিম্নলিখিত systemctl --user
ব্যবহারকারী হিসাবে সফলভাবে অন্য ব্যবহারকারী হিসাবে চালানো পরিচালিত su
:
su -c 'XDG_RUNTIME_DIR="/run/user/$UID" DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user status' username
বা ব্যবহার করুন sudo
(দ্রষ্টব্য, আমি স্পষ্টভাবে সংশ্লিষ্ট ব্যবহারকারীদের ইউআইডি (1000) '/ রান / ইউজার /' পাথে যুক্ত করতে হয়েছিল, তবে আপনি যদি এটি কোনও বাশ স্ক্রিপ্ট থেকে চালাচ্ছেন তবে আপনি instead SUDO_UID ব্যবহার করতে পারেন):
sudo -u username XDG_RUNTIME_DIR="/run/user/1000" DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user status
/etc/profile.d/dbus.sh
। আমি অনুমান করিsudo
তাদের শ্বেত তালিকাভুক্ত হওয়া দরকার কারণ এটি ডিফল্টরূপে পরিবেশ সাফ করে। আমি নিশ্চিত না যদিও এটি কেবলমাত্র বর্তমান ব্যবহারকারীর রানটাইম দির স্থানান্তর করবে কিনা।