MacOS 设置
背景
MouseHero 通过 shutdown 命令实现关机与重启,在 macOS 上这需要 sudo 权限,因此需要配置sudoers文件,放行shutdown命令。
如何设置
将下面的脚本保存为bash脚本,然后执行,即可自动为当前用户配置 shutdown 免密。
#!/usr/bin/env bash
set -euo pipefail
USER_NAME="$USER"
SUDOERS_FILE="/etc/sudoers.d/mousehero"
SHUTDOWN_PATH=$(which shutdown)
if [[ -z "$SHUTDOWN_PATH" ]]; then
echo "❌ Not found 'shutdown' command, please confirm system is normal." >&2
exit 1
fi
echo "==> Configuring '$SHUTDOWN_PATH' for user '$USER_NAME'..."
sudo tee "$SUDOERS_FILE" > /dev/null <<EOF
# MouseHero sudoers rule (managed by script)
$USER_NAME ALL=(root) NOPASSWD: $SHUTDOWN_PATH
EOF
sudo chmod 0440 "$SUDOERS_FILE"
if sudo visudo -c; then
echo "✅ Success"
else
echo "❌ Failed to validate sudoers file."
sudo rm -f "$SUDOERS_FILE"
exit 1
fi
如何验证
执行 sudo shutdown -h +10,若不提示输入密码且屏幕上出现“系统将于1分钟后关闭”的广播消息,即为成功。此命令不会真的关机。
还原/卸载
若要撤销配置,执行:
sudo rm -f /etc/sudoers.d/mousehero