一般使用者無需 sudo 以 root 身分執行 Qt C++ 程式?

一般使用者無需 sudo 以 root 身分執行 Qt C++ 程式?

我正在用 C++ 編寫一個機器人程序,使用 Qt 作為 GUI,其中每個線程都需要存取硬體。存取硬體的函式庫稱為pigpio,它修改/dev/mem,因此需要root存取權限。

問題是使用者沒有 root 存取權限,而且他們正在與 GUI 進行交互,因此他們不應該為必須輸入密碼而煩惱。我嘗試setuid,但是Qt不支持,GTK+也不支援。使用者如何在沒有密碼的情況下以 root 身分執行 GUI?系統是Raspberry Pi 3B+上的Ubuntu 18.04。

答案1

似乎最好的解決方案是使用 Pigpiod,而不是 Pigpio,因為守護程式可以透過添加在啟動時運行

#!/bin/sh -e
pigpiod
exit 0

到文件

/etc/rc.local

不幸的是,pigpiod 的 API 不同,所以我必須重寫很多程式碼,但測試程式正在運行。

相關內容