Почему bluetooth-агент зависает при авторизации?

Почему bluetooth-агент зависает при авторизации?

Я пытаюсь вручную подключиться между моим ноутбуком и телефоном. У меня установлена bluez-utils​​версия 4.98-2ubuntu7. Когда я запускаю агента на терминале, я получаю:

asheesh@U32U:~$ sudo bluetooth-agent 4835
Pincode request for device /org/bluez/980/hci0/dev<id>
Authorizing request for /org/bluez/980/hci0/dev<id>

Строка запроса пин-кода печатается, когда я пытаюсь выполнить сопряжение с телефона. После ввода ключа доступа при запросе устройство авторизуется. Теперь я могу отправлять файлы на ноутбук с телефона. Однако приложение зависает после запроса авторизации, и управление не передается обратно на терминал.

Почему это происходит? Как мне вернуть контроль?

Кажется, это противоречит примерам, которые я видел в Интернете, где терминал становится доступным после авторизации для выполнения дальнейших команд.

Я понимаю, что запуск в фоновом режиме является возможным решением, но поскольку мне необходимо запустить некоторые другие задачи после завершения сопряжения, я бы предпочел, чтобы он работал в активном режиме.

Я попробовал использовать это:

bluetooth-agent "$PIN" 1> ./bluelog #Background run tested also

Однако процесс не записывает свой вывод в файл, пока не завершится (или не будет остановлен), поэтому я не могу проверить вывод в bluelog. Есть ли способ заставить процесс записать вывод до завершения?

решение1

Это просто обходной путь к проблеме. Любые предложения о том, как решить реальную проблему bluetooth-agentостановки, приветствуются.


Я stdbufотключал буферизацию строк STDOUTпри работе bluetooth-agentв фоновом режиме. Это обновляет файл журнала в реальном времени, тем самым позволяя мне проверять и запускать остальные действия, которые необходимо выполнить.

stdbuf -o 0 bluetooth-agent "$PIN" 1> ./bluelog &

Связанный контент