Por que o comando do visualizador do Alpine não funciona dentro da tela do GNU e como posso corrigi-lo?

0

O título praticamente diz tudo.

Quando eu executo o comando viewer em alpine de dentro da tela GNU, ele me diz "comando viewer completed", mas na verdade não exibe o Lynx (ou qualquer outro visualizador). Eu até tentei escrever meu próprio script que apenas escrevia os argumentos em um arquivo e sem dados. Eu tentei canalizar a mensagem para um arquivo, e eu recebo "Não é possível exec (script) nenhum tal arquivo ou diretório"

No entanto, se eu fechar o alpine, desanexar da tela e, em seguida, iniciar o alpine, posso usar o visualizador ou as mensagens do pipe muito bem.

Então, qual é o problema aqui e como posso corrigi-lo?

Atualização 1:

O valor de TERM depende do que eu faço login - do Eterm no meu laptop, TERM is Eterm fora da tela e screen dentro. Do Connect Bot é screen anexado ou não.

E aqui está o meu .screenrc

$ cat .screenrc 
defscrollback 10000
caption always "%?%F%{-b bc}%:%{-b bb}%?%C|%D|%M %d|%H%?%F%{+u wb}%? %L=%-Lw%45>%{+b by}%n%f*%t%{-}%+Lw%-0<"

shell bash

bind j focus down
bind k focus up
bind t focus top
bind b focus bottom

screen -t 'system'
screen -t 'alpine'
screen -t 'programming' 
screen -t 'suppliments' 
screen -t 'ssh'
screen -t 'webby'
screen -t 'ipython' ipython
screen -t 'mpg321'
screen -t 'irssi' 

Atualização 2: Alterar o valor do termo não corrigiu nada. Eu tentei tmux por um tempo, e isso realmente funcionou, mas eu tive alguns problemas com o dimensionamento adequado com base na tela que eu estava usando (qualquer que fosse a menor dimensão).

Então, agora estou usando um hack um pouco estranho - eu corro uma sessão do tmux dentro da minha sessão de tela e corro o alpine dentro dessa sessão do tmux. Visualizar URLs funciona perfeitamente bem agora, mas obviamente essa não é a situação ideal, e eu gostaria de receber correções melhores.

    
por Wayne Werner 09.02.2012 / 04:48

2 respostas

1

Parece que você está codificando seu shell no .screenrc to bash, esse também é seu shell de login? Tente comentar essa linha e tente.

Falhando nisso, compare o valor do seu $PATH de fora do tmux / screen, de dentro da tela, e de dentro do tmux? Se nada sair daí, compare a saída de env de todas as três configurações.

    
por 23.04.2012 / 23:47
1

Eu faço algo semelhante ao que o OP parece precisar. Eu tenho verificação alpina para ver se estou usando localmente ou remotamente via tela. Se for remoto, eu uso a tela para abrir um script que chama elinks e, se for local (ou seja, qualquer outra coisa), eu uso o firefox para abrir a URL.

No .pinerc:

url-viewers=_TEST("test '${TERM}' = screen-bce")_ "/usr/bin/screen screlinks _URL_", "/usr/bin/firefox _URL_"

O script que eu chamo de "screlinks" verifica se já existe um elinks em execução e, em caso afirmativo, usa a opção -remote para abrir uma nova guia.

running='elinks -remote ping()'
if $running
then # echo "elinks running"
  /usr/bin/elinks -remote $@
else # echo "elinks not running"
  /usr/bin/elinks $@
fi

O resultado final é que quando estou usando alpine na tela e abro uma URL, recebo um novo processo de tela que executa elinks. Posso mudar para lá usando o comando ^ A apropriado e fechá-lo quando eu terminar ou deixá-lo aberto e adicionar URLs extras como guias.

    
por 11.09.2012 / 23:09