Questão GNU / tela não definindo $ STY


Eu estou tentando script a desova de GNU / screen windows usando comandos do formulário screen <CMD>.

Por alguma razão, quando eu inicio o GNU / screen (manualmente), o shell que ele inicia na janela 0 (/bin/bash) não contém $STY variável de ambiente. Sem esses comandos como screen vim começar um aninhado sessão de tela, não outra janela como eu quero.

Meu ambiente é um pouco incomum. Aqui está como eu acabo nisso:

ssh robm@somehost
sudo su sharedaccount
script /dev/null
screen

o script /dev/null passo existe porque o dispositivo TTY alocado para o robm usuário não pode ser acessado pelo sharedaccount do utilizador. o script O comando aloca um novo TTY que pertence ao usuário que o invocou, resolvendo esse problema.

Se eu pular a sudo e script passos, GNU / screen sets $STY bem. Em outras palavras, isso funciona bem:

ssh robm@somehost
screen

Presumivelmente algo sobre sudo e script interfere com screen, mas estou perplexo quanto ao que.


1


origem




Respostas:


Gah, foi o sharedaccount A culpa do script init do SHELL. Estava chamando exec env -i ... para criar um novo shell sem a sujeira do ambiente do usuário original.

Desculpe se eu perdi o tempo de alguém.


2





Eu acho que você poderia pular a script /dev/null passo e corrija seu problema se você alterou sua chamada para su emitindo-o com um traço, como: sudo su - sharedaccount. Isso definiria todas as suas variáveis ​​de ambiente da maneira que elas seriam se você tivesse logado como sharedaccount.


0