2016-06-02 2 views
1

Можно ли выполнить QtCreator в качестве пользователя nornal, но запустить и отладить приложение с правами root?Код QtCreator как пользователь, но запускать и отлаживать как root

Это было бы полезно, например, при разработке приложений на основе WiringPi, что облегчает доступ к GPIO, но требует, чтобы root эффективно обеспечивал доступ к оборудованию.

Чтобы быть более ясным в моих намерениях, я хотел бы, чтобы, когда я ударил Ctrl+R в QtCretor, он запускает приложение как root. И та же идея для отладки, когда я нажал F5, он начинает отлаживать режим с правами root. Все это, пока QtCreator работает обычным пользователем.

ответ

0

Конечно, вы можете разрабатывать и отлаживать приложение как обычный пользователь. Почему ты не сможешь?

Конечно, вы можете выполнить свое окончательное приложение как пользователь root - почему бы вам не удастся? «root» может запускать любой исполняемый файл, который он хочет. Вы можете использовать sudo для запуска единой команды с привилегиями root (при условии, что она настроена правильно) или просто используйте su для переключения на корневую оболочку, а затем запустите приложение.

Вы можете, конечно, также настроить свою IDE для использования sudo при запуске приложения.

0

Короткий ответ: нет. Даже если вы можете запустить приложение для запуска под управлением root из контекста без корневого QtCreator, вы не сможете подключиться к выполняемому процессу и отлаживать его.

Вам лучше всего запустить QtCreator как root.

Если вам необходимо разработать «пользовательский режим» интерфейс к контактам GPIO, вы можете попробовать этот учебник: LED Driver

Он показывает способ создания узлов в дереве/SYS, которые могут дать вам USERMODE доступ к GPIO.

4

WiringPi не нуждается в корневом доступе. Вам нужно правильно установить свойства на соответствующие узлы устройства, вот и все. Убедитесь, что у вас есть /dev/gpiomem, доступный для использования WiringPi, доступный для записи пользователем. Он доступен на 4,1 и более новых ядрах IIRC.

Ваш вопрос относится к проблеме X-Y. Да, root-доступ sidesteps проблема неправильных свойств узла устройства, но это совсем не правильное решение. Не запускайте приложение как root.

+0

Буду признателен за длительную версию этого ответа, учитывая среду, основанную на Debian Jessie, как в случае с Raspbian. – KcFnMi

0

Я решил сегодня же вопрос с wiringPi после этого комментария: https://askubuntu.com/a/711130

В моем случае это было:

Tools-> Options-> Environment заменить строку по умолчанию с «/ USR/бен/xterm -e sudo "в терминальной опции.

Кроме того, не забудьте зайти в Проекты> Build & Run> Run и установите флажок Запускать окно в терминале.

+0

Это хорошая идея, пока ваше приложение случайно не удалит что-то важное для нормальной работы вашей системы ... – rubenvb

+0

Конечно, но в моем случае я не против! Кроме того, KcFnMi, возможно, не против, так как вопрос: «Можно ли выполнить QtCreator в качестве пользователя nornal, но запустить и отладить приложение как root?» – iGian