Por que meu .screenrc apenas aciona a abertura de 2 telas?

1

Eu tenho o seguinte no meu arquivo .screenrc:

# Don't display the copyright page
startup_message off

# keep scrollback n line
defscrollback 5000

# setup some screens
screen -t top 0 top -o cpu -s 5
screen -t mysql 1 mysql -u root -p
screen -t shell_screen 2 cd ~/webroot
screen -t report_gen 3 tail -f ~/webroot/path/report_gen_log.txt

shelltitle "$ |bash"

#change the hardstatus settings to give an window list at the bottom of the
##screen, with the time and date and with the current window highlighted
hardstatus             alwayslastline
#hardstatus string '%{= mK}%-Lw%{= KW}%50>%n%f* %t%{= mK}%+Lw%< %{= kG}%-=%D %d %M %Y %c:%s%{-}'
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'

Quando eu inicio a tela, apenas as duas primeiras telas são criadas.

O que pode estar errado?

Eu sou o runnong OSX, mas não acho que isso importe.

    
por Darryl Hein 06.08.2009 / 19:29

2 respostas

8

Kyle está certo - a janela de tela 2 falhará porque o cd é um shell embutido. Mesmo se fosse um comando, terminaria imediatamente e a tela fecharia essa janela.

Você pode fazer algo assim para que isso funcione:

screen -t shell_screen 2 bash -c "cd ~/webroot && bash"

O comando tail (janela 3) falha devido ao caractere "~". Tela não faz expansão de estilo de shell, e assim cauda falha imediatamente (não pode abrir arquivo) e termina, e as janelas de tela são fechadas. Expanda manualmente ~ para o caminho completo para o seu diretório pessoal, e essa tela deve funcionar.

    
por 06.08.2009 / 20:00
3

Não tenho certeza porque a cauda falha, mas cd é um shell embutido, não um comando, então você deve pegar um comando no such na janela 2.

    
por 06.08.2009 / 19:47