在 macOS 上让币安客户端开机自动启动并自动登录的核心步骤是:系统设置 → 通用 → 登录项 → 开启 Binance,加上客户端设置里勾选「记住我」和钥匙串保存密码,即可做到开机 30 秒内登录完毕。如果需要定时启动(比如早 8 点自动启动),用 launchd 定时任务调度 osascript 脚本。完整客户端从 币安官网 下载;配合手机 APP 使用可点 币安官方APP。本文拆解开机自启、定时启动、钥匙串免密三项的完整配置。
一、三种自启方式的差别
| 方式 | 触发时机 | 适合场景 |
|---|---|---|
| 登录项 | 每次登录 Mac | 日常盯盘用户 |
| launchd 定时 | 指定时间 | 固定交易时间 |
| AppleScript 触发 | 手动/自动化 | 事件驱动场景 |
二、方式一:登录项
1. 添加登录项
系统设置 → 通用 → 登录项 → 「开机打开」栏 → 点 +:
- 选择 Binance.app → 打开;
- Binance 会出现在列表里,勾选「隐藏」可让其在后台启动不弹窗口。
2. 登录即启动
下次重启或注销重登,Binance 会在登录完成后约 5-10 秒自动启动。
3. 延迟启动
有些用户希望登录后等网络稳定再启动,可用脚本:
#!/bin/bash
# ~/Scripts/launch-binance.sh
# 等待网络连通
until ping -c 1 8.8.8.8 > /dev/null 2>&1; do
sleep 2
done
sleep 5
open /Applications/Binance.app
保存为可执行文件,在登录项中添加该脚本。
三、方式二:launchd 定时任务
1. 创建 plist 文件
保存到 ~/Library/LaunchAgents/com.user.binance-start.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.binance-start</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/open</string>
<string>-a</string>
<string>Binance</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>8</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>RunAtLoad</key>
<false/>
</dict>
</plist>
2. 加载任务
launchctl load ~/Library/LaunchAgents/com.user.binance-start.plist
每天早上 8:00 自动启动 Binance。
3. 多时间点
想要 8:00、12:00、20:00 三个时间点都启动,把 StartCalendarInterval 改成数组:
<key>StartCalendarInterval</key>
<array>
<dict><key>Hour</key><integer>8</integer><key>Minute</key><integer>0</integer></dict>
<dict><key>Hour</key><integer>12</integer><key>Minute</key><integer>0</integer></dict>
<dict><key>Hour</key><integer>20</integer><key>Minute</key><integer>0</integer></dict>
</array>
4. 卸载与重载
launchctl unload ~/Library/LaunchAgents/com.user.binance-start.plist
launchctl load ~/Library/LaunchAgents/com.user.binance-start.plist
修改 plist 后必须先 unload 再 load,不然不生效。
5. 调试
launchctl list | grep binance
列表中能看到 com.user.binance-start 即加载成功。
四、方式三:AppleScript 触发
AppleScript 可以执行更复杂的启动流程。
1. 基础启动脚本
tell application "Binance"
activate
end tell
保存为 ~/Scripts/start-binance.scpt,用 osascript ~/Scripts/start-binance.scpt 运行。
2. 启动后等待登录页面
tell application "Binance"
activate
end tell
delay 5
tell application "System Events"
tell process "Binance"
if (count of windows) > 0 then
set frontmost to true
end if
end tell
end tell
3. 结合定时任务
在 launchd plist 中用 osascript 执行:
<key>ProgramArguments</key>
<array>
<string>/usr/bin/osascript</string>
<string>/Users/yourname/Scripts/start-binance.scpt</string>
</array>
五、自动登录的几种实现
方式 A:钥匙串记住密码
币安客户端登录界面勾选「记住账号」+ macOS 弹「是否保存密码到钥匙串」 → 点「始终允许」。下次启动客户端会自动填充账号和密码,但 2FA 码仍需输入。
方式 B:Touch ID 验证
设置 → 账户安全 → 启用 Touch ID(仅支持 Touch Bar 或 Magic Keyboard 型号)。登录时用 Touch ID 代替输入密码,比手打更快。
方式 C:扫码登录保持会话
首次扫码登录后,客户端会保存一个长期 Token(30 天),关闭再打开不需要重新登录。配合登录项开机自启,实现「真·免登录」。
Token 过期机制:
| 操作 | Token 影响 |
|---|---|
| 正常退出 | 保留 |
| 手动点退出 | 清除 |
| 更改密码 | 所有 Token 失效 |
| 启用新 2FA | 所有 Token 失效 |
| 30 天未使用 | 自动失效 |
六、网络等待策略
Mac 登录后网络可能尚未连通,直接启动 Binance 会提示「连接失败」。解决:
策略 1:登录项脚本等待
#!/bin/bash
# 等 Wi-Fi 连接
while ! networksetup -getairportpower en0 | grep -q On; do
sleep 2
done
# 等 DNS 可用
while ! dig +short google.com > /dev/null; do
sleep 2
done
open /Applications/Binance.app
策略 2:launchd 依赖网络事件
plist 加 LaunchOnlyOnce + KeepAlive 的 NetworkState:
<key>KeepAlive</key>
<dict>
<key>NetworkState</key>
<true/>
</dict>
网络掉了会停止任务,网络回来自动重启。
策略 3:延迟启动
sleep 30 粗暴但有效,登录后 30 秒再启动,网络基本都稳定了。
七、自动登录的安全风险
- 公用 Mac 不要启用自动登录:任何人开机都能进你的账号;
- 自动登录 + 未锁屏 = 风险:务必设置自动锁屏(1 分钟内);
- 钥匙串密码建议不同于开机密码:泄露一个不影响另一个;
- API Key 权限最小化:不启用提现;
- 开启异常登录通知:邮件/短信报警。
八、禁用自启的方法
不想再自启时:
- 系统设置 → 通用 → 登录项 → 选中 Binance → 点
-; - launchctl unload plist 并删除文件;
- 删除 AppleScript。
九、自启脚本收集
启动 + 打开特定币对
tell application "Binance"
activate
end tell
delay 3
tell application "System Events"
keystroke "k" using command down
delay 0.5
keystroke "BTC/USDT"
delay 0.5
keystroke return
end tell
启动 + 最小化到后台
tell application "Binance"
activate
end tell
delay 2
tell application "System Events"
keystroke "m" using command down
end tell
启动 + 打开多窗口
tell application "Binance" to activate
delay 2
tell application "System Events"
repeat 3 times
keystroke "t" using command down
delay 1
end repeat
end tell
十、监控是否成功启动
用 pgrep 检查进程:
if pgrep -x "Binance" > /dev/null; then
echo "Binance 运行中"
else
open /Applications/Binance.app
fi
可以写成每分钟检查的 launchd 任务,崩溃后自动重启。
常见问题 FAQ
Q1: 登录项里设置的 Binance 不自动启动?
A: 可能是 Binance 被 macOS 标记为「未完全启动」。到 系统设置 → 通用 → 登录项 → 允许在后台运行,勾上 Binance。如果被 MDM 策略拦截,联系 IT 放行。
Q2: launchd 任务在电脑休眠时能触发吗?
A: 不能。休眠期间 launchd 暂停计时,唤醒后补触发。若需要在休眠时定时启动,用 pmset repeat wake 命令先唤醒:
sudo pmset repeat wakeorpoweron MTWRFSU 07:55:00
每天 7:55 自动唤醒,8:00 的 launchd 任务能正常触发。
Q3: 自动登录后 2FA 还要手动输吗?
A: 要。2FA 是为了防止会话被偷用,即便密码自动填充也必须输入。Touch ID 可以替代 2FA 输入(需先在账户安全中绑定)。
Q4: 自启的 Binance 窗口出现在错误的桌面?
A: 右键 Dock 中 Binance 图标 → 选项 → 分配到 → 指定桌面。这样下次自启就会开在指定桌面。
Q5: 关机时 Binance 没有正常退出导致数据丢失?
A: 关机前执行 Command + Q 让客户端正常退出;或者用 launchd plist 的 ExitTimeOut 字段设置退出超时。强制关机可能导致未保存的本地设置丢失,但账户数据(在服务器)不会丢。
回 分类导航 看更多 Mac 自动化教程。