Я пытаюсь вручную подключиться между моим ноутбуком и телефоном. У меня установлена 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 &