我希望有一个.bashrc
可以在启动时运行的别名命令。其中规定:如果计算机处于非活动状态 X 分钟,则关闭 wifi。我该怎么做呢?
我目前使用 netctl 作为我的网络管理器。我已经有一个用于关闭 wifi 的别名:alias woff='sudo netctl stop network'
但我不确定如何在 bashrc 中执行 if-then 语句。
答案1
这完全取决于你如何定义闲置的。如果您认为空闲是没有用户输入,那么您可以编写一个脚本来监视以下输出:
xscreensaver-command -watch
根据其手册页,其中:
-watch 每次屏幕保护程序更改状态时打印一行:当屏幕空白、锁定、取消空白或更改正在运行的 hack 时。这个选项永远不会返回;它旨在供希望以某种方式对屏幕保护程序做出反应的 shell 脚本使用。其输出的一个示例是:
BLANK Fri Nov 5 01:57:22 1999
RUN 34
RUN 79
RUN 16
LOCK Fri Nov 5 01:57:22 1999
RUN 76
RUN 12
UNBLANK Fri Nov 5 02:05:59 1999
这手册页有一个编写的示例脚本perl
可以帮助您入门。
您还可以查看该batch
命令,它是套件的一部分atd
。
从它的手册页:
batch executes commands when system load levels permit; in other
words, when the load average drops below 0.8, or the value
specified in the invocation of atrun.