В вашем случае необходимо создать пользователя (не root-a) От имени которого будет запускаться программа. И настроить процедуру автоматической регистрации пользователя в системе используя autologin.
Программу поставить пользователю в качестве сшела (ну или настроить ее автозапуск другим доступным способом). ----------- Далее выписка из инструкции по настройке.----------
Теперь, чтобы при включении компьютера выполнялся автоматический вход пользователя tuser . Создадим тип терминалла getty, добавив следующие строки в файл /etc/gettytab :
#
# autologin - automatically log in as trusted user
#
tuserlogin|tu.9600:\
:al=tuser:tc=std.9600:
ГДЕ tuser - имя пользователя, от именим которого будет запускаться программа.
Теперь отредактируем файл /etc/ttys, задав вход на нулевой (или нужной) консоли и отключим лишиние консоли для экономии памяти:
ttyv0 "/usr/libexec/getty tuserlogin" cons25r on secure
#ttyv0 "/usr/libexec/getty Pc " cons25r on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25r on secure
ttyv2 "/usr/libexec/getty Pc" cons25r off secure
ttyv3 "/usr/libexec/getty Pc" cons25r off secure
ttyv4 "/usr/libexec/getty Pc" cons25r off secure
ttyv5 "/usr/libexec/getty Pc" cons25r off secure
ttyv6 "/usr/libexec/getty Pc" cons25r off secure
ttyv7 "/usr/libexec/getty Pc" cons25r off secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure