macOSでバイナンスクライアントを起動時に自動実行し、自動ログインさせるための核心的な手順は次の通りです:システム設定 → 一般 → ログイン項目 → Binanceをオンにする。これに加えて、クライアントの設定で「ログイン状態を保持」にチェックを入れ、キーチェーンにパスワードを保存することで、起動から30秒以内にログインを完了させることができます。定時起動(例:毎朝8時に自動起動)が必要な場合は、launchd の定時タスクで osascript 脚本をスケジュールします。完全なクライアントは バイナンス公式サイト からダウンロードしてください。スマホアプリと併用する場合は バイナンス公式アプリ をクリックしてください。この記事では、自動起動、定時起動、キーチェーンによるパスワード不要ログインの3つの設定方法を解説します。
一、3つの自動起動方式の違い
| 方式 | 実行タイミング | 推奨シーン |
|---|---|---|
| ログイン項目 | Macへのログインごと | 日常的に相場をチェックするユーザー |
| launchd 定時 | 指定した時間 | 固定の取引時間がある場合 |
| AppleScript 実行 | 手動または自動化 | イベント駆動のシナリオ |
二、方式1:ログイン項目
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
これを実行可能ファイルとして保存し、ログイン項目にこのスクリプトを追加します。
三、方式2: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の3つのタイミングで起動したい場合は、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 が表示されていれば、ロード成功です。
四、方式3: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(2要素認証)コードの入力は依然として必要です。
方法 B:Touch ID 認証
設定 → アカウントセキュリティ → Touch IDを有効にする(Touch Bar または Magic Keyboard 搭載モデルのみ対応)。ログイン時にパスワード入力の代わりに Touch ID を使用でき、手動入力よりも高速です。
方法 C:QRコードログインでセッションを維持
最初にQRコードでログインすると、クライアントに長期トークン(30日間)が保存されます。アプリを閉じて再度開いても再ログインは不要です。ログイン項目による自動起動と組み合わせることで、「真のログイン不要」を実現できます。
トークンの有効期限メカニズム:
| 操作 | トークンへの影響 |
|---|---|
| 通常の終了 | 維持 |
| 手動でログアウト | 削除 |
| パスワードの変更 | すべてのトークンが無効化 |
| 新しい2FAを有効化 | すべてのトークンが無効化 |
| 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キーの権限を最小限にする:出金権限は有効にしないでください。
- 異常ログイン通知を有効にする:メールやSMSでの通知を設定します。
八、自動起動を無効にする方法
自動起動を停止したい場合:
- システム設定 → 一般 → ログイン項目 → 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
これを1分ごとにチェックする 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自動化チュートリアルを確認しましょう。