আমি লগ আউট ব্যবহারকারীদের এই ফাংশনটি নিয়ে এসেছি (নীচে দেখুন)
এটা ধরে
- আপনার sudo অনুমতি আছে
- তোমার বাশ আছে
- ব্যবহারকারীদের 1 টি চলমান এক্স সেশন রয়েছে (যদিও আপনার অবশিষ্ট সেশনগুলি থেকে মুক্তি পেতে একই লগআউট কমান্ড একাধিকবার দিতে সক্ষম হওয়া উচিত)
আপনি এটিকে একাধিক ব্যবহারকারীর নাম দিতে পারেন:
logout john jane mike elisa
এবং আপনি এটিকে অতিরিক্ত বিকল্পগুলি দিতে পারেন:
logout john --force
সুতরাং, আমার নিম্নলিখিত সহায়তার কাজ রয়েছে:
function forcelogout() {
logout "$@" --no-prompt --force
}
নোট:
- এটি একটি ভোঁতা যন্ত্র এবং পুরো সেশনের পরিবেশ অনুলিপি করে কাজ করে। এটি আরও নির্বাচনী হতে পারে।
- কখনও কখনও লগআউট কিছুটা সময় নেয় বলে মনে হয়
- বিরল ঘটনাগুলিতে কেউ অধিবেশনটি যেখানে চালিত ভিটিটি পরিদর্শন না করা পর্যন্ত অধিবেশনটি জানানো হয়, তবে আর কিছুই নেই)
কোড
function logout() {
local USERNAME
export USERNAMES=( )
while [ -n "$1" ]; do case "$1" in
-* ) break ;;
*) USERNAMES+=( "$1" ); shift ;;
esac; done
for USERNAME in "${USERNAMES[@]}"; do
local SESSION_PID=$(pgrep -fu "$USERNAME" gnome-session|head -1)
if [ -n "$SESSION_PID" ]; then
(
sudo -u "$USERNAME" cat "/proc/$SESSION_PID/environ" | xargs -0 -n 1 echo export
echo "gnome-session-quit --logout $@"
) | sudo -u "$USERNAME" sh -;
fi
done
}
restart
চলমান সমস্ত প্রোগ্রাম বন্ধ করে দেবে। (প্রোগ্রামগুলি বন্ধ না করে কীভাবে জিইউআই পুনরায় চালু করতে হবে তা আমি এখনও জানি না))