一般ユーザーはsudoなしでrootとしてQt C ++プログラムを実行できますか?

一般ユーザーはsudoなしでrootとしてQt C ++プログラムを実行できますか?

私は、各スレッドがハードウェアにアクセスする必要があるGUIとしてQtを使用してC ++でロボットプログラムを作成しています。ハードウェアにアクセスするライブラリは pigpio と呼ばれ、これは /dev/mem を変更するため、root アクセスが必要です。

問題は、ユーザーがrootアクセス権を持っておらず、GUIと対話しているため、とにかくパスワードを入力する必要がないことです。私はsetuidを試しましたが、Qtはそれをサポートせず、GTK +もサポートしません。ユーザーはパスワードなしでrootとしてGUIをどのように実行できますか?システムはRaspberry Pi 3B+のUbuntu 18.04です。

ベストアンサー1

最善の解決策は、次のように追加して起動時にデーモンを実行できるため、Pigpioの代わりにPigpiodを使用することです。

#!/bin/sh -e
pigpiod
exit 0

ファイルとして

/etc/rc.local

残念ながら、pigpiodのAPIが異なるため、多くのコードを書き直す必要がありましたが、テストプログラムは動作しています。

おすすめ記事