Apenas para expandir o que Ansgar disse, caso você não esteja muito familiarizado com a tela gnu, ter várias "janelas" em uma única sessão de tela provavelmente realizará o que você precisa.
ctrl+ a, ccriará uma nova "janela" na sua sessão de tela ativa. Você pode alternar entre várias janelas (como Ansgar indicou) com ctrl+ a, npara a próxima janela e ctrl+ a, ppara a janela anterior.
ctrl+ a, "fornecerá uma lista de todas as suas janelas abertas.
O uso desses atalhos fáceis permitirá que você alterne entre diferentes terminais de maneira muito rápida e fácil, atingindo seu objetivo sem usar várias sessões de tela.
Se você adicionar a seguinte linha ao ~ / .screenrc, ela sempre exibirá as janelas abertas e qual está selecionada, para que você não precise manter o controle de qual janela está lembrando.
hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'
Esta é a linha de hardstatus que eu gosto de usar, mas é completamente personalizável (consulte a página de manual ou pesquise no google por "hardnatus da tela gnu").
Há várias outras coisas que você pode fazer com isso (nomear as diferentes janelas abertas, por exemplo), por isso vale a pena ler alguns tutoriais.
Aqui estão algumas que encontrei com uma pesquisa rápida:
http://news.softpedia.com/news/GNU-Screen-Tutorial-44274.shtml
http://www.ibm.com/developerworks/aix/library/au-gnu_screen/
E, claro, o mais útil de todos:
# From your terminal:
$ man screen
Espero que ajude.
Mateus
^a
para outra coisa, para que não seja ridiculamente irritante usar a edição de linhas no estilo emacs no bash, qualquer outra coisa. Eu uso^t
.O que os outros dizem está correto. Eu só quero mencionar que
tmux
é uma alternativa parascreen
. Eles têm comandos muito semelhantes.Ambos
screen
etmux
oferecem várias janelas para uma sessão de corrida, e isso é provavelmente o que você quer.tmux
Além disso, oferece salto entre várias sessões (cada uma com suas próprias janelas). Você precisaria disso muito raramente.Aqui estão alguns links para a documentação da tela e um curso intensivo sobre o tmux .
fonte
Depois de tanto tempo, criei um script para solucionar esse recurso completamente ausente. Antes de tudo, precisa de um fifo:
Esse canal nomeado é útil para a comunicação entre a sessão destacada e a sessão "Principal sem tela".
Arquivo sc (em $ PATH):
Um exemplo de um "CONFIGFILE" é: ~ / .screen / Monitorrc
O resultado é: quando você deseja iniciar o tipo de tela:
ou outro sessionrc que você gostaria de inventar, eu uso o Session Work para várias coisas
Por exemplo: ~ / .screen / Workrc
Agora estamos no Session Monitor, quando digitamos:
o monitor da sessão se desconecta e grava "Trabalho" no tubo nomeado. Consequentemente, o primeiro script sc avança e anexa a sessão "Trabalho".
O sc invocado da sessão Monitor close.
Quando desanexamos todas as sessões, estamos em um loop infinito; portanto, precisamos pressionar Ctrl-c para sair.
fonte
Você pode fazer isso com um simples shell script como
Vamos supor que você tenha poucas telas abertas. Vamos supor também que você os categorize como trabalho e dados.
Aplicando
screen -ls
, você deve ter telas como estaAgora vamos isolar as telas desanexadas usando
grep
.Você deve obter algo parecido com isto
Agora vamos selecionar os que você deseja (por exemplo, dados), novamente usando
grep
.Isso isolará apenas as telas de dados. Você pode alterar a palavra-chave grep com expressões regulares para pesquisar para personalizar sua pesquisa.
Felizmente, o resultado é bem estruturado e delimitado por tabulações. Agora vamos dividir as colunas em campos e escolher o segundo campo usando
cut
.Você precisará pressionar a tecla
ctrl+v
tab para inserir atab
após o parâmetro delimitador-d
. Os resultados devem ser assim.Agora coloque isso em um comando usando as
...
aspas e faça um loop sobre os resultados como este. Sempre verifique os comandos formulados primeiro antes de executá-lo. eu useiecho screen -r
Se tudo correr bem, tente sem
echo
.Voila. Cada tela da qual você se destaca leva você para a próxima.
Triagem feliz !!
fonte
Eu escrevi um script de nó para permitir ao usuário selecionar a sessão da tela para anexar a partir de uma lista, usando as teclas de seta. Eu fiz um pacote npm. Você pode conferir aqui: screen-command . Ou apenas
npm i -g screen-command
para experimentá-lo, supondo que você já tenha o node.js instalado. Após instalar o pacote, use o comandosc
para convocar a lista de telas.Espero que isso facilite a mudança para a tela exata desejada.
fonte