এটি আদর্শ নয়, তবে এখানে একটি সমাধান রয়েছে। Idাকনাটি বন্ধ হয়ে যাওয়ার পরে এবং আপনি ব্যাটারিতে চলা অবস্থায় ল্যাপটপটি ঘুম থেকে আটকাতে নিম্নলিখিত কমান্ডগুলি চালান:
sudo pmset -b sleep 0; sudo pmset -b disablesleep 1
Laptopাকনাটি বন্ধ হয়ে যাওয়ার পরে এবং আপনি ব্যাটারিতে চলমান অবস্থায় ল্যাপটপ স্লিপটিকে পুনরায় সক্ষম করতে নিম্নলিখিত কমান্ডগুলি চালনা করুন:
sudo pmset -b sleep 5; sudo pmset -b disablesleep 0
দ্বিতীয় সেট কমান্ডের "5" ব্যাটারি চলাকালীন ঘুমানোর আগে কয়েক মিনিটের সংখ্যা উপস্থাপন করে; আপনার ল্যাপটপের জন্য পছন্দসই হিসাবে সামঞ্জস্য করুন।
এটি কিছুটা বিপজ্জনক, যেহেতু আপনি যদি নিজের সেটিংসটি পুনরায় সক্ষম করতে ভুলে যান তবে ব্যাটারি চলাকালীন ল্যাপটপটি কখনই ঘুমায় না। এ কারণে, আমি সেটিংসটি স্বয়ংক্রিয়ভাবে সক্ষম করতে শেল স্ক্রিপ্ট লিখেছি:
#!/bin/bash
#***************************************************************************
#*** noz - prevent laptop from sleeping when lid is closed
#***************************************************************************
#***** set some defaults *****
BATTERY_SLEEP=5 # in minutes
DEF_WAKE_LEN=300 # in seconds
#***** determine timeout value *****
timeout_len=${1:-$DEF_WAKE_LEN}
function prevent_sleep() {
echo
echo -n "Preventing sleep for $timeout_len seconds; press <enter> to continue..."
sudo pmset -b disablesleep 1
sudo pmset -b sleep 0
}
function enable_sleep() {
# $1: <enter> = 0, timeout = 1, Ctrl-C = undef
#----- insert a newline for timeout or Ctrl-C -----
if [[ ${1:-1} -eq 1 ]]; then echo; fi
echo "Restoring previous battery sleep setting: $BATTERY_SLEEP"
sudo pmset -b disablesleep 0
sudo pmset -b sleep $BATTERY_SLEEP
#----- sleep on timeout only -----
if [[ ${1:--1} -eq 1 ]]; then sudo pmset sleepnow; fi
exit
}
#***** prevent it from sleeping *****
prevent_sleep
#***** trap Ctrl-C *****
trap enable_sleep INT
#***** wait for an enter *****
read -t $timeout_len
rc=$?
#***** re-enable normal sleep *****
enable_sleep $rc
আপনি Enterকীটি আঘাত না করা পর্যন্ত শেল স্ক্রিপ্টটি ঘুমকে অক্ষম করবে , যার ফলে এটি ঘুমের সেটিংসটিকে পুনরায় সক্ষম করবে (পর্যায়ক্রমে, আপনি আঘাত করতে পারেন Ctrl- Cএবং একই জিনিসটি অর্জন করতে পারেন )। এটি একটি সময়সীমাও স্থির করে (300 সেকেন্ড / 5 মিনিটের ডিফল্ট) যার পরে ঘুমের সেটিংস স্বয়ংক্রিয়ভাবে পুনরায় সক্ষম হবে এবং ল্যাপটপটি ঘুমাতে যেতে বাধ্য হবে। আপনি যদি কোনও মিটিংয়ে আপনার ল্যাপটপটি ব্যবহার করেন তবে এটি একটি ব্যথা হবে, আপনি যদি ভুলে গিয়ে বাড়িতে যেতে আপনার ল্যাপটপটি আপনার ব্যাগে রেখে দেন তবে এটি জীবনদাতা হবে।
আশ্চর্য পাঠকগণ লক্ষ করবেন যে এই আদেশগুলি প্রয়োজনীয় sudo
; দুঃখের বিষয়, এটি অপরিবর্তনীয় আফাইক AI আমি আমার সিস্টেমে যা করেছি তা হ'ল এটি তৈরি করা যাতে pmset
রুট হিসাবে চালাতে আমাকে আমার পাসওয়ার্ডটি প্রবেশ করতে না হয়। এটি করতে, sudoers
ফাইলটি সম্পাদনা করুন ( sudo visudo
) এবং এই লাইনটি যুক্ত করুন:
joe ALL=(ALL) NOPASSWD: /usr/bin/pmset
আপনার ব্যবহারকারীর নাম দিয়ে "জো" প্রতিস্থাপন করা হচ্ছে। আপনি সম্ভবত একই ফলাফলটি অর্জন করতে পারেন (অর্থাত্ আপনার পাসওয়ার্ড প্রবেশ করিয়ে না দিয়ে স্ক্রিপ্টটি চালানো) শেল স্ক্রিপ্ট SETUID চালিয়ে, তবে আমি এটি করতে পছন্দ করি না; sudoers মাধ্যমে এই এক কমান্ড খোলা আমার পক্ষে কম ঝুঁকিপূর্ণ বলে মনে হচ্ছে।
স্ক্রিপ্টটি চালাতে, এটি আপনার একটি ডিরেক্টরিতে স্টিক করুন PATH
এবং এটিকে অনুরোধ করুন:
noz [<timeout in seconds>]
আপনি যেখানে যাচ্ছেন সেখানে পৌঁছলে, কেবল হিট করুন Enterবা Ctrl- Cএবং আপনি যেতে ভাল। এবং যদি আপনি এটির কথা ভুলে যান তবে এটি স্বয়ংক্রিয়ভাবে রিসেট হয়ে ঘুমাবে।
অ্যাপলস্ক্রিপ্টের মাধ্যমে এই সমস্তগুলি অর্জন করার সম্ভবত একটি উপায় রয়েছে, যাতে আপনি এটির পরে একটি গরম কীটি নির্ধারণ করতে পারেন এবং কী নয়; আমি চেষ্টা করব যদি আমি কখনও কমান্ড লাইন থেকে এটি চালাতে ক্লান্ত হয়ে যাই।