ปิดใช้งานโหมดสลีปสำหรับแอปเฉพาะหรือไม่


5

ฉันสามารถปิดการใช้งานโหมดสลีปสำหรับแอปพลิเคชันที่เฉพาะเจาะจงเพื่อให้ mac ของฉันจะไม่เข้าสู่โหมดสลีปจนกว่าแอปจะปิดหรือไม่

คำตอบ:


2

หากคุณมีความสนใจในการใช้งานเชลล์สคริปต์สิ่งต่อไปนี้จะได้ผล เพียงแค่ตั้งค่า "Display_Sleep_Time" และ "System_Sleep_Time" ตามที่คุณต้องการให้เข้ากับ "แอป" ที่คุณเลือกเพื่อป้องกันไม่ให้เข้าสู่โหมดสลีป เมื่อเปิดใช้งานสคริปต์ทุกครั้งที่คุณเรียกใช้แอปของคุณเวลาสลีปทั้งหมดจะเปลี่ยนเป็น 0 เพื่อป้องกันไม่ให้ทั้งจอแสดงผลและระบบไม่ทำงาน

ทดสอบแล้ว

  • 10.5.x
  • 10.6.x
  • 10.7.4

หมายเหตุ: คำเตือนสคริปต์นี้มีห่วงภายใน คุณอาจต้องการใช้สคริปต์ต่อไปนี้ภายใน Daemon แทนที่จะใช้ลูปภายในที่สคริปต์ให้ อย่างไรก็ตามใช้แนวคิดเดียวกันนี้

#!/bin/bash

watch="true"

App="Safari"
System_Sleep_Time="30"
Display_Sleep_Time="10"

System_Sleep=$(pmset -g | grep " sleep" | awk '{print $2}')
Display_Sleep=$(pmset -g | grep " displaysleep" | awk '{print $2}')

while [[ ${watch} == "true" ]]; do

    watch_App=$(ps -A | grep "${App}.app" | grep -v grep | sed "s/.*${App}.*/${App}/")

    if [[ ${watch_App} == ${App} ]]; then

        if [[ ${System_Sleep} != "0" ]]; then
            pmset -a sleep 0
            System_Sleep=$(pmset -g | grep " sleep" | awk '{print $2}')
        fi

        if [[ ${Display_Sleep} != "0" ]]; then
            pmset -a displaysleep 0
            Display_Sleep=$(pmset -g | grep " displaysleep" | awk '{print $2}')
        fi

    elif [[ ${watch_App} != ${App} ]]; then

        if [[ ${System_Sleep} == "0" ]]; then
            pmset -a sleep ${System_Sleep_Time} > /dev/null 2>&1
            System_Sleep=$(pmset -g | grep " sleep" | awk '{print $2}')
        fi

        if [[ ${Display_Sleep} == "0" ]]; then
            pmset -a displaysleep ${Display_Sleep_Time} > /dev/null 2>&1
            Display_Sleep=$(pmset -g | grep " displaysleep" | awk '{print $2}')
        fi

    else

        /usr/bin/logger -i An error has occured with preventsleep.sh

    fi

done

คุณสามารถเพิ่มคำตอบวิธีตั้งค่า deamon ได้หรือไม่?
dierre

วิธีที่ง่ายที่สุดอาจเพียงแค่ดาวน์โหลดแอพเพื่อช่วยเหลือคุณ หากคุณ google 'ดาวน์โหลด mac daemon tool free' คุณควรหาแอปพลิเคชั่นที่มีประโยชน์ โดยทั่วไปแล้วมีขนาดเล็กมากและง่ายมากที่จะติดตาม อย่ากลัวที่จะลองพวกเขา โปรดจำไว้ว่าไม่จำเป็นต้องทำเช่นนี้ 100% คุณสามารถสร้าง daemon ได้โดยไม่ต้องใช้แอพพลิเคชั่นหรือคุณสามารถเรียกใช้สคริปต์นี้ได้ตามต้องการและหากคุณใช้งานด้วยสิทธิ์ของรูทก็จะทำงานได้อย่างเพียงพอ
E1Suave

ขออภัยที่ค่อนข้างคลุมเครือเกี่ยวกับการดาวน์โหลด แต่ฉันไม่แน่ใจ 100% ว่านโยบายการแลกเปลี่ยนแบบสแต็กสำหรับการแสดงรายการแอปพลิเคชันเฉพาะ
E1Suave

1
developer.apple.com/library/mac/#documentation/MacOSX/…พบมัน tnx คำตอบที่ดี btw
dierre

0

คุณสามารถเพิ่มบรรทัดเช่นนี้ลงใน crontab:

* * * * * pgrep -x TextEdit && caffeinate -t 60

(ใช้EDITOR=nano crontab -eถ้าคุณยังไม่ได้เปลี่ยน$EDITORและไม่รู้ว่าจะใช้ vi)

เพิ่มคาเฟอีนและ pgrep ใน Mountain Lion

คุณสามารถดูรายการการยืนยันพลังงานpmset -g assertionsได้ caffeinateหรือcaffeinate -iควรตั้งค่าPreventUserIdleSystemSleepเป็น 1


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.