GTK requer X, sem X seu programa não pode exibir uma imagem.
se você quiser que ele seja executado no contexto do gerenciador de login, adicione-o ao ambiente de área de trabalho do gerenciador de login. (isto foi / var / lib / alguma coisa da última vez que eu olhei para o Ubuntu)
senão você pode substituir o gerenciador de login por um não interativo como 'nodm', que abrirá automaticamente a sessão e, em seguida, apenas adicionará seu aplicativo c ++ aos aplicativos de inicialização da sua sessão.
Não sei onde você adiciona aplicativos para iniciar automaticamente em openbox, mas ~/.xsession
sempre funciona.
crie um arquivo ~/.xsession
que faça yourapp&
e, em seguida, openbox-session
(consulte a página do manual para xinit
)