Bleunlockは、iPhone、Apple Watch、またはその他のBluetooth Low Energyデバイスの近さでMacをロックおよびロック解除する小さなメニューバーユーティリティです。
このドキュメントは日本語(日本語版はこちら)でも利用できます。
brew install bleunlock
リリースからzipファイルをダウンロードし、解凍してアプリケーションフォルダーに移動します。
最初の起動時に、次の許可を求めます。
| 許可 | 説明 |
|---|---|
| ブルートゥース | 明らかに、Bluetoothアクセスが必要です。 [OK]を選択します。 |
| アクセシビリティ | これは、ロックされた画面のロックを解除するために必要です。 [システムの設定]をクリックし、左下のロックアイコンをクリックしてロックを解除し、Bleunlockをオンにします。 |
| キーチェーン | (常に尋ねられたわけではありません)尋ねられた場合、画面がロックされている間に必要であるため、常に許可を選択する必要があります。 |
| 通知 | (オプション)Bleunlockは、画面をロックするとロック画面にメッセージを表示します。適切に機能しているかどうかを知ることは役に立ちます。さらに、ロック画面でメッセージを表示するには、 [通知設定]ペインで常に表示プレビューを設定する必要があります。 |
注:必要な権限の数は、MacOSの各バージョンで増加するため、古いOSを使用している場合、1つ以上の権限を求められない場合があります。
次に、ロック画面のロックを解除するためにログインパスワードを要求します。キーチェーンに安全に保管されます。
最後に、メニューバーアイコンから、デバイスを選択します。近くのBLEデバイスのスキャンを開始します。デバイスを選択すると、完了です!
| オプション | 説明 |
|---|---|
| 今すぐ画面をロックします | BLEデバイスが近くにあるかどうかに関係なく、画面をロックします。 BLEデバイスが移動すると、ロックが解除され、再び近づきます。これは、座席を離れる前に画面がロックされていることを確認するのに役立ちます。 |
| RSSIのロックを解除します | ロックを解除するためのBluetooth信号強度。値が大きいほど、BLEデバイスがロックを解除するにはMacに近づく必要があることを示します。ロック解除を無効にするには、無効を選択します。 |
| rssiをロックします | ロックするBluetooth信号強度。値が小さいことは、BLEデバイスがMacから遠く離れてロックする必要があることを示しています。ロックを無効にするために無効にします。 |
| ロックするのを遅らせます | MACがBLEデバイスが離れていないことを検出すると、MACがロックされるまでの期間。その時間内にBLEデバイスが近づくと、ロックは発生しません。 |
| シグナルのタイムアウトなし | 最後の信号受信とロックまでの時間。頻繁に「信号が失われる」ロックが発生した場合は、この値を増やしてください。 |
| 近接して目を覚まします | ロック中にBLEデバイスが近づくと、睡眠からディスプレイを目覚めさせます。 |
| ロックを解除せずに起きます | Bleunlockは、「近接して目を覚ます」または手動での自動的に、ディスプレイが睡眠から目覚めたときにMacのロックを解除しません。これにより、Apple Watch機能(Bleunlockが画面を覚ます直後に動作できます)を使用して、MacOSビルトインのロック解除が可能になります。または、ロック画面をより速く表示することを好むが、自動Unlockを使用したくない場合。 |
| ロックされている間、「今プレイ」を一時停止します | ロック/ロックを解除すると、Bleunlockは音楽やビデオ(Apple Music、Quicktime Player、Spotifyを含む)の再生を一時停止し、ウィジェットまたはキーボードで⏯キーを再生することで制御されます。 |
| スクリーンセーバーを使用してロックします | このオプションが設定されている場合、Bleunlockはロックする代わりにスクリーンセーバーを起動します。このオプションが適切に動作するには、睡眠またはスクリーンセーバーがセキュリティとプライバシーの好みペインでオプションを開始する直後にパスワードを必要とする必要があります。 |
| ロックで画面をオフにします | ロックするときはすぐにディスプレイをオフにします。 |
| パスワードを設定... | ログインパスワードを変更した場合は、これを使用してください。 |
| パッシブモード | デフォルトでは、BLEデバイスに積極的に接続し、RSSIを読み取ろうとします。ほとんどの場合、デフォルトが推奨され、安定して動作します。ただし、キーボード、マウス、トラックパッド、または特にBluetoothパーソナルホットスポットなどの他のBluetoothを使用している場合、デフォルトモードは互いに干渉する場合があります。 2.4GHz wifiも干渉する可能性があります。 Bluetoothの不安定性が発生している場合は、パッシブモードをオンにします。 |
| ログイン時に起動します | ログインするとBleunlockを起動します。 |
| 最小rssiを設定します | この値の下にRSSIを備えたデバイスは、デバイススキャンリストには表示されません。 |
BLEデバイスがAppleからのものでない場合、Bleunlockはデバイス名を見つけることができない場合があります。その場合、デバイスはUUID(長い16進数とハイフン)として表示されます。デバイスを識別するには、デバイスをMacの近くまたは遠く離れて移動して、それに応じてRSSI(DB値)が変化するかどうかを確認してください。
リストにデバイスが表示されない場合は、以下に説明するようにBluetoothモジュールをリセットしてみてください。
BLEUNLOCKがシステム設定>セキュリティとプライバシー>プライバシー>アクセシビリティでオンになっていることを確認してください。すでにオンになっている場合は、オフにしてからもう一度オンにしてみてください。
キーチェーンで独自のパスワードにアクセスする許可を求める場合は、画面がロックされている間に必要であるため、常に許可を選択する必要があります。
無指定のタイムアウトを増やします。または、パッシブモードを試してください。
まず、Shift +オプション + MenubarまたはControl CenterのBluetoothアイコンをクリックし、 [Bluetoothモジュールのリセット]をクリックします。
MacOS 12 Montereyでは、このオプションは使用できなくなりました。代わりに、以下のコマンドをターミナルに入力して、Bluetoothモジュールをリセットします。
sudo pkill bluetoothd
このコマンドは、ログインパスワードを尋ねます。
問題が続く場合は、パッシブモードをオンにします。
Classic Bluetoothとは異なり、Bluetooth Low Energy DevicesはプライベートMacアドレスを使用できます。そのプライベートアドレスはランダムであり、時々変更できます。
iOSとAndroidの両方の最近のスマートデバイスは、15分ごとに変更されるプライベートアドレスを使用する傾向があります。これはおそらく追跡を防ぐためです。
一方、Bleunlockがデバイスを追跡するためには、Macアドレスが静的でなければなりません。
幸いなことに、Appleデバイスでは、Macと同じApple IDでサインインする場合、MacアドレスはTrue(public)アドレスに解決されます。
Androidを含む他のデバイスの場合、アドレスを解決する方法は不明です。 Apple以外のデバイスが時間の経過とともにMacアドレスを変更した場合、残念ながらBleunlockはサポートできません。
MACアドレスが正しく解決されているかどうかを確認するには、デバイススキャンリストに表示されているMACアドレスをBleunlockのリストとデバイスに表示されるMacアドレスと比較します。
ロックしてロック解除すると、Bleunlockはここにあるスクリプトを実行します。
~/Library/Application Scripts/jp.sone.BLEUnlock/event
イベントの種類に応じて、引数は渡されます。
| イベント | 口論 |
|---|---|
| 低いrssiのためにブルンロックによってロックされています | away |
| 信号がないためにブルンロックによってロックされています | lost |
| Bleunlockによってロック解除されました | unlocked |
| 手動でロック解除されます | intruded |
注:
intrudedイベントが適切に機能するには、セキュリティとプライバシーの好みペインで睡眠後すぐにパスワードを必要とする必要があります。
以下は、Macの前にある人の写真が手動でロックされているときに、メッセージを通知メッセージを送信するスクリプトの例です。
#! /bin/bash
set -eo pipefail
LINE_TOKEN=xxxxx
notify () {
local message= $1
local image= $2
if [ " $image " ] ; then
img_arg= " -F imageFile=@ $image "
else
img_arg= " "
fi
curl -X POST -H " Authorization: Bearer $LINE_TOKEN " -F " message= $message "
$img_arg https://notify-api.line.me/api/notify
}
capture () {
open -Wa SnapshotUnlocker
ls -t /tmp/unlock- * .jpg | head -1
}
case $1 in
away)
notify " $( hostname -s ) is locked by BLEUnlock because iPhone is away. "
;;
lost)
notify " $( hostname -s ) is locked by BLEUnlock because signal is lost. "
;;
unlocked)
# notify "$(hostname -s) is unlocked by BLEUnlock."
;;
intruded)
notify " $( hostname -s ) is manually unlocked. " $( capture )
;;
esac SnapshotUnlockerは、このスクリプトを使用してスクリプトエディターを使用して作成された.appです。
do shell script "/usr/local/bin/ffmpeg -f avfoundation -r 30 -i 0 -frames:v 1 -y /tmp/unlock-$(date +%Y%m%d_%H%M%S).jpg"
Bleunlockにはカメラの許可がないため、このアプリが必要です。このアプリに許可を与えると、問題が解決します。
年次Apple開発者プログラム料金は、寄付によって資金提供されています。
このアプリが気に入ったら、私にコーヒーを買うか、私にペイパルを払って寄付をすることができれば、私が追いつくことができるなら、私はそれを感謝します。
アイコンは、chartheredesignicons.comからダウンロードされたSVGに基づいています。それらはもともとGoogle LLCによって設計され、Apacheライセンスバージョン2.0でライセンスされています。
mit
Copyright©2019-2022 Takeshi Sone。