#macos #工具 #保持 #caffeinate

应用 caffeinate2

具有更多选项的Caffeinate MacOS实用程序。临时阻止您的系统休眠。

8 个版本

0.5.1 2023年10月31日
0.5.0 2023年3月8日
0.4.3 2023年2月26日
0.3.1 2023年2月7日

#677命令行工具

MIT 许可证

28KB
537

caffeinate2

logo

caffeinate 但它是用Rust编写的,并具有更多选项。保持您的Mac处于唤醒状态。

当前状态

开发中。运行良好,但我想在1.0.0版本之前添加更多功能并记录不同类型的睡眠。

安装

GitHub版本

从这里下载最新版本:这里

Homebrew

此功能将在1.0.0版本之前不可用。

Cargo

cargoinstall caffeinate2

用法

Usage: caffeinate2 [OPTIONS] [COMMAND]...

Arguments:
  [COMMAND]...  Wait for given command to complete (takes priority above timeout and pid)

Options:
  -v, --verbose             Verbose mode
      --dry-run             Dry run. Don't actually sleep. Useful for testing
      --drop-root           Drop root privileges in command. Some programs don't want to work as root, but you need root to disable sleep entirely
  -d, --display             Disable display sleep
  -m, --disk                Disable disk idle sleep
  -i, --system              Disable idle system sleep. Default if no other options are specified
  -s, --system-on-ac        Disable system sleep while not on battery
  -e, --entirely            Disable system sleep entirely (ignores lid closing)
  -u, --user-active         Declare the user is active. If the display is off, this option turns it on and prevents it from going into idle sleep
  -t, --timeout <DURATION>  Wait for X seconds. Also supports time units (like "1 day 2 hours 3mins 4s")
  -w, --waitfor <PID>       Wait for program with PID X to complete
  -h, --help                Print help
  -V, --version             Print version

睡眠计时器(按优先级排序)

命令

直到命令完成,睡眠被禁用。您应该用引号将命令括起来,尽管有时不需要。如果指定了命令,则忽略超时和PID。

caffeinate2"sleep 5"

超时和PID

睡眠被禁用一定时间或直到具有指定PID的程序完成。如果都指定了,则等待其中一个完成。

超时可以是秒数或持续时间字符串。例如,您可以使用 -t 600-t 10m 等待10分钟。您还可以创建更具描述性的持续时间,例如 -t "1 hour and 30 minutes",但它只查看第一个字母(因此“3 movies”只是3分钟)。任何不是数字后跟字母的东西都将被忽略(上一个例子中的“ and”)。您必须使用引号才能使其生效。否则,它将尝试解析任何超过空格的东西作为命令,并忽略超时。

caffeinate2-t600

caffeinate2-t"1小时30分钟"

caffeinate2-w1234

caffeinate2-t600 -w1234

以上都不是

将一直禁用睡眠,直到您按下 Ctrl+C

caffeinate2

许可证

本项目采用MIT许可证 - 请参阅 许可证文件 了解详细信息。

待办事项

  • 使超时和PID一起工作
  • 找出如何伪造tty(例如,caffeinate2 brew list 未着色)
  • 更好地打印睡眠类型
  • 记录所有睡眠类型(它们有些模糊)
  • 不读取plist获取系统休眠状态
  • 通过Grand Central Dispatch获取PID信息,而不是使用奇怪的lsof技巧 - 延期,因为它很混乱,目前只是正常工作™️

依赖项

~8–20MB
~274K SLoC