ব্যাটারিতে idাকনা বন্ধ করে ঘুম আটকাতে ক্যাফিনেট ব্যবহার করুন


41

caffeinateআমি যখন ডিসপ্লেটি বন্ধ করি তখন আমার ম্যাকবুকটিকে ঘুম থেকে আটকাতে নেটিভ ইউটিলিটি কাজ করছে না। পরিবর্তে, আমি আমার ডেস্ক থেকে <5 মিনিটের মধ্যে আমার সভায় যাওয়ার সময় সিস্টেমটি ঘুমায় এবং বিভিন্ন নেটওয়ার্ক পরিষেবাদি (ভিপিএন, স্ক্রিনশারেস, ভিওআইপি কলস, মেসেজিং ক্লায়েন্ট, ফাইল স্থানান্তর) ব্যর্থ হতে পারে ।

অর্ধেক খোলা ল্যাপটপের halfাকনাটি নিয়ে ঘুরে বেড়ানো আমার কফির সাথে নিরাপদে বহন করা কঠিন করে তোলে এবং এটি স্পষ্টতই শান্ত নয় ool

নেটিভ caffeinateইউটিলিটি এটির জন্য ব্যবহারকারী-বান্ধব প্রতিস্থাপন হিসাবে হ্যান্ডেল করার জন্য ডিজাইন করা হয়েছে pmsetতবে এসি শক্তি থেকে সংযোগ বিচ্ছিন্ন হওয়ার পরে এটি কাজ না করার জন্য ডিজাইন করা হয়েছে বলে মনে হয়।

এর মাধ্যমে দস্তাবেজগুলি man caffeinate

সিস্টেমকে ঘুম থেকে আটকাতে একটি দৃ Create়তা তৈরি করুন। সিস্টেমটি এসি পাওয়ার চলমান থাকলেই এই দৃser়তা বৈধ ।

করার জন্য একটি নেটিভ বিকল্প জন্যে InsomniaX বা nosleep

একটি সময়সীমা বৈশিষ্ট্য অত্যাবশ্যক যাতে আমি ঘটনাক্রমে আমার অননড ম্যাকবুকটিকে একটি ব্যাগে ভরাট করা এড়াতে পারি, ফলে উত্তপ্ত গোলমাল হয়। ( caffeinate -t, সেকেন্ডে টাইমআউট মান নির্দিষ্ট করে)


আমি আশঙ্কা করি যে কোনও স্থানীয় বিকল্প নেই, কারণ ম্যাকবুক যখন আপনি এটি বন্ধ করবেন তখন ঘুমাতে যাবেন sleep : - /
Asmus

2
ম্যাকবুক সঙ্গে ঘুরে বেড়াচ্ছেন ঠিক কেন আমি তার নিদ্রাকালে প্রতিরোধ যখন ঢাকনা বন্ধ করা হয় জন্য একটি সমাধান চাই।
theonlygusti

আপনার বিকল্প চেষ্টা করেছেন -tমতো caffeinate -t 3600? আমার অভিজ্ঞতা অনুসারে, ম্যাকবুকটি ব্যাটারিতে চলমান থাকলেও এটি কাজ করে।
কিয়াং শু

পরামর্শের জন্য ধন্যবাদ, প্রাথমিক প্রচেষ্টাতে কাজ করে নি। আমি কিছু অনুপস্থিত করছি? পরীক্ষিত 1) caffeinate -t 36002) ল্যাপটপ বন্ধ করুন 3) 5s অপেক্ষা করুন 4) লগইন স্ক্রিন এবং সংযোগ বিচ্ছিন্ন নেটওয়ার্ক পরিষেবাগুলি অনুসন্ধান করতে ল্যাপটপ খুলুন।
এখানে

@ এখানে যদিও আমি idাকনাটি বন্ধ করার চেষ্টা করিনি। -tআমার ম্যাকবুকটি ব্যাটারিতে থাকাকালীন আমি কেবল বিকল্পটি দিয়ে কমান্ডটি চালিয়েছি এবং এটি ঘুমায় না। Closedাকনাটি বন্ধ করে দেওয়ার চেষ্টা করিনি, তবে মনে হচ্ছে আপনি youাকনাটি বন্ধ করার সাথে সাথে ম্যাকবুকটি ঘুমাতে বাধ্য হবে। আমার ভুল বোঝাবুঝির জন্য দুঃখিত। আমি ভাবছিলাম আপনি যখন batteryাকনাটি বন্ধ না করে কেবল ব্যাটারিতে চালিত হয় তখন আপনি এটি কাজ করার জন্য কোনও উপায় সন্ধান করছেন।
Qiang, জু

উত্তর:


37

এটি আদর্শ নয়, তবে এখানে একটি সমাধান রয়েছে। 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এবং আপনি যেতে ভাল। এবং যদি আপনি এটির কথা ভুলে যান তবে এটি স্বয়ংক্রিয়ভাবে রিসেট হয়ে ঘুমাবে।

অ্যাপলস্ক্রিপ্টের মাধ্যমে এই সমস্তগুলি অর্জন করার সম্ভবত একটি উপায় রয়েছে, যাতে আপনি এটির পরে একটি গরম কীটি নির্ধারণ করতে পারেন এবং কী নয়; আমি চেষ্টা করব যদি আমি কখনও কমান্ড লাইন থেকে এটি চালাতে ক্লান্ত হয়ে যাই।


6
শান্ত! অনেক ধন্যবাদ! একটি পরামর্শ / সরলকরণ: আপনার মনে হয় না যে আপনাকে sleepসেটিংটি পরিবর্তন করতে হবে । কেবল চালু disablesleepএবং বন্ধ করুন। pmset -a disablesleep 1এবং pmset -a disablesleep 0আমার জন্য ভাল কাজ। আমি যখন idাকনাটি বন্ধ করি তখন আমার ম্যাকবুক ঘুমায় না। অন্যান্য সমস্ত সেটিংস একই থাকে।
jcsahnwaldt

গিথুব ব্যবহারকারী আইসিসির ফার্মাটা নামে একটি ফ্রি অ্যাপ তৈরি করেছে যা এই কৌশলটি হুডের নীচে ব্যবহার করে এবং একটি মেনুবার আইকন এবং একটি টাইমার ইত্যাদির সাথে এটি ভালভাবে গুটিয়ে তোলে I github.com/iccir/Fermata
অ্যালেক্স রায়ান

5

গিথুব ব্যবহারকারী আইসিসির খুব সহজেই একটি সহজ মেনুবার অ্যাপ্লিকেশন তৈরি করেছে যা ফেরমাটা বলে যা আপনি যা চান ঠিক তা করে: ম্যাকবুককে closedাকনাটি দিয়ে জাগ্রত রাখে এবং আপনাকে একটি সময়সীমা নির্ধারণ করতে দেয়।

আমি এটি কেবল মোজেভে (10.14.2) এ চেষ্টা করেছি এবং এটি আমার পক্ষে দুর্দান্ত কাজ করেছে। https://github.com/iccir/Fermata


5

এটি করার কোনও নেটিভ উপায় নেই। কিছু অনুসন্ধান এবং পরীক্ষার পরে আমি যা পেয়েছি তা এখানে:

এখানে চিত্র বর্ণনা লিখুন

বিঃদ্রঃ:

  • নস্লিপের কার্নেল এক্সটেনশান হাই সিয়েরায় লোড হতে ব্যর্থ হয়েছিল
  • প্রাইভেট এসপিআই হাই সিয়েরার পরে অ্যাপল সমর্থন করে না। ফারমাতাpmset সংস্করণ ১.১ এর পরে পদ্ধতিটিতে স্যুইচ করেছেন
  • আপনি দ্বার রক্ষক নিষ্ক্রিয় করতে দিন করার প্রয়োজন হতে পারে অনিদ্রা কাজ আশানুরূপ।
  • অন্যান্য অ্যাপ্লিকেশনগুলি চেষ্টা করে closedাকনা বন্ধ করে কাজ করে না

1

আপনি কি এই অ্যাপটি ব্যবহার করে দেখেছেন ? আপনি ঠিক পরে যা করছেন তার জন্য আমি এটি খুব দরকারী মনে করি।

আমি মোটামুটি নিশ্চিত যে এটির একটি টাইমআউট বৈশিষ্ট্য রয়েছে যা আপনি অ্যাপ্লিকেশনটির সেটিংসের মধ্যে সেট করেছেন।


6
ধন্যবাদ @ মিচেল-ডি। প্রশ্নটি বিশেষভাবে ক্যাফিনেটের মতো দেশীয় সমাধানের জন্য জিজ্ঞাসা করছে। অন্যান্য অ্যাপ্লিকেশনগুলিতে প্রস্তাবিত রয়েছে-যে কোনও উপায়ে-সেট-এ-ম্যাকবুক-প্রো-টু-স্লিপ-না-যখন আপনি-close াকনাটি বন্ধ রাখুন তবুও, আপনি যে ক্যাফিন অ্যাপ্লিকেশনটি ব্যবহার করেন তা করার চেষ্টা করেছি আমি যখন .াকনাটি বন্ধ করি তখন আমার ম্যাকবুকটি ঘুমাতে আটকাবেন না
এখানে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.