ওএস এক্স 10.9-এ কমান্ড লাইন থেকে কোনও ব্যবহারকারীকে লগআউট করার উপায়


31

আমি কমান্ড লাইন থেকে আমার ম্যাক ওএস এক্স লগআউট করতে চাই। আমার ওএস এক্স সংস্করণটি 10.9। আমি কমান্ড চেষ্টা করেছিলাম pkill -KILL -u uid, কিন্তু এই আদেশটি কার্যকর হয়নি। অ্যাপলস্ক্রিপ্ট নয়, কমান্ড লাইন ব্যবহার করে সিস্টেম থেকে কোনও ব্যবহারকারীকে লগ আউট করতে কোনও কমান্ড ব্যবহার করা যেতে পারে ?


ঠিক কী কাজ হয়নি?
nohillside

কমান্ড পিকিল চালানোর জন্য - কিল-ইউ ইউইড সিস্টেমটি আমাকে ধূসর পর্দা দেখায় এবং দীর্ঘ অপেক্ষায় সিস্টেমটি প্রয়োগ না করে বলটি ছাড়ার উইন্ডো দেখায়
পূর্বক ওঝা

উত্তর:


32

sudo launchctl bootout gui/$(id -u <username>)
অথবা
sudo launchctl bootout user/$(id -u <username>)

লক্ষ্য ব্যবহারকারীর ব্যবহারকারীর নামের সাথে ব্যবহারকারীর নামটি প্রতিস্থাপন করুন বা ব্যবহারকারীর ইউআইডি সহ পুরো সাবশেলটি প্রতিস্থাপন করুন। এটি ব্যবহারকারীদের লগইন সেশনটি ছিন্ন করতে লঞ্চাক্টলকে বলে (গুই বিশেষভাবে ব্যবহারকারীর অস্থায়ী লগইন সেশনকে বোঝায়, ব্যবহারকারী ব্যবহারকারীদের পটভূমি প্রক্রিয়াগুলি নির্দিষ্ট করে)।

এটি sudoপরীক্ষা না করে আপনি নিজেকে লগ আউট করতে পারেন ।

মনে রাখবেন যে এটি কেবলমাত্র ম্যাকোস 10.11.x বা launchctl helpআরও নতুনতে কাজ করবে (আরও দেখুন)


1
আমি আপনার প্রশ্নটি পুনরায় পড়ব এবং আমি দুঃখিত যে এটি আপনাকে সাহায্য করবে না, তবে এটি গুগল অনুসন্ধানের ফলাফলগুলিতে প্রকাশিত হবে।
আইয়েন হেন্ডারসন

29

টার্মিনাল (বা একটি দূরবর্তী ssh অধিবেশন) থেকে বিশুদ্ধভাবে লগ আউট করতে, কেবল লগইন উইন্ডো প্রক্রিয়াটি মেরে ফেলুন:

sudo pkill loginwindow

যদি আপনি একাধিক ব্যবহারকারীর লগইন উইন্ডো প্রক্রিয়া থাকে তবে আপনি অভিনবতা পেতে এবং ব্যবহারকারীকে নির্দিষ্ট করতে পারেন, তবে এটি একটি সহজ শট, ব্যবহারকারীর গ্রাফিকাল সেশনটি শেষ করার কোনও তাত্পর্যপূর্ণ উপায় নয়।


16

এটি অতীতে আমার পক্ষে কাজ করেছে:

লগ আউট (নিশ্চিতকরণ সহ)

osascript -e 'tell app "System Events" to log out'

সরাসরি লগ আউট (কোনও নিশ্চিতকরণ নেই)

osascript -e 'tell app "System Events" to  «event aevtrlgo»'

অথবা

osascript -e 'tell application "loginwindow" to  «event aevtrlgo»'

এইভাবে কোনও চলমান অ্যাপ্লিকেশন নজরে আসবে এবং নিরাপদ ফ্যাশনে শেষ করতে পারে।


osascript-e ত্রুটি দেখানো অ্যাপ্লিকেশন "সিস্টেম ইভেন্টস" থেকে "সিস্টেম ইভেন্টস" বলুন: একটি "<" পোষাক এটি থেকে আরও ভাল হতে পারে।
প্রাক্তন ওঝা

হুম, আমার জন্য ঠিক আছে। কমান্ড লাইনের পরিবর্তে শেল স্ক্রিপ্ট থেকে চেষ্টা করতে পারেন, শেলটি এখানে কিছু অদ্ভুত জিনিস দেয়।
nohillside

আমি অনুমান করছি যে ওপিতে আরও কিছু সমস্যা আছে এবং সাধারণ কমান্ডগুলি এখানে মন্তব্য এবং প্রশ্নের বিবরণ থেকে স্তব্ধ হয়ে উঠছে।
বিমিক

5
দ্রষ্টব্য যে :4 ≠ <<
ম্লাইঞ্জ

2

আপনার যদি একাধিক ব্যবহারকারী থাকে ...

প্রক্রিয়া আইডি এটির সাথে সন্ধান করুন:

ps aux|grep login

তারপরে সেই প্রক্রিয়াটি মেরে ফেলুন এবং আপনি সেই সেশনটি লগ আউট করেছেন। কিন্তু প্রচুর পরিমাণে বাকি রয়েছে।

চেক করুন pstreeযাতে আপনি জানেন যে কোন প্রক্রিয়াটি শেষ করতে হবে।


2

এটি আমার জন্য কৌশলটি করে।

sudo -s

কিছু রুট সুবিধাগুলি এবং # প্রম্পট পেতে, তারপর প্রক্রিয়াগুলি মেরে ফেলুন।

killall -vu username -HUP

এবং যদি এটি সব যায় না। নুকে এম! বাধ্যতামূলক সতর্কতা - রুট হিসাবে জিনিস হত্যার কোনও পূর্বাবস্থা নেই এবং কোনও "আপনারা নিশ্চিত যে আপনার ফাইলগুলি সংরক্ষণ না করে আপনি এই প্রক্রিয়াটিতে বাধা দিতে চান, সিস্টেমের সমালোচনামূলক ডাটাবেসগুলি যা বিরল উপলক্ষে মেশিনকে আনবুটযোগ্য রেন্ডার করতে পারে including" সতর্কতা টাইপ করুন।

killall -vu username -9

1
রুট শেলটিতে প্রবেশ করার দরকার নেই
কিল্ল

1

আপনার টার্মিনালে যুক্ত করার জন্য একটি দুর্দান্ত ইউটিলিটি হ'ল "লগআউট" কমান্ড, যেমনটি ব্যবহার করা যায়:

logout UserName

এখানে কীভাবে:

  1. আপনার .bash_ প্রোফাইলে সম্পাদনা করুন

    nano ~/.bash_profile

  2. এই লাইন যুক্ত করুন:

    logout() {sudo launchctl bootout user/$(id -u "$1")}

  3. ফাইল টিপুন সংরক্ষণ করুন ctrl+x

  4. টার্মিনালটি পুনরায় চালু করুন

আপনি যেতে প্রস্তুত;)


আমাকে নতুন লাইনে দেহটি ভেঙে ফেলতে হয়েছিল এবং ক্লোজিং বক্রবন্ধনী বন্ধনীটি পরে রেখে দিতে হবে।
বামেউটার

@ বিমাতা আমার জন্য নয়, প্রস্তাবিত ফর্মটি পুরোপুরি কাজ করে।
কেপ্পে

-3

আপনি যদি দূরবর্তী কম্পিউটারে এসএসএস দিয়ে লগইন করেন তবে আপনি কেবল 'প্রস্থান' টাইপ করে লগআউট করতে পারেন:

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