NoSuspend.py
1.0.0
我们已移至 https://codeberg.org/KOLANICH-libs/NoSuspend.py,在那里获取新版本。
Micro$oft 旗下的 GitHub 打着“更好的安全性”的幌子,歧视 1FA 密码的用户,同时对 FIDO 1FA 规范和 Windows Hello 规范的成功和广泛采用产生商业利益,并将其推广为密码的替代品。这将导致可怕的后果,并且是完全不可接受的,请阅读原因。
如果您不想参与伤害自己的行为,建议您跟随领导并迁移到远离 GitHub 和 Micro$oft 的地方。以下是执行此操作的替代方案和理由的列表。如果他们删除讨论,您可以在某些众所周知的地方获取其副本。了解为什么您也应该离开 GitHub。
这是一个防止系统进入省电模式(例如 ACPI S1-4)的库。
python3-dbus
和一些提供所用 D-Bus 接口的程序。 from NoSuspend import *
with NoSuspend ():
doLongWork ()
您可以根据平台提供其他参数:
在 Windows 上,您可以提供其他参数,例如保持屏幕启用
with NoSuspend(suspend=True, display=True, hidden=False, inherit=True):
doLongWork()
with NoSuspend ( suspend = True , display = False , hidden = False , appName = "MySuperApp" , reason = "doing long work..." ):
doLongWork ()
with NoSuspend () as state :
print ( state )
在 Windows 上,您可以使用以下命令检索它
print ( NoSuspend . getCurrentState ())
EXECUTION_STATE.CONTINUOUS | EXECUTION_STATE.SYSTEM_REQUIRED
(对应于suspend=True
)符合预期。有2种继承模式: print ( NoSuspend . getCurrentState ())
with NoSuspend () as state1 :
print ( state1 , NoSuspend . getCurrentState ())
with NoSuspend ( display = True , inherit = False ) as state2 : # the default one, replaces the state
print ( state2 , NoSuspend . getCurrentState ())
print ( NoSuspend . getCurrentState ())
print ( NoSuspend . getCurrentState ())
with NoSuspend () as state1 :
print ( state1 , NoSuspend . getCurrentState ())
with NoSuspend ( EXECUTION_STATE . DISPLAY_REQUIRED , inherit = True ) as state2 : # adds flags to the state
print ( state2 , NoSuspend . getCurrentState ())
print ( NoSuspend . getCurrentState ())
还提供控制台界面
python3 -m NoSuspend echo a
NoSuspend echo a
caffeinate echo a