qt 5.9.1 Пример сервера Bluetooth LE, добавление простых сбоев графического интерфейса с ошибкой сегментации

Я знаю, что Пример сервера с низким энергопотреблением Bluetooth - это консольное приложение, работающее с привилегиями root

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

Теперь у меня есть простая и пустая форма графического интерфейса пользователя для тестирования, и я скопировал всю bt-ble часть кода из главного приложения консоли в конструктор формы графического интерфейса пользователя, чтобы увидеть, что происходит

запуск его в создателе показывает обычное сообщение об ошибке "qt.bluetooth.bluez: полученная реклама", так как он не запускается с правами root

попытка запустить приложение за пределами создателя с помощью "sudo ./BleDevice" выдает следующее сообщение об ошибке

QStandardPaths: XDG_RUNTIME_DIR не установлен, по умолчанию используется ошибка сегментации '/tmp/runtime-root' (ядро сброшено)

Google XDG_RUNTIME_DIR получает миллионы для меня непонятных предложений, которые действительно ведут в никуда

тот факт, что приложение работает в пользовательском режиме и выдает только эту ошибку bluez, указывает на то, что не так уж и много проблем с начальной установкой быстрого исправления, чтобы как-то начать

Однако, когда дело доходит до запуска с привилегиями root, ошибка заставляет меня до конца мудрости

const QScopedPointer<QLowEnergyController> leController(QLowEnergyController::createPeripheral());
const QScopedPointer<QLowEnergyService> service(leController->addService(serviceData));

строка, которая вызывает ошибку, следующая

leController->startAdvertising(QLowEnergyAdvertisingParameters(), advertisingData, advertisingData);

Я использую QT с 5.5, но это, кажется, вне моей компетенции

я успешно написал диагностическое приложение bt-ble для подключения к бле-устройствам, которое успешно работает в пользовательском режиме

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

любая помощь будет высоко ценится

0 ответов

Другие вопросы по тегам