10.7+ এ টার্মিনাল থেকে ক্লিন শাটডাউন / পুনরায় চালু করুন


0

আমার একটি হেডলেস সিস্টেম রয়েছে যা দূরবর্তীভাবে নিয়ন্ত্রিত হয় যা আমাকে স্বয়ংক্রিয় ভাবে শাটডাউন / পুনরায় চালু করতে হবে (ভিএনসি বা স্থানীয় কীবোর্ড / মাউসের ব্যবহার না করে)।

SSH এর মাধ্যমে অথবা আমার ডিমনের মাধ্যমে বিভিন্ন কমান্ড ব্যবহার করে প্রত্যাশিত এবং মেশিনটি পুনরায় আরম্ভ করুন:

sudo shutdown -r now অথবা osascript -e 'tell application "System Events" to restart'

যাইহোক, নিম্নলিখিত কমান্ডগুলি যদিও এই সমস্ত কমান্ডগুলি কোনও চলমান অ্যাপ্লিকেশনগুলির উইন্ডোজ পুনরায় খুলতে পারে:

  • সাধারণত লগ আউট করার সময় Reopen windows when logging back in হয় অবারিত
  • শুধুমাত্র যে আইটেমটি আমি লগইন দিয়ে শুরু করতে চাই তা তালিকাভুক্ত করা হয় System Preferences > Users & Groups > Login Items
  • defaults write -g ApplePersistence -bool no সেট করা হয়
  • System Preferences > General > Ask to keep changes when closing documents হয় চেক বা অচেনা
  • System Preferences > General > Close windows when quitting an app হয় চেক বা অচেনা
  • Recent Items কোন মান সেট করা হয় (কোন প্রভাব আছে)
  • ~/Library/Preferences/com.apple.loginwindow.plist রয়েছে TALLogoutSavesSate সেট কোন

আমার ক্ষেত্রে আসলে আমি 10.7+ (?) থেকে অ্যাপলস্ক্রিপ্টটি ব্যবহার করতে পারছি না যখন অন্য মেশিনটি এএফপি বা এসএমবিডের সাথে ভাগ করে নেওয়ার সময় শাটডাউন ব্যর্থ হওয়ার জন্য সতর্ক করে দেয়। দ্য shutdown কমান্ডটি কোনও কথোপকথনকে পপ আপ ছাড়াই পুনরায় শুরু করে যা আমার প্রয়োজন ঠিক। যাইহোক, যখন মেশিনটি শুরু হয় আমি লগইন শুরু করতে ঠিক একটি অ্যাপ্লিকেশন চালু করতে চাই এবং এটি লগইন আইটেমগুলিতে তালিকাবদ্ধ।

মেশিনটি স্বয়ংক্রিয়ভাবে লগ ইন করতে সেট করে যাতে এই অ্যাপ্লিকেশনটি চালানো যায় তবে অন্য কোনও উইন্ডো খোলা থাকে (টার্মিনাল বা অসংরক্ষিত পরিবর্তন সহ টেক্সট সম্পাদনা) আমার শাটডাউন / পুনঃসূচনা স্ক্রিপ্টটি সংরক্ষণ না করে কোনও খোলা অ্যাপ্লিকেশান বন্ধ করতে বাধ্য করে এবং না পরের লগইন খুলুন। আমি বরং প্রতিটি একটি পাঠানোর সব ব্যবহারকারী প্রসেসের মাধ্যমে জন্য লুপ না SIGTERM অথবা SIGKILL পাঠানোর আগে নিজে shutdown কমান্ড।

আমি সম্পূর্ণরূপে সচেতন যে এটি ডেটা ক্ষতির কারণ হতে পারে (যদি ব্যবহারকারী তাদের নথি সংরক্ষণ না করে) তবে এটি সাধারণত একটি অপ্রত্যাশিত যন্ত্র যা আমি কোনও পরিচিত অবস্থায় মেশিনটি পুনঃসূচনা করতে চাই, এটি যে অবস্থায় রাখা হয়েছিল তা নয়।

AFAICT কেউ না পরিষ্কারভাবে শাটডাউন / 3.7+ এ মেশিন পুনরায় চালু করার জন্য কাজ করুন।

উত্তর:


1

এই প্রশ্নটি লেখার সময় আমি একটি আবিষ্কার করেছি যা অন্যদের সাহায্য করতে পারে প্রায় সম্পূর্ণরূপে এই সমস্যা সমাধান:

  • ~/Library/Preferences/com.apple.loginwindow.plist রয়েছে TALLogoutSavesSate সেট কোন

যদিও এটি সত্য, সেখানে অন্য একটি ফাইল রয়েছে ~/Library/Preferences/ByHost/com.apple.loginwindow.*.plist যে বলা একটি অ্যারে রয়েছে TALAppsToRelaunchAtLogin। যে অ্যারে বর্তমানে খোলা অ্যাপ্লিকেশন উইন্ডো একটি তালিকা রয়েছে।

এই অ্যারেটি মুছে ফেলা হচ্ছে, বা আরও বেশি নীরব ভাবে সম্পূর্ণ ফাইলটি, এবং অবিলম্বে প্রায় সম্পূর্ণভাবে পুনঃসূচনা এই সমস্যাটির সমাধান করবে।

অবশিষ্ট সমস্যাটি যখন মেশিন শুরু হয় তখন খোলা ফাইন্ডার উইন্ডোগুলি পুনরুদ্ধার করা হয় এবং যদি আপনার এক বা একাধিক টার্মিনাল উইন্ডো থাকে এবং প্রকৃতপক্ষে সেই উইন্ডো থেকে শাটডাউন কমান্ডটি চালানো হয় তবে এটি আবার পুনর্বিবেচনা করা হয় যখন টার্মিনালটি আবার শুরু হয় তবে SSH বা ডেমন জরিমানা কাজ বলে মনে হচ্ছে।

আমি সত্যিই দীর্ঘ রান এই একটি উপযুক্ত সমাধান মনে করি না কিন্তু আমার সামান্য পরীক্ষায় এ পর্যন্ত কাজ বলে মনে হচ্ছে।

আরও গবেষণার পরে মনে হচ্ছে আপনি একটি স্ক্রিপ্ট লগ ইন করতে পারেন যাতে এটি সর্বদা ফাইলটি মুছে ফেলে: ডিফল্ট লিখুন com.apple.loginwindow LoginHook /usr/bin/loginfix.sh

: টার্মিনাল উইন্ডোর মতো একই লাইনের মতই প্রতিটি পৃথক অ্যাপ্লিকেশন এটির অবস্থা সংরক্ষণ করছে বলে মনে হচ্ছে, তাই উদাহরণস্বরূপ, যদি আপনি টেক্সট এডিটটি খুলেন তবে কিছু পরিবর্তন করুন এবং যখন আপনি লগ ইন করেন এবং শুরু করেন তখন উপরের পদ্ধতিটি ব্যবহার করে মেশিনটি পুনরায় চালু করুন। টেক্সটটি আপনি খোলা নথির সাথে শেষ করেছেন। দেখছি ~/Library/Containers/com.apple.TextEdit সবকিছু ব্যাখ্যা করে

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