(题图无关,卢塞恩·狮子纪念碑)
没想好写啥,水一篇,周末愉快。
- 1 -
可能有些同学遇到了类似的困扰:
晚上把 macbook 带回家用,开了外放听音乐;
第二天到公司忘了关,但戴着蓝牙耳机没注意到;
因为一些事情离开电脑(蓝牙断开)再回来的时候,发现电脑正在疯狂输出,影响到了周围的同学。
这时候只好迅速把喇叭调成静音,然后一脸镇定假装什么也没发生。
痛定思痛,我琢磨着,是不是能整个工具,在公司自动把喇叭给静音了。
- 2 -
要整这么个工具,主要是得解决两个问题:
(1)如何判断自己在公司
可行方案很多,比如通过 SSID 或者 IP 都可以。
我是通过这个命令获取SSID的:
$ /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep ' SSID:'
(2)如何将喇叭设置为静音
我在 github 上找到了一个现成的工具 device-volume-adjuster [1],可以指定一个设备的音量。
比如我的喇叭是“MacBook Pro Speakers”:
那么通过以下命令就可以让它静音:
$ AdjustVolume -s 0 -n "MacBook Pro Speakers"
- 3 -
将上述两个工具整合起来,就能达到我们的目的了:
ByteDanceSSID="YOUR SSID"
YourDevice="MacBook Pro Speakers"
ssid=`/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep ' SSID:' | awk -FSSID:\ '{print $2}'`
if [ "$ssid" == "$ByteDanceSSID" ]; then
AdjustVolume -s 0 -n "$YourDevice"
fi
最后将这个脚本放到 crontab 里:
*/5 * * * * /path/to/wifi_muter.sh
更完整的版本参见这个 gist - wifi_muter.sh [2]。
需要注意的是,貌似 mac 的 crond 没有完整的环境变量,所以该脚本里有一行 "source /etc/profile" ,用于保证环境变量正常可用。
~ 完 ~
参考:
1. device-volume-adjuster
https://github.com/jonomuller/device-volume-adjuster
2. wifi_muter.sh
https://gist.github.com/felix021/2454c596a7af46f617b2595c726f2a44