3

是否可以以普通用户身份执行 QtCreator 但以 root 身份运行和调试应用程序?

这将很有用,即在开发基于WiringPi的应用程序时,它有助于访问 GPIO,但需要 root 才能有效地启用对硬件的访问。

为了更清楚地说明我的意图,我希望当我Ctrl+R进入 QtCretor 时,它会以 root 身份运行该应用程序。和调试相同的想法,当我点击F5它以root身份启动调试模式时。所有这些都是在 QtCreator 由普通用户运行时。

4

3 回答 3

4

WiringPi 不需要 root 访问权限。您需要正确设置相关设备节点的属性,仅此而已。确保您/dev/gpiomem可供 WiringPi 使用,用户可写。它在 4.1 和更新的内核 IIRC 上可用。

您的问题是 XY 问题的案例。是的,root 访问回避了错误设备节点属性的问题,但这根本不是一个合适的解决方案。不要以 root 身份运行您的应用程序。

于 2016-06-02T22:15:46.550 回答
1

我今天在此评论之后解决了与 WiringPi 相同的问题:https ://askubuntu.com/a/711130

就我而言,它是:

工具-> 选项-> 环境在终端选项中将默认字符串替换为“/usr/bin/xterm -e sudo”。

另外,不要忘记转到Projects > Build & Run > Run并选中Run in terminal框。

于 2016-06-24T20:55:43.260 回答
0

最简洁的答案是不。即使您可以在非根 QtCreator 上下文中以根用户身份启动应用程序,您也无法连接到正在运行的进程并对其进行调试。

你最好以 root 身份运行 QtCreator。

如果您需要为 GPIO 引脚开发“用户模式”接口,您可以尝试本教程: LED Driver

它展示了一种在 /sys 树中创建节点的方法,可以让您在用户模式下访问 GPIO。

于 2016-06-02T18:36:17.133 回答