Talvez o seu $SHELL
não esteja definido ou definido como /bin/sh
? Ou você tem um shell
definido como /bin/sh
no seu arquivo .screenrc
?
Veja a documentação de screen
:
E lá:
% bl0ck_qu0te%Estou tentando invocar um programa para ser executado na inicialização em /etc/rc.local que executa dois comandos:
screen -dmS name
screen -S name -X stuff command
No entanto, o comando depende de variáveis ambientais estarem definidas. Eu configurei esses comandos EXPORT nos arquivos root .profile e root .pam_environment. Para referência, eles são:
export PATH=$PATH:/usr/local/cuda-7.0/bin
export LD_LIBRARY_PATH=:/usr/local/cuda-7.0/lib64
No entanto, a tela inicial não pode ver essas variáveis e erros com error while loading shared libraries: libcudart.so.7.0: cannot open shared object file: No such file or directory
- que é o que eu esperaria se essas variáveis não fossem definidas.
O problema é que não consigo descobrir porque eles não estão definidos. Meu melhor palpite é que, por algum motivo, a tela está usando /bin/sh
(que é o que informa se eu echo $0
, enquanto o shell padrão da raiz é /bin/bash
O mais estranho é que isso só acontece para uma tela instanciada como essa na inicialização. Se eu usar o mesmo comando para iniciar uma tela desanexada, tudo funciona corretamente (e usa / bin / bash) sem problemas com variáveis ambientais.
Alguma ideia do que está causando isso e como corrigir? Estou usando Ubuntu 14.04 LTS
.
Talvez o seu $SHELL
não esteja definido ou definido como /bin/sh
? Ou você tem um shell
definido como /bin/sh
no seu arquivo .screenrc
?
Veja a documentação de screen
:
E lá:
% bl0ck_qu0te%