Usuário normal executa o programa Qt C++ como root sem sudo?

Usuário normal executa o programa Qt C++ como root sem sudo?

Estou escrevendo um programa de robótica em C++, usando Qt para a GUI, onde cada thread precisa de acesso ao hardware. A biblioteca que acessa o hardware se chama pigpio e modifica /dev/mem, portanto precisa de acesso root.

O problema é que o usuário não tem acesso root, além de estar fazendo interface com a GUI e não deveria se preocupar em inserir uma senha de qualquer maneira. Tentei setuid, mas o Qt não suporta, nem o GTK+. Como o usuário pode executar a GUI como root sem senha? O sistema é Ubuntu 18.04 no Raspberry Pi 3B+.

Responder1

Parece que a melhor solução será usar o pigpiod, em vez do pigpio, já que o daemon pode ser executado na inicialização adicionando

#!/bin/sh -e
pigpiod
exit 0

para o arquivo

/etc/rc.local

Infelizmente, a API é diferente para o pigpiod, então terei que reescrever grande parte do código, mas um programa de teste está funcionando.

informação relacionada