Dotfile não está funcionando no shell atual, precisa de um novo

1

Para esclarecer, este não é um problema de screen , tenho certeza de que é um problema geral de shell.

Em um novo servidor Ubuntu 12.04, estou atualmente conectado a um terminal no qual desejo executar o comando screen com meu arquivo ~/.screenrc personalizado. Eu scp 'ed meu arquivo .rc para a máquina Ubuntu e corri screen , mas eu posso dizer que ele não leu meu arquivo .rc. Eu tentei várias coisas na sessão atual:

  1. Executar /bin/bash , em seguida, screen
  2. sh then screen
  3. source o arquivo e outros truques de variáveis de ambiente estranhos

O problema foi facilmente corrigido criando uma nova sessão ssh no servidor Ubuntu e rodando screen , mas estou curioso - como eu faço o arquivo .rc 'funcionar' no terminal original que eu estava usando antes de copiar o arquivo .rc?

    
por s g 21.04.2015 / 17:43

1 resposta

1

Não é um problema geral de shell. Um programa que você inicia (como screen ) lê seu arquivo .rc quando você o inicia - ele não tenta determinar se esse arquivo foi criado antes ou depois de você ter se logado. não tem uma maneira razoável de verificar um tempo de criação do arquivo .

Então não é isso que está acontecendo. Em vez disso, é algo sobre essa sessão de login. Pode ser (e isso, sem dúvida, não é uma lista exaustiva):

  • Você já tinha screen em execução e acabou anexando ou criando uma nova janela em seu screen existente.
  • Você foi su ou sudo para um usuário diferente (e, portanto, colocou o arquivo .rc no diretório pessoal errado).
  • O ambiente era estranho, por exemplo, $HOME foi definido como algo engraçado. Observe que, às vezes, su e sudo podem levar a isso, dependendo. (Para outros comandos - não acho que screen a use - também pode ser um $XDG_CONFIG_HOME estranho.)
  • As permissões estão erradas. (Embora provavelmente não, já que funcionou em outro login.)

Depois, há, claro, os vários "é ligado?" erros, por exemplo, uma das conexões foi para o servidor errado.

    
por 21.04.2015 / 18:15