Desde a atualização do sistema no meu Synology NAS (x86), Eu tenho alguns problemas com meus scripts de inicialização.
Os scripts Bash são armazenados em /usr/local/etc/rc.d
.
Os scripts foram executados com certeza,
porque eu tenho um servidor em execução no root e está começando sem problemas.
Mas meus outros executáveis de servidor não iniciam corretamente se eu os colocar no comando "su" para iniciá-lo com outro usuário.
Os comandos que são executados nos scripts são os seguintes:
su admin -c /volume1/homes/admin/subsonic/subsonic.sh
O script Bash está rodando sem nenhum problema, mas o script inicia o java com os comandos específicos e lá ele não consegue encontrar o caminho do java.
su admin -c "screen -dmS ncdc ncdc"
Nesta linha, o problema é que o sistema não consegue encontrar o caminho de screen
.
Se eu iniciá-lo sem su
para que ele seja executado como root, então funciona.
UPDATE
Se eu iniciar o comando com menos, também obtenho esse comportamento:
root@schreda-NAS:~ # su - admin -c "screen -dmS test test"
-bash: screen: command not found
O valor do caminho será definido por /etc/profile
. Eu não sobrescrito o caminho em ~/.bash_profile