É uma má ideia se não funcionar. Acho que sua preocupação com o profile.d
não ser executada, a menos que alguém faça login, é legítimo.
Coloque um script de inicialização em /etc/rc.d/init.d (acho que este é o diretório correto para o Red Hat; no Ubuntu é /etc/init.d) para iniciar seu daemon. Nesse script, você pode declarar / definir quaisquer variáveis necessárias e, ao iniciar o daemon binary, essas variáveis devem estar no escopo.
O link aqui explica esse processo e precisamente por que é superior ao método rc.local
.
O método rc.local
, mencionado em outra resposta, não funcionará porque as variáveis configuradas nesse script não são mais definidas quando a execução retorna ao Linux INIT. Isto é, conseqüentemente, antes que qualquer um faça o login, então é implicitamente antes do profile.d ser executado.