私は、各スレッドがハードウェアにアクセスする必要がある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が異なるため、多くのコードを書き直す必要がありましたが、テストプログラムは動作しています。