¿Cuando dices
"arrancar desde init.d" a qué te refieres exactamente?
Hasta donde yo sé, ejecutar un comando vía
"sudo" requiere la contraseña de un usuario que esté en el grupo
"sudo". Además, si se quiere ejecutar en modo gráfico, no funcionará si se intenta de forma automática (porque claro, requiere introducir manualmente una contraseña), así mismo tampoco funcionará si no se ejecuta desde un entorno gráfico (métodos como
/etc/rc.local,
init.d,
cron... etc, no lo serían).
Insisto, hasta donde donde yo sé o pueda imaginarme. Porque también se me ocurre intentar algo con la variable
$DISPLAY, que igual suena la flauta, (me parecería un invento un poco guarro y propenso a errores).
Aporto esta otra idea más ortodoxa, a ver que tal va:
Ejecuta como root el siguiente comando:
Y añade al final lo siguiente, (obviamente cambia los valores de usuario y ruta):
Code: Select all
tu-usuario-no-root ALL=(ALL) NOPASSWD: /la/ruta/absoluta/hacia/tu/app/grafica
A partir de ahora deberías poder ejecutar esa aplicación con
"sudo /la/ruta/absoluta..." y no te pedirá contraseña. Ahora toca ejecutar ese comando al iniciar tu sesión gráfica. ¿Cómo? Ni idea, yo uso Raspian Lite, que no tiene entorno gráfico así que no puedo orientarte exactamente. Cada entorno gráfico (en el caso de Raspbian es LXDE) tendrá su forma particular, pero toqueteando por ahí debería aparecer algún método para hacerlo.
Por cierto, algo que nunca he probado:
xinitrc. Dale una ojeada, a ver si te puede ser útil.