有什么办法吗?
如何编写脚本/usr/lib/pm-utils/sleep.d
来检查${downspeed eth0}
、${upspeed wlan0}
和设置系统在下载过程中不挂起${upspeed eth0}
而${downspeed wlan0}
只关闭屏幕?
我的操作系统是 Ubuntu 15.04。
有什么办法吗?
如何编写脚本/usr/lib/pm-utils/sleep.d
来检查${downspeed eth0}
、${upspeed wlan0}
和设置系统在下载过程中不挂起${upspeed eth0}
而${downspeed wlan0}
只关闭屏幕?
我的操作系统是 Ubuntu 15.04。
受@ByteCommanders 第二条评论的启发,下面的脚本执行您描述的操作:假设下载文件夹是您下载到的目录,它在下载期间禁用挂起,随后等待五分钟(任意设置),然后重新启用挂起,以确保下载真的完成了。
您可以将任何其他目录设置为下载文件夹。
这个怎么运作
在循环中(每 20 秒一次),脚本使用以下命令检查目标文件夹的大小:
该脚本将每次检查与最后一次进行比较,以检查下载活动(大小增加)。如果超过五分钟没有活动(但您可以设置任何其他“等待”时间),脚本会假定没有下载,并且(重新)启用“正常”暂停。
反过来:如果脚本发现
~/Downloads
目录的大小不断增加,它会禁用挂起,直到超过五分钟未检测到任何活动。果汁不足
该脚本的命令资源极低。由于循环每 20 秒仅运行一次(实际上),处理器负载几乎为零。
剧本
如何使用
no_suspend.py
在脚本的头部部分,设置所需的“正常”挂起时间(因为脚本将重新启用挂起):
如果需要,您可以设置其他值:
使用以下命令测试运行脚本:
如果一切正常,将其添加到您的启动应用程序:Dash > Startup Applications > 添加命令:
更新(2016-06-11):自从第一次编写下面的脚本以来,它已经发展成为一个成熟的程序,可以根据以下条件确定何时暂停
我已经在 GPL 许可下将它发布在 Launchpad 上https://launchpad.net/keep.awake 。
目前还没有 snap 包或 deb,但我最终会解决它。同时,您可以下载并解压使用。
它像一个正确的命令一样工作。
键入 --help 以查看可以执行的操作的完整列表。下面的示例只是其中的一部分:
./keepawake.py --help
交互式运行:
./keepawake.py
作为后台服务运行:
nohup ./keepawake.py -r > /dev/null 2>&1 &
要作为后台服务运行并在确定用户空闲之前将 15 分钟(900 秒)设置为用户活动空闲时间:
nohup ./keepawake.py -u 900 -r > /dev/null 2>&1 &
要作为后台服务运行并将最小 CPU 负载设置为 13%:
nohup ./keepawake.py -c 13 -r > /dev/null 2>&1 &
要作为后台服务运行并将最小网络流量设置为 5KB(5120 字节):
nohup ./keepawake.py -s 5120 -r > /dev/null 2>&1 &
要一次运行以上所有三个设置(网络、CPU、用户空闲):
nohup ./keepawake.py -s 5120 -c 13 -u 900 -r > /dev/null 2>&1 &
[原帖]:
根据 dhiya 的回复,我对脚本进行了大量修改。它处理网络流量和用户活动!
我不得不给它起个名字,所以我把它命名为“保持清醒”。
如果您有任何问题或意见,请试一试并回复!
发行说明...
在后台运行的示例命令
文件名:“Keep\Awake.v2.py”
logrotate custom config. Use "$man logrotate" for details of its use. It is very handy!... FILENAME: "Keep.Awake.v2.logrotate.config"
根据此处提供的答案,我修改了@Jacob Vlijm 的脚本如下,以防止 Ubuntu 在任何上传或下载过程中挂起。您必须先安装xprintidle。