Forhindre systemets søvn, mens en proces eller kommando er aktiv i Mac OS X

Mange Mac-brugere bruger hjælpeprogrammer til midlertidigt at forhindre deres computer i at sove, ofte afhænger af søvnhjørner, tredjepartsværktøjet kaldet koffein, pmset eller nyere, kommandolinjeværktøjet, der nu er bundtet med OS X, kaldes koffein. Som standard vil koffeinmenulinjen og koffeinkommandoen både forhindre søvn, så længe de er individuelt aktiveret til, meget nyttige til desktopbrugere, mens de er på en Mac, men ikke særlig nyttige, hvis du gerne vil have OS X-søvnfunktionen afhængig af færdiggørelsen af ​​en bestemt proces eller opgave.

Det er det, vi skal dække her ved at bruge kommandolinjen, som har procesafhængig søvnforebyggelse, der kun blokerer Mac-søvnfunktionen, mens en bestemt kommando, opgave eller proces kører eller er aktiv, og når den er færdig, så computeren vil genoprette traditionelle søvnvaner.


For at opnå kommandospecifik søvnundgåelse skal vi bruge en variation af koffein-kommandoen, som kan forhindre søvn på mange forskellige måder. Vi løber gennem et par eksempler, men caffeinats man side giver et par ekstra muligheder, som også kan være ønskelige til andre situationer.

Til vores formål her for at gøre søvnforebyggelsen afhængig af færdiggørelsen af ​​en bestemt kommando eller proces, vil du bruge -i flaggen kan lide det:

caffeinate -i [command / process]

Det kan måske allerede være indlysende, men udførelsen af ​​koffein-kommandoen som denne vil også starte den kommando eller proces, der er angivet i argumentet.

Hvis du f.eks. Vil have Mac'en til at undgå at sove, når kommandoen "make" er aktiv, skal du bruge følgende kommandosyntax:

caffeinate -i make

Eller måske vil du bare forhindre søvn, mens en ssh-forbindelse er aktiv til en bestemt server, og du vil sende koffein-kommandoen i baggrunden, så vil du anvende en ampersand til slutningen, så godt som:

caffeinate -i ssh coffeebeans &

Du kan endda køre dette med dine egne scripts eller kommandoer på et andet sted:

caffeinate -i /private/tmp/./whatisthis.sh

Eller for at have søvnforebyggelse aktiv, så længe Safari-browseren kører i GUI'en, skal du bruge følgende syntaks, bemærk at du skal angive den fulde sti til binæret i .app-filen:

caffeinate -i /Applications/Safari.app/Resources/MacOS/Safari

Den -i flag forhindrer systemets søvn, men du kan bruge andre flag til at skabe påstande for at forhindre disk eller vise sovende også. For at forhindre visning af søvn (det vil sige at skærmen slukker og går i låst tilstand eller en pauseskærm), er det nødvendigt med -d-flag:

caffeinate -d [command / process]

Ligesom -i-flag kan dette gælde for enhver systemopgave, uanset om den er kørt fra kommandolinjen eller GUI, skal du bare sørge for at angive det korrekte navn med korrekt tilfælde. Et andet eksempel:

caffeinate -d telnet towel.blinkenlights.nl

Denne kommando betyder, at så længe telnet til Star Wars ASCII-film er aktiv, vil Macs-skærmen ikke sove. Hvis telnet er afbrudt eller Star Wars er færdig med at spille, kan systemet sove som det normalt er tilladt, defineret af søvn og energi indstillinger i OS X.

Selvfølgelig, da koffein er helt baseret på kommandolinjen, vil det ikke være gældende for alle brugere, men for dem der bruger meget tid i Terminal, kan det være et godt trick. For Mac-brugere, der er mere komfortable i den grafiske brugergrænseflade, er et effektivt anti-sleep hjørne og ved hjælp af koffein-appen nok de bedste spil til at udføre lignende funktioner.

Hvis du vil udføre en lignende procesafhængig opgave, men undgå Terminal og kommandolinjen, udfører Wimoweh app det samme som en menulinje drop down, selv om det er en betalt app, der kan gøre det mindre ønskeligt for nogle brugere, og det giver ikke en generel proces eller kommandolinje baseret opgave færdiggørelse argument. Således foretrækkes koffein med et ordentligt flag stadig af mange.