AFIK, không có tiện ích dòng lệnh tích hợp để quản lý các kết nối Bluetooth riêng lẻ.
Trên thực tế, trang man man blued
(OS X Bluetooth daemon) nêu cụ thể:
Trình nền Bluetooth xử lý các giao dịch SDP, quản lý khóa liên kết và chấp nhận kết nối đến. Nó không thể được sử dụng trực tiếp bởi người dùng. (Nhấn mạnh của tôi)
Vì vậy, có vẻ như bạn bị giới hạn tải / dỡ tải daemon BT từ dòng lệnh. Điều đó có thể hữu ích, tuy nhiên. Nếu thiết bị của bạn đang hoạt động, OS X sẽ tự động kết nối với thiết bị khi khởi động. Nói cách khác, nó sẽ tự động kết nối với bất kỳ thiết bị nào trong phạm vi khi daemon khởi động.
Nhận trạng thái Daemon
Nếu chúng tôi phát lệnhdefaults read /Library/Preferences/com.apple.Bluetooth.plist ControllerPowerState
Nó phản hồi lại bằng một 1
hoặc 0
tùy thuộc vào việc BT daemon có chạy hay không; 1 được lên, 0 được xuống.
Dỡ bỏ Daemon
Phát lệnh sudo killall blued
nên giết daemon BT. Nhược điểm ở đây là nếu bạn có bàn phím BT, nó sẽ ngừng hoạt động.
(Re) Bắt đầu Daemon
Nếu chúng ta ban hành lệnh: launchctl start com.apple.blued
nó sẽ báo cho daemon bắt đầu lại. Sau khi làm như vậy, nó sẽ phát hiện thiết bị trong phạm vi.
Đặt tất cả lại với nhau
Đặt nó thành một dòng, chúng ta có thể ra lệnh
sudo killall blued && sleep 3 && launchctl start com.apple.blued
Điều này làm là ....
- Giết daemon
- Đợi 3 giây để đảm bảo nó đã bị giết (bạn có thể thay đổi điều này nếu muốn)
- Bắt đầu daemon.
Bây giờ để làm cho nó dễ dàng hơn
Để làm cho điều này dễ dàng hơn, chúng tôi cung cấp cho nó một bí danh . Bạn có thể gọi bí danh bất cứ điều gì bạn thích; Tôi chỉ sử dụng "btrestart" vì nó có ý nghĩa trong bối cảnh này.
alias btrestart=sudo killall blued && sleep 3 && launchctl start com.apple.blued
Bây giờ, bất cứ nơi nào trong vỏ thiết bị đầu cuối của bạn, nếu bạn gõ btrestart
nó sẽ phát lệnh. Khi bạn đã làm việc, bạn có thể thêm nó vào để .bash_profile
bí danh được duy trì trong suốt quá trình khởi động lại:
echo alias btrestart=sudo killall blued && sleep 3 && launchctl start com.apple.blued >> ~/.bash_profile
Một vài cảnh báo
- Bạn sẽ phải nhập mật khẩu của bạn mỗi lần. Launchctl là một lệnh hệ thống và yêu cầu các đặc quyền nâng cao.
- Tất cả các thiết bị BT của bạn sẽ bị ngắt kết nối và kết nối lại. Nếu bạn chỉ có một hoặc hai thiết bị BT, điều này có thể không thành vấn đề
Tôi hy vọng điều này sẽ giúp bạn đi đúng hướng ....