Tela: “Não é possível executar / my / path / to / zsh” com shell local

2

Sempre que tento executar a tela em um shell Zsh que eu compilei em meu diretório pessoal, recebo o seguinte erro:

> screen
Cannot exec '/my/path/to/zsh/bin/zsh'

O shell Z é perfeitamente funcional, e verifiquei que posso executar a tela se invoco-o usando um shell do sistema (por exemplo, csh ). Eu normalmente entro em zsh com: exec zsh . Aqui estão algumas informações adicionais sobre o meu sistema:

> echo $SHELL
/my/path/to/zsh/bin/zsh

> echo $ZSH_VERSION
5.0.0

> which screen
/usr/bin/screen

> screen --version
Screen version 4.00.03 (FAU) 23-Oct

Meu .screenrc tem apenas duas linhas:

escape ^A^A
bind o other

Caso seja importante: /my/path/to/zsh/ refere-se figurativamente a um caminho no meu diretório pessoal.

Atualizar

  1. Saída da chamada file :

    > file /my/path/to/zsh/bin/zsh
    > /~/sw/zsh/bin/zsh: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for
    > GNU/Linux 2.6.9, dynamically linked (uses shared libs), 
    > for GNU/Linux 2.6.9, stripped
    
  2. Mas eu posso executar com êxito /my/path/to/zsh/bin/zsh e inserir zsh do meu csh shell. Eu costumo mudar para zsh com exec /my/path/to/zsh/bin/zsh

  3. Abaixo estão os detalhes de ls em /my/path/to/zsh/bin/zsh

    -rwxr-xr-x 2 YYYY ZZZZ 651K Jan 3 11:58 zsh*
    
  4. Mi .login está vazio (só tem comentários)

  5. Eu não tenho um arquivo .profile
  6. cat/etc/*-release :

    Scientific Linux SL release 5.1 (Boron)
    

Alguma opinião sobre o que pode estar causando isso e como fazer com que a tela funcione com minha instalação local de zsh ?

    
por Amelio Vazquez-Reina 21.02.2013 / 00:06

2 respostas

0

Isso é embaraçoso: o valor da minha variável $SHELL não estava correto (tinha um erro de digitação). Peço desculpas - vou me certificar de que eu triplique essas coisas antes de postar uma pergunta como esta e desperdiçar o tempo de todo mundo. Muito obrigado a todos pela vossa ajuda.

    
por 21.02.2013 / 23:18
3

Um possível motivo é que screen é privilegiado (em alguns sistemas, é setgid utmp , para poder registrar a propriedade do terminal no utmp arquivo), e que este binário zsh precisa de uma biblioteca que não esteja no caminho da biblioteca padrão. Chamar um programa setuid ou setgid apaga algumas variáveis de ambiente, em particular LD_LIBRARY_PATH .

Se você puder executar /my/path/to/zsh/bin/zsh de tela externa, mas não de dentro, e estiver definindo LD_LIBRARY_PATH no seu .profile , isso explicaria seus sintomas.

    
por 21.02.2013 / 02:40