在 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 自動化教程。