Manuais para a linha de comandos

Man » Manual online do screen - documentação online detalhada para a página de manual do screen

🌍
screen - gerenciador de tela com emulação de terminal VT100/ANSI

SINTAXE

screen [ -opções ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]

DESCRIÇÃO

Screen é um gerenciador de janelas de tela cheia que multiplexa um terminal físico entre vários processos (tipicamente shells interativos). Cada terminal virtual fornece as funções de um terminal DEC VT100 e, além disso, várias funções de controle dos padrões ISO 6429 (ECMA 48, ANSI X3.64) e ISO 2022 (por exemplo, inserir/excluir linha e suporte para vários conjuntos de caracteres). Existe um buffer de histórico de rolagem para cada terminal virtual e um mecanismo de copiar e colar que permite mover regiões de texto entre as janelas.

Quando o screen é chamado, ele cria uma única janela com um shell nela (ou o comando especificado) e, em seguida, sai do seu caminho para que você possa usar o programa como faria normalmente. Em seguida, a qualquer momento, você pode criar novas janelas (de tela cheia) com outros programas nelas (incluindo mais shells), matar janelas existentes, visualizar uma lista de janelas, ativar e desativar o registro de saída, copiar e colar texto entre as janelas, visualizar o histórico de rolagem, alternar entre as janelas da maneira que desejar, etc. Todas as janelas executam seus programas completamente independentes umas das outras. Os programas continuam a ser executados quando sua janela não está atualmente visível e até mesmo quando toda a sessão do screen está desconectada do terminal do usuário. Quando um programa é encerrado, o screen (por padrão) mata a janela que o continha. Se esta janela estiver em primeiro plano, a exibição muda para a janela anterior; se não houver mais nenhuma, o screen é encerrado. Os shells geralmente distinguem entre execução como shell de login ou subshell. O screen os executa como subshells, a menos que seja instruído de outra forma (veja o comando .screenrc do shell).

Tudo o que você digita é enviado para o programa em execução na janela atual. A única exceção a isso é a única tecla que é usada para iniciar um comando para o gerenciador de janelas. Por padrão, cada comando começa com um control-a (abreviado como C-a a partir de agora) e é seguido por outra tecla. O caractere de comando e todas as associações de teclas podem ser totalmente personalizados para serem o que você quiser, embora sempre tenham dois caracteres de comprimento.

O screen não entende o prefixo C- como significando controle, embora esta notação seja usada neste manual para facilitar a leitura. Use a notação de acento circunflexo (^A em vez de C-a) como argumentos para, por exemplo, o comando escape ou a opção -e. O screen também imprimirá caracteres de controle na notação de acento circunflexo.


A maneira padrão de criar uma nova janela é digitar C-a c. Isso cria uma nova janela executando um shell e alterna para essa janela imediatamente, independentemente do estado do processo em execução na janela atual. Da mesma forma, você pode criar uma nova janela com um comando personalizado, primeiro vinculando o comando a uma tecla (no seu arquivo .screenrc ou na linha de comando C-a :) e, em seguida, usando-o como o comando C-a c. Além disso, novas janelas podem ser criadas executando um comando como:

screen emacs prog.c

a partir de um prompt de shell dentro de uma janela previamente criada. Isso não executará outra cópia do screen, mas fornecerá o nome do comando e seus argumentos para o gerenciador de janelas (especificado na variável de ambiente $STY), que o usará para criar a nova janela. O exemplo acima iniciaria o editor emacs (editando prog.c) e alternaria para sua janela. - Observe que você não pode transportar variáveis de ambiente do shell que invoca para o aplicativo (emacs, neste caso), porque ele é bifurcado do processo pai do screen, e não do shell que invoca.

Se /run/utmp for gravável pelo screen, um registro apropriado será gravado neste arquivo para cada janela e removido quando a janela for encerrada. Isso é útil para trabalhar com talk, script, shutdown, rsend, sccs e outros programas semelhantes que usam o arquivo utmp para determinar quem você é. Enquanto o screen estiver ativo em seu terminal, o registro do próprio terminal será removido do arquivo utmp. Veja também C-a L.

COMEÇANDO

Antes de começar a usar o screen, você precisa garantir que selecionou corretamente o tipo de terminal, assim como faria para qualquer outro programa termcap/terminfo. (Você pode fazer isso usando o comando test, por exemplo.)

Se você for impaciente e quiser começar sem ler muito mais, deve lembrar este comando: C-a ?. Digitar esses dois caracteres exibirá uma lista dos comandos e vinculações disponíveis do screen. Cada tecla é discutida na seção VINCULAÇÕES DE TECLAS PADRÃO. A seção CUSTOMIZAÇÃO aborda o conteúdo do seu arquivo .screenrc.

Se o seu terminal for um terminal de margem automática verdadeira (ele não permite que a última posição na tela seja atualizada sem rolar a tela), considere usar uma versão do termcap do seu terminal que tenha as margens automáticas desativadas. Isso garantirá uma atualização precisa e ideal da tela em todas as circunstâncias. A maioria dos terminais hoje em dia tem margens mágicas (margens automáticas mais a última coluna utilizável). Este é o tipo de estilo VT100 e é perfeitamente adequado para o screen. Se tudo o que você tem é um terminal de margem automática verdadeira, o screen se contentará em usá-lo, mas atualizar um caractere inserido na última posição na tela pode não ser possível até que a tela role ou o caractere seja movido para uma posição segura de outra forma. Este atraso pode ser encurtado usando um terminal com capacidade de inserção de caracteres.


OPÇÕES DA LINHA DE COMANDO

O Screen possui as seguintes opções de linha de comando:

-a   inclui todas as funcionalidades em cada janela, mesmo que o Screen precise redesenhar partes da tela para implementar uma função.

-A   Adapta o tamanho de todas as janelas ao tamanho do terminal atual. Por padrão, o Screen tenta restaurar os tamanhos de janela antigos ao se conectar a terminais redimensionáveis (aqueles com WS em sua descrição, por exemplo, suncmd ou alguns xterm).

-c arquivo
substitui o arquivo de configuração padrão de $HOME/.screenrc por arquivo.

-d|-D [pid.tty.host]
não inicia o Screen, mas desconecta a sessão do Screen que está sendo executada em outro lugar. Tem o mesmo efeito de digitar C-a d no terminal de controle do Screen. -D é equivalente à tecla de desconexão forçada. Se nenhuma sessão puder ser desconectada, esta opção é ignorada. Em combinação com a opção -r/-R, efeitos mais poderosos podem ser alcançados:

-d -r   Reconecta a uma sessão e, se necessário, a desconecta primeiro.

-d -R   Reconecta a uma sessão e, se necessário, a desconecta ou até mesmo a cria primeiro.

-d -RR  Reconecta a uma sessão e, se necessário, a desconecta ou a cria. Usa a primeira sessão se houver mais de uma sessão disponível.

-D -r   Reconecta a uma sessão. Se necessário, desconecta e faz logout remotamente primeiro.

-D -R   Conecta aqui e agora. Em detalhes, isso significa: Se uma sessão estiver em execução, reconecta-se. Se necessário, desconecta e faz logout remotamente primeiro. Se não estivesse em execução, cria-a e notifica o usuário. Esta é a opção favorita do autor.

-D -RR  Conecta aqui e agora. Seja o que for que isso signifique, apenas faça.

Observação: sempre é uma boa ideia verificar o status de suas sessões usando o comando screen -list.

-e xy
especifica o comando de caractere a ser x e o caractere que gera um caractere de comando literal y (quando digitado após o caractere de comando). O padrão é C-a e `a', que podem ser especificados como -e^Aa. Ao criar uma sessão do Screen, esta opção define o caractere de comando padrão. Em uma sessão multitarefa, todos os usuários adicionados começarão com este caractere de comando. Mas ao se conectar a uma sessão já em execução, esta opção altera apenas o caractere de comando do usuário que está se conectando. Esta opção é equivalente aos comandos defescape ou escape, respectivamente.

-f, -fn e -fa
ativa, desativa ou define o controle de fluxo no modo de comutação automática. Isso também pode ser definido por meio do comando defflow .screenrc.

-h num
Especifica o buffer de rolagem do histórico para ter num linhas de altura.

-i
faz com que a tecla de interrupção (geralmente C-c) interrompa a exibição imediatamente quando o controle de fluxo estiver ativado. Consulte o comando defflow .screenrc para obter detalhes. O uso desta opção não é recomendado.

-l e -ln
ativa ou desativa o modo de login (para atualização de /run/utmp). Isso também pode ser definido por meio do comando deflogin .screenrc.

-ls [correspondência]
-list [correspondência]
não inicia a sessão, mas imprime uma lista de strings pid.tty.host e carimbos de data/hora de criação,
identificando suas sessões screen. As sessões marcadas como `desanexadas` podem ser retomadas com screen -r.
As marcadas como `anexadas` estão em execução e têm um terminal de controle. Se a sessão for executada em
modo multiusuário, ela é marcada como `multi`. As sessões marcadas como `inacessíveis` estão em um host diferente ou são `mortas`. Uma sessão inacessível é considerada morta quando seu nome corresponde
ao nome do host local ou ao parâmetro especificado, se houver. Consulte a flag -r para
uma descrição de como construir correspondências. As sessões marcadas como `mortas` devem ser verificadas cuidadosamente e removidas. Consulte seu administrador de sistema se não tiver certeza. Remova as sessões
com a opção -wipe.

-L informa ao screen para ativar o registro automático de saída para as janelas.

-Logfile arquivo
Por padrão, o nome do arquivo de log é screenlog.0. Você pode definir um novo nome de arquivo de log com a opção -Logfile.

-m faz com que o screen ignore a variável de ambiente $STY. Com screen -m, a criação de uma nova sessão é forçada, independentemente de o screen ser chamado de dentro de outra sessão screen ou não. Esta flag tem um significado especial em conexão com a opção `-d`:

-d -m Inicia o screen no modo desanexado. Isso cria uma nova sessão, mas não a anexa.
Isso é útil para scripts de inicialização do sistema.

-D -m Isso também inicia o screen no modo desanexado, mas não cria um novo processo. O comando é encerrado se a sessão for encerrada.

-O seleciona um modo de saída ideal para seu terminal em vez de uma emulação VT100 real (afeta apenas terminais automáticos que não usam `LP`). Isso também pode ser definido em seu .screenrc especificando `OP` em um comando termcap.

-p número_ou_nome|-|=|+
Pré-seleciona uma janela. Isso é útil quando você deseja reconectar a uma janela específica ou
você deseja enviar um comando por meio da opção -X para uma janela específica. Como no comando select do screen, - seleciona a janela em branco. Como um caso especial para reconexão, = abre a lista de janelas
na janela em branco, enquanto um + cria uma nova janela. O comando não será executado se
a janela especificada não puder ser encontrada.

-q Suprime a impressão de mensagens de erro. Em combinação com -ls, o valor de saída é o seguinte: 9
indica um diretório sem sessões. 10 indica um diretório com sessões em execução, mas não anexáveis. 11 (ou mais) indica 1 (ou mais) sessões utilizáveis. Em combinação com
-r, o valor de saída é o seguinte: 10 indica que não há sessão para retomar. 12 (ou
mais) indica que existem 2 (ou mais) sessões para retomar e você deve especificar qual
deles escolher. Em todos os outros casos, -q não tem efeito.

-Q Alguns comandos agora podem ser consultados de uma sessão remota usando esta flag, por exemplo, screen -Q windows. Os comandos enviarão a resposta para a saída padrão do processo de consulta. Se houver um erro no comando, o processo de consulta será encerrado com um status diferente de zero.

Os comandos que podem ser consultados agora são: echo info lastmsg number select time title windows

-r [pid.tty.host]
-r sessionowner/[pid.tty.host]
retoma uma sessão do screen que foi desanexada. Nenhuma outra opção (exceto combinações com -d/-D) pode
ser especificada, embora um prefixo opcional de [pid.]tty.host possa ser necessário para distinguir
entre múltiplas sessões do screen desanexadas. A segunda forma é usada para conectar a uma sessão
do screen de outro usuário que é executada no modo multiusuário. Isso indica que o screen deve
procurar sessões no diretório de outro usuário. Isso requer setuid-root.

-R   retoma o screen apenas quando é inequívoco qual sessão anexar, geralmente quando apenas uma sessão
está desanexada. Caso contrário, lista as sessões disponíveis. -RR tenta retomar a sessão do screen
mais recente (em termos de tempo de criação) que encontrar. Se for bem-sucedido, todas as outras opções
da linha de comando são ignoradas. Se nenhuma sessão desanexada existir, inicia uma nova sessão usando
as opções especificadas, como se -R não tivesse sido especificado. A opção é definida por padrão se
o screen for executado como um shell de login (na verdade, o screen usa -xRR nesse caso). Para
combinações com a opção -d/-D, consulte a documentação. A seleção de sessão baseada em tempo é uma
adição do Debian.

-s program
define o shell padrão para o programa especificado, em vez do valor na variável de ambiente $SHELL
(ou /bin/sh se não estiver definida). Isso também pode ser definido por meio do comando .screenrc
do shell. Veja também lá.

-S sessionname
Ao criar uma nova sessão, esta opção pode ser usada para especificar um nome significativo para a
sessão. Este nome identifica a sessão para as ações screen -list e screen -r. Ele substitui o sufixo
padrão [tty.host]. Este nome não deve ter mais de 80 símbolos.

-t name
define o título (também conhecido como) para o shell padrão ou programa especificado. Veja também
o comando shelltitle .screenrc.

-T term
Define a variável de ambiente $TERM usando o termo especificado, em vez da configuração padrão do
screen.

-U   Executa o screen no modo UTF-8. Esta opção diz ao screen que seu terminal envia e entende
caracteres codificados em UTF-8. Também define a codificação padrão para novas janelas como `utf8'.

-v   Imprime o número da versão.

-wipe [match]
faz o mesmo que screen -ls, mas remove as sessões destruídas em vez de marcá-las como `mortas'.
Uma sessão inacessível é considerada morta quando seu nome corresponde ao nome do host local ou ao
parâmetro fornecido explicitamente, se houver. Consulte a flag -r para obter uma descrição de como
construir correspondências.

-x   Anexa a uma sessão do screen que não está desanexada. (Modo de exibição múltipla). O screen
recusa-se a anexar a partir de dentro dele mesmo. Mas, ao encadear vários screens, os loops não são
detectados; tenha cuidado.

-X Envie o comando especificado para uma sessão de screen em execução. Você pode usar a opção -S para especificar a sessão de screen se tiver várias sessões de screen em execução. Você pode usar as opções -d ou -r para dizer ao screen para procurar apenas sessões de screen anexadas ou destacadas. Observe que este comando não funciona se a sessão for protegida por senha.

-4 Resolve nomes de host apenas para endereços IPv4.

-6 Resolve nomes de host apenas para endereços IPv6.

BINDINGS DE TECLAS PADRÃO

Como mencionado, cada comando de screen consiste em um C-a seguido por outro caractere. Para sua conveniência, todos os comandos que são vinculados a letras minúsculas também são vinculados a seus equivalentes de caractere de controle (com a exceção de C-a a; veja abaixo), portanto, C-a c, assim como C-a C-c, podem ser usados para criar uma janela. Veja a seção PERSONALIZAÇÃO para uma descrição do comando.

A tabela a seguir mostra os bindings de teclas padrão. As vírgulas finais em caixas com várias entradas de pressionamento de tecla são separadores, e não fazem parte dos bindings.

C-a ' (select) Solicita um nome ou número de janela para alternar.

C-a " (windowlist -b) Apresenta uma lista de todas as janelas para seleção.

C-a dígito (select 0-9) Alterna para a janela número 0-9.

C-a - (select -) Alterna para a janela número 0-9 ou para a janela em branco.

C-a tab (focus) Alterna o foco de entrada para a próxima região. Veja também split, remove, only.

C-a C-a (other) Alterna para a janela que estava sendo exibida anteriormente. Observe que este binding tem como padrão o caractere de comando digitado duas vezes, a menos que seja substituído. Por exemplo, se você usar a opção -e]x, este comando se torna ]].

C-a a (meta) Envia o caractere de comando (C-a) para a janela. Veja o comando escape.

C-a A (title) Permite que o usuário insira um nome para a janela atual.

C-a b, (break) Envia uma interrupção para a janela.
C-a C-b

C-a B (pow_break) Reabre a linha do terminal e envia uma interrupção.

C-a c, (screen) Cria uma nova janela com um shell e alterna para essa janela.
C-a C-c

C-a C (clear) Limpa a tela.

C-a d, (detach) Desanexa o screen deste terminal.
C-a C-d

C-a D D (pow_detach) Desanexa e faz logout.

C-a f, (flow) Alterna o fluxo para ligado, desligado ou automático.
C-a C-f

C-a F (fit) Redimensiona a janela para o tamanho da região atual.

C-a C-g (vbell) Alterna o modo de sino visual do screen.

C-a h (hardcopy) Escreve uma cópia da janela atual no arquivo hardcopy.n.

C-a H (log) Inicia/encerra o registro da janela atual no arquivo screenlog.n.

C-a i,             (info)            Mostra informações sobre a janela atual.
C-a C-i

C-a k,             (kill)            Destrói a janela atual.
C-a C-k

C-a l,             (redisplay)       Atualiza completamente a janela atual.
C-a C-l

C-a L              (login)           Alterna o slot de login desta janela. Disponível apenas se a tela estiver configurada para atualizar o banco de dados utmp.

C-a m,             (lastmsg)         Repete a última mensagem exibida na linha de mensagem.
C-a C-m

C-a M              (monitor)         Alterna o monitoramento da janela atual.

C-a space,         (next)            Alterna para a próxima janela.
C-a n,
C-a C-n

C-a N              (number)          Mostra o número (e o título) da janela atual.

C-a backspace,     (prev)            Alterna para a janela anterior (oposto de C-a n).
C-a C-h,
C-a p,
C-a C-p

C-a q,             (xon)             Envia um control-q para a janela atual.
C-a C-q

C-a Q              (only)            Exclui todas as regiões, exceto a atual. Veja também split, remove, focus.

C-a r,             (wrap)            Alterna a configuração de quebra de linha da janela atual (liga e desliga as margens automáticas da janela atual).
C-a C-r

C-a s,             (xoff)            Envia um control-s para a janela atual.
C-a C-s

C-a S              (split)           Divide a região atual horizontalmente em duas novas regiões. Veja também only, remove, focus.

C-a t,             (time)            Mostra informações do sistema.
C-a C-t

C-a v              (version)         Exibe a versão e a data de compilação.

C-a C-v            (digraph)         Insere um dígrafo.
C-a w,             (windows)         Mostra uma lista de janelas.
C-a C-w

C-a W              (width)           Alterna entre 80/132 colunas.

C-a x ou C-a C-x   (lockscreen)      Bloqueia este terminal.

C-a X              (remove)          Remove a região atual. Veja também split, only, focus.

C-a z,             (suspend)         Suspende a tela. Seu sistema deve suportar controle de trabalho no estilo BSD.
C-a C-z

C-a Z              (reset)           Redefine o terminal virtual para seus valores de inicialização.

C-a .              (dumptermcap)     Gera um arquivo .termcap.

C-a ?              (help)            Mostra os atalhos de teclado.

C-a \              (quit)            Mata todas as janelas e encerra a tela.

C-a :              (colon)           Entra no modo de linha de comando.

C-a [,             (copy)            Entra no modo de cópia/rolagem.
C-a C-[,
C-a esc

C-a C-],           (paste .)         Escreve o conteúdo do buffer de colagem na fila stdin da janela atual.
C-a ]

C-a {,             (history)         Copia e cola uma linha de comando anterior.
C-a }

C-a >              (writebuf)        Escreve o conteúdo do buffer de cópia em um arquivo.

C-a <              (readbuf)         Lê o arquivo de troca de tela para o buffer de cópia.

C-a =              (removebuf)       Remove o arquivo usado por C-a < e C-a \>.

C-a ,              (license)         Mostra de onde o screen veio, para onde foi e por que você pode usá-lo.

C-a _              (silence)         Inicia/interrompe o monitoramento da janela atual para detectar inatividade.

C-a |              (split -v)        Divide a região atual verticalmente em duas novas regiões.

C-a *              (displays)        Mostra uma lista de todas as telas atualmente conectadas.

PERSONALIZAÇÃO

O diretório de socket padrão é $HOME/.screen ou simplesmente /tmp/screens ou, preferencialmente, /run/screen, escolhido no momento da compilação. Se o screen for instalado como setuid-root, o administrador deve compilar o screen com um diretório de socket adequado (não montado em NFS). Se o screen não estiver rodando como setuid-root, o usuário pode especificar qualquer diretório com permissão 700 na variável de ambiente $SCREENDIR.

Quando o screen é invocado, ele executa comandos de inicialização dos arquivos /etc/screenrc e dos padrões que podem ser substituídos das seguintes maneiras: para o arquivo global screenrc, o screen procura a variável de ambiente $SYSSCREENRC (este recurso de substituição pode ser desabilitado no momento da compilação). O arquivo screenrc específico do usuário é procurado em $SCREENRC, depois em $HOME/.screenrc. A opção de linha de comando -c tem precedência sobre os arquivos screenrc do usuário acima.

Os comandos nesses arquivos são usados para definir opções, associar funções a teclas e estabelecer automaticamente uma ou mais janelas no início da sua sessão do screen. Os comandos são listados um por linha, com linhas em branco sendo ignoradas. Os argumentos de um comando são separados por tabulações ou espaços e podem ser cercados por aspas simples ou duplas. Um `#' transforma o restante da linha em um comentário, exceto entre aspas. Linhas ilegíveis são avisadas e ignoradas. Os comandos podem conter referências a variáveis de ambiente. A sintaxe é a semelhante ao shell "$VAR " ou "${VAR}". Observe que isso causa incompatibilidade com versões anteriores do screen, pois agora o caractere '$' deve ser protegido com '\' se nenhuma substituição de variável for realizada. Uma string entre aspas simples também é protegida contra a substituição de variáveis.

Dois arquivos de configuração são enviados como exemplos com sua distribuição do screen: etc/screenrc e etc/etcscreenrc. Eles contêm vários exemplos úteis para vários comandos.

A personalização também pode ser feita 'online'. Para entrar no modo de comando, digite C-a :. Observe que os comandos que começam com def alteram os valores padrão, enquanto os outros alteram as configurações atuais.

Os seguintes comandos estão disponíveis:

acladd usernames [crypted-pw]

addacl usernames

Permite que os usuários acessem totalmente esta sessão do screen. Os nomes de usuário podem ser um único usuário ou uma lista separada por vírgulas de usuários. Este comando permite anexar à sessão do screen e executa o equivalente a aclchg usernames +rwx "#?". Para adicionar um usuário com acesso restrito, use o comando aclchg abaixo. Se um segundo parâmetro opcional for fornecido, ele deve ser uma senha criptografada para o(s) usuário(s) nomeado(s). Addacl é sinônimo de acladd. Apenas modo multiusuário.


aclchg usernames permbits list

chacl usernames permbits list

Altera as permissões para uma lista separada por vírgulas de usuários. As permissões são representadas como r, w e x. Prefixar com + concede a permissão, a remove. O terceiro parâmetro é uma lista separada por vírgulas de comandos e/ou janelas (especificadas por número ou título). A lista especial # refere-se a todas as janelas, ? a todos os comandos. Se usernames consistir em um único *, todos os usuários conhecidos serão afetados.

Um comando pode ser executado quando o usuário tiver o bit `x` para ele. O usuário pode digitar em uma
janela quando tiver o bit `w` definido e nenhum outro usuário obtiver um bloqueio de gravação para essa janela. Outros
bits são atualmente ignorados. Para remover o bloqueio de gravação de outro usuário na janela 2: `aclchg
username -w+w 2`. Para permitir acesso somente leitura à sessão: `aclchg username -w "#"`. Assim que
o nome de um usuário for conhecido pelo screen, ele poderá se conectar à sessão e (por padrão) terá permissões completas para todos os comandos e janelas. A permissão de execução para os comandos `acl`, `at` e outros também deve ser removida, caso contrário, o usuário poderá recuperar a permissão de gravação. Os direitos do usuário especial `nobody` não podem ser alterados (veja o comando `su`). `Chacl` é um sinônimo de `aclchg`. Apenas modo multiusuário.

acldel username

Remove um usuário da lista de controle de acesso do screen. Se estiver conectado atualmente, todas as telas do usuário serão desconectadas da sessão. Ele não poderá se conectar novamente. Apenas modo multiusuário.

aclgrp username [groupname]

Cria grupos de usuários que compartilham direitos de acesso comuns. O nome do grupo é o nome do usuário do líder do grupo. Cada membro do grupo herda as permissões que são concedidas ao líder do grupo. Isso significa que, se um usuário falhar em uma verificação de acesso, outra verificação será feita para o líder do grupo. Um usuário é removido de todos os grupos usando o valor especial none para groupname. Se o segundo parâmetro for omitido, todas as permissões das quais o usuário faz parte serão listadas.

aclumask [[ users ] +bits | [ users ] -bits... ]

umask [[ users ] +bits | [ users ] -bits... ]

Isso especifica o acesso que outros usuários terão às janelas que serão criadas pelo chamador do comando. Os usuários podem ser nenhum, um ou uma lista separada por vírgulas de nomes de usuário conhecidos. Se nenhum usuário for especificado, uma lista de todos os usuários atualmente conhecidos será assumida. Bits é qualquer combinação de bits de controle de acesso permitidos definidos com o comando aclchg. O usuário especial ? predefine o acesso que os usuários ainda não conhecidos receberão inicialmente a qualquer janela. O usuário especial ?? predefine o acesso que os usuários ainda não conhecidos receberão inicialmente a qualquer comando. Os direitos do usuário especial nobody não podem ser alterados (veja o comando su). Umask é um sinônimo de aclumask.


atividade mensagem

Quando qualquer atividade ocorre em uma janela em segundo plano que está sendo monitorada, a tela exibe uma notificação na linha de mensagem. A mensagem de notificação pode ser redefinida por meio do comando atividade. Cada ocorrência de %' em mensagem é substituída pelo número da janela em que a atividade ocorreu, e cada ocorrência de^G' é substituída pela definição para sino em seu termcap (geralmente um sino audível). A mensagem padrão é

'Atividade na janela %n'

Observe que o monitoramento está desativado para todas as janelas por padrão, mas pode ser alterado usando o comando monitor (C-a M).

allpartial [ on | off ]

Se definido como on, apenas a linha atual do cursor é atualizada na alteração da janela. Isso afeta todas as janelas e é útil para linhas de terminal lentas. A configuração anterior de atualização total/parcial para cada janela é restaurada com allpartial off. Esta é uma flag global que entra em vigor imediatamente em todas as janelas, substituindo as configurações parciais. Não altera o comportamento de atualização padrão de janelas recém-criadas.

altscreen [ on | off ]

Se definido como on, o suporte a "tela alternada" é habilitado em terminais virtuais, assim como no xterm. A configuração inicial é `off'.

at [identificador][#|*|%] comando [args ... ]

Executa um comando em outros displays ou janelas como se ele tivesse sido inserido lá. At altera o contexto (a "janela atual" ou a "configuração de display atual") do comando. Se o primeiro parâmetro descreve um contexto não exclusivo, o comando será executado várias vezes. Se o primeiro parâmetro estiver no formato `identificador*`, então identificador é comparado com nomes de usuário. O comando é executado uma vez para cada display dos usuários selecionados. Se o primeiro parâmetro estiver no formato `identificador%`, identificador é comparado com displays. Os displays são nomeados após os ttys aos quais estão anexados. O prefixo `/dev/' ou `/dev/tty' pode ser omitido do identificador. Se identificador tiver um `#` ou nada anexado, ele é comparado com números e títulos de janela. Omitir um identificador na frente do caractere `#', `*' ou `%'-caractere seleciona todos os usuários, displays ou janelas porque uma correspondência de prefixo é realizada. Observe que, nos displays afetados, uma breve mensagem descreverá o que aconteceu. A permissão é verificada para o iniciador do comando at, não para os proprietários dos displays afetados. Observe que o caractere `#` funciona como um introdutor de comentário quando é precedido por um espaço. Isso pode ser escapado prefixando com uma barra invertida. A permissão é verificada para o iniciador do comando at, não para os proprietários dos displays afetados.

Aviso: Ao comparar com janelas, o comando é executado pelo menos uma vez por janela. Comandos que alteram o arranjo interno de janelas (como other) podem ser chamados novamente. Em janelas compartilhadas, o comando será repetido para cada display anexado. Cuidado ao emitir comandos de alternância, como login! Alguns comandos (por exemplo, process) exigem que um display esteja associado às janelas de destino. Esses comandos podem não funcionar corretamente ao fazer um loop sobre janelas com at.

attrcolor attrib [attribute/color-modifier]

Este comando pode ser usado para destacar atributos alterando a cor do texto. Se o atributo attrib estiver em uso, o modificador de atributo/cor especificado também será aplicado. Se nenhum modificador for fornecido, o modificador atual será excluído. Consulte o capítulo STRING ESCAPES para a sintaxe do modificador. O Screen reconhece dois pseudo-atributos: i representa a cor de primeiro plano de alta intensidade e I representa a cor de fundo de alta intensidade.

Exemplos:

attrcolor b "R"

Altera a cor para vermelho brilhante se o texto em negrito for impresso.

attrcolor u "-u b"

Use texto azul em vez de sublinhado.

attrcolor b ".I"

Use cores brilhantes para texto em negrito. A maioria dos emuladores de terminal já faz isso.

attrcolor i "+b"

Torne o texto colorido brilhante também em negrito.

autodetach [ on | off ]

Define se o Screen se desconectará automaticamente após um sinal de desligamento, o que salva todos os seus programas em execução até que eles sejam retomados com o comando screen -r. Quando desativado, um sinal de desligamento terminará o Screen e todos os processos que ele contém. O autodetect é ativado por padrão.

autonuke [ on | off ]

Define se uma sequência de limpeza de tela deve eliminar toda a saída que não foi escrita no terminal. Consulte também obuflimit.

backtick id lifespan autorefresh cmd args...

backtick id

Programa o comando backtick com o ID numérico id. A saída de tal comando é usada para substituição da sequência de escape %. O parâmetro lifespan especifica o número de segundos em que a saída é considerada válida. Após esse tempo, o comando é executado novamente se uma sequência de escape correspondente for encontrada. O parâmetro autorefresh aciona uma atualização automática para strings caption e hardstatus após o número de segundos especificado. Apenas a última linha da saída é usada para substituição.

Se ambos os parâmetros lifespan e autorefresh forem zero, espera-se que o programa backtick permaneça em segundo plano e gere saída ocasionalmente. Neste caso, o comando é executado imediatamente e o Screen armazena a última linha da saída. Se uma nova linha for impressa, o Screen atualizará automaticamente o hardstatus ou os captions.

A segunda forma do comando exclui o comando backtick com o ID numérico id.

bce [ on | off ]

Altera a configuração background-color-erase. Se bce estiver definido como on, todos os caracteres apagados por uma operação de apagar/inserir/rolar/limpar serão exibidos na cor de fundo atual. Caso contrário, a cor de fundo padrão é usada.

bell_msg [message]

Quando um caractere de sino é enviado para uma janela em segundo plano, o Screen exibe uma notificação na linha de mensagem. A mensagem de notificação pode ser redefinida por este comando. Cada ocorrência de \%emmessageé substituída pelo número da janela para a qual um sino foi enviado, e cada ocorrência de^Gé substituída pela definição do sino em seutermcap` (geralmente um sino audível). A mensagem padrão é:


'Sinal sonoro na janela %n'

Uma mensagem vazia pode ser fornecida ao comando bell_msg para suprimir a saída de uma linha de mensagem (bell_msg ""). Sem parâmetro, a mensagem atual é exibida.

bind [classe] tecla [comando [argumentos]]

Associa um comando a uma tecla. Por padrão, a maioria dos comandos fornecidos pelo screen são associados a uma ou mais teclas, conforme indicado na seção BINDINGS DE TECLAS PADRÃO, por exemplo, o comando para criar uma nova janela é associado a C-c e c. O comando bind pode ser usado para redefinir as associações de teclas e para definir novas associações. O argumento tecla é uma única letra, uma sequência de duas letras do formulário ^x (significando C-x), uma barra invertida seguida por um número octal (especificando o código ASCII do caractere) ou uma barra invertida seguida por um segundo caractere, como \^ ou \. O argumento também pode ser colocado entre aspas, se desejar. Se nenhum argumento adicional for fornecido, qualquer associação previamente estabelecida para esta tecla será removida. O argumento comando pode ser qualquer comando listado nesta seção.

Se uma classe de comando for especificada por meio da opção -c, a tecla será associada à classe especificada. Use o comando command para ativar uma classe. As classes de comando podem ser usadas para criar várias teclas de comando ou associações de vários caracteres.

Alguns exemplos:

bind ' ' windows
bind ^k
bind k
bind K kill
bind ^f screen telnet foobar
bind \033 screen -ln -t root -h 1000 9 su

iria associar a tecla de espaço ao comando que exibe uma lista de janelas (de modo que o comando normalmente invocado por C-a C-w também esteja disponível como C-a espaço). As três linhas seguintes removem a associação de eliminação padrão de C-a C-k e C-a k. C-a K é então associado ao comando `kill`. Em seguida, associa C-f ao comando para criar uma janela com uma conexão TELNET para foobar e associa escape ao comando que cria uma janela não-login, também conhecida como root, no slot #9, com um shell de superusuário e um buffer de rolagem de 1000 linhas.

bind -c demo1 0 select 10
bind -c demo1 1 select 11
bind -c demo1 2 select 12
bindkey "^B" command -c demo1

faz com que C-b 0 selecione a janela 10, C-b 1 a janela 11, etc.

bind -c demo2 0 select 10
bind -c demo2 1 select 11
bind -c demo2 2 select 12
bind - command -c demo2

faz com que C-a - 0 selecione a janela 10, C-a - 1 a janela 11, etc.

bindkey [-d] [-m] [-a] [[-k|-t] string [cmd-args]]

Este comando gerencia as tabelas de tradução de entrada do screen. Cada entrada em uma das tabelas informa ao screen como reagir se uma determinada sequência de caracteres for encontrada. Existem três tabelas: uma que deve conter ações programadas pelo usuário, uma para as ações padrão usadas para emulação de terminal e uma para o modo de cópia do screen para realizar o movimento do cursor. Consulte a seção TRADUÇÃO DE ENTRADA para obter uma lista de associações de teclas padrão.

Se a opção -d for fornecida, bindkey modifica a tabela padrão, -m altera a tabela do modo de cópia e, se nenhuma das opções for usada, a tabela do usuário é selecionada. A string de argumento é a sequência de caracteres à qual uma ação é associada. Isso pode ser uma string fixa ou um nome de capacidade de terminal (selecionável com a opção -k).

Algumas teclas em um terminal VT100 podem enviar uma string diferente se o modo de aplicação estiver ativado (por exemplo, as teclas de cursor). Essas teclas têm duas entradas na tabela de tradução. Você pode selecionar a entrada do modo de aplicação especificando a opção -a.

A opção -t diz ao screen para não fazer temporização entre caracteres. Não é possível desativar a temporização se uma capacidade de terminal for usada.

^ md pode ser qualquer um dos comandos do screen com um número arbitrário de argumentos. Se cmd for omitido, a associação de teclas é removida da tabela.

Aqui estão alguns exemplos de associações de teclas:

bindkey -d

Mostra todas as associações de teclas padrão. As entradas do modo de aplicação são marcadas com [A].

bindkey -k k1 select 1

Faz com que a tecla "F1" alterne para a janela um.

bindkey -t foo stuff barfoo

Faz com que "foo" seja um atalho para a palavra "barfoo". O tempo limite é desativado para que os usuários possam digitar lentamente.

bindkey "\024" mapdefault

Esta associação de teclas faz com que ^T seja um caractere de escape para associações de teclas. Se você fez a associação "stuff barfoo" acima, você pode inserir a palavra foo digitando ^Tfoo. Se você quiser inserir um ^T, terá que pressionar a tecla duas vezes (ou seja, escapar do caractere de escape).

bindkey -k F1 command

Faz com que a tecla F11 (não F1!) seja um escape de tela alternativo (além de ^A).

break [duração]

Envia um sinal de interrupção por duração * 0,25 segundos para esta janela. Para sistemas não POSIX, o intervalo de tempo pode ser arredondado para segundos inteiros. Mais útil se um dispositivo de caractere estiver conectado à janela em vez de um processo de shell (veja também o capítulo TIPOS DE JANELA). A duração máxima de um sinal de interrupção é limitada a 15 segundos.

blanker

Ativa o protetor de tela. Primeiro, a tela é limpa. Se nenhum programa de protetor de tela for definido, o cursor é desligado; caso contrário, o programa é iniciado e sua saída é gravada na tela. O protetor de tela é encerrado com a primeira tecla pressionada, a tecla lida é descartada.

Este comando normalmente é usado em conjunto com o comando idle.

blankerprg [argumentos-do-programa]

Define um programa de protetor de tela. Desativa o programa de protetor de tela se um argumento vazio for fornecido. Mostra o programa de protetor de tela atualmente definido se nenhum argumento for fornecido.

breaktype [tcsendbreak|TIOCSBRK|TCSBRK]

Escolha um dos métodos disponíveis para gerar um sinal de interrupção para dispositivos de terminal. Este comando deve afetar apenas a janela atual. Mas ainda se comporta de forma idêntica a defbreaktype. Isso será alterado no futuro. Chamar breaktype sem nenhum parâmetro exibe o método de interrupção para a janela atual.


bufferfile [arquivo-de-troca]

Altera o nome do arquivo usado para ler e gravar com o buffer de colagem. Se o argumento opcional para o comando bufferfile for omitido, a configuração padrão (/tmp/screen-exchange) será reativada. O exemplo a seguir copiará o arquivo de senhas do sistema para a janela do screen (usando o buffer de colagem, onde uma cópia permanece):

C-a : bufferfile /etc/passwd
C-a < C-a ]
C-a : bufferfile

bumpleft

Troca a janela com a anterior na lista de janelas.

bumpright

Troca a janela com a seguinte na lista de janelas.

c1 [ on | off ]

Altera o processamento do código c1. C1 on diz ao screen para tratar os caracteres de entrada entre 128 e 159 como funções de controle. Esse código de 8 bits normalmente é o mesmo que ESC seguido pelo código de 7 bits correspondente. A configuração padrão é processar os códigos c1 e pode ser alterada com o comando defc1. Os usuários com fontes que têm caracteres utilizáveis nas posições c1 podem querer desativá-lo.

caption [ top | bottom ] always|splitonly[string]

caption string [string]

Este comando controla a exibição dos títulos das janelas. Normalmente, um título é usado apenas se mais de uma janela for exibida na tela (modo de tela dividida). Mas, se o tipo for definido como always, o screen exibirá um título mesmo que apenas uma janela seja exibida. O padrão é splitonly.

A segunda forma altera o texto usado para o título. Você pode usar todas as sequências de escape do capítulo STRING ESCAPES. O screen usa um padrão de `%3n %t'.

Você pode misturar as duas formas fornecendo uma string como um argumento adicional.

Você pode ter o título exibido na parte superior ou inferior da janela. O padrão é inferior.

charset set

Altera a designação do slot do conjunto de caracteres atual e o mapeamento de caracteres. Os quatro primeiros caracteres de set são tratados como designadores de conjunto de caracteres, enquanto o quinto e o sexto caractere devem estar no intervalo de '0' a '3' e definem o mapeamento de conjunto de caracteres GL/GR. Em cada posição, um '.' pode ser usado para indicar que o conjunto de caracteres/mapeamento correspondente não deve ser alterado (set é preenchido internamente com seis caracteres, anexando caracteres '.'). As novas janelas têm "BBBB02" como conjunto de caracteres padrão, a menos que um comando de codificação esteja ativo. A configuração atual pode ser visualizada com o comando info.

chdir [diretório]

Altera o diretório atual do screen para o diretório especificado ou, se chamado sem um argumento, para o seu diretório pessoal (o valor da variável de ambiente $HOME). Todas as janelas que são criadas por meio do comando screen dentro do arquivo .screenrc ou por meio de C-a : screen ... ou C-a c usam este como seu diretório padrão. Sem um comando chdir, este seria o diretório de onde o screen foi invocado. Os arquivos de cópia e log são sempre gravados no diretório padrão da janela, e não no diretório atual do processo em execução na janela. Você pode usar este comando várias vezes em seu arquivo .screenrc para iniciar várias janelas em diretórios padrão diferentes, mas o último valor de chdir afetará todas as janelas que você criar interativamente.


cjkwidth [ on | off ]

Trata caracteres de largura ambígua como largura total/metade.

clear

Limpa a janela atual e salva sua imagem no buffer de rolagem.

collapse

Reordena as janelas na lista, removendo lacunas numéricas entre elas.

colon [prefix]

Permite que você insira linhas de comando do .screenrc. Útil para modificação dinâmica de associações de teclas, criação específica de janelas e alteração de configurações. Observe que a palavra-chave `set` não existe mais! Geralmente, os comandos afetam a janela atual, em vez das configurações padrão para janelas futuras. Altere os padrões com comandos que começam com `def...`.

Se você considerar isso como o "modo de comando Ex" do screen, pode considerar C-a esc (modo de cópia) como seu "modo de comando Vi".

command [ -c class"]"

Este comando tem o mesmo efeito que digitar o caractere de escape do screen (^A). Provavelmente, é útil apenas para associações de teclas. Se a opção -c for fornecida, selecione a classe de comando especificada. Veja também `bind` e `bindkey`.

compacthist [ on | off ]

Isso diz ao screen se deve suprimir linhas em branco no final ao rolar o texto para o buffer de histórico.

console [ on | off ]

Captura ou libera a saída do console da máquina para uma janela. Observe: apenas o proprietário de /dev/console pode capturar a saída do console. Este comando só está disponível se a máquina suportar o ioctl TIOCCONS.

copy

Entra no modo de cópia/rolagem. Isso permite que você copie o texto da janela atual e seu histórico para o buffer de colagem. Neste modo, um "editor de tela inteira" semelhante ao Vi está ativo:
As teclas de movimento do editor são:

h, C-h,        move o cursor para a esquerda.
seta para a esquerda

j, C-n,        move o cursor para baixo.
seta para baixo

k, C-p,        move o cursor para cima.
seta para cima

l ('el'),      move o cursor para a direita.
seta para a direita

0(zero) C-a   move para a coluna mais à esquerda.

+ e -        posiciona uma linha para cima e para baixo.

H, M e L     move o cursor para a coluna mais à esquerda da linha superior, central ou inferior da janela.

|              move para a coluna absoluta especificada.

g ou home      move para o início do buffer.

G ou end       move para a linha absoluta especificada (padrão: final do buffer).

%              vai para a porcentagem especificada do buffer.

^ ou $         move para a coluna mais à esquerda, para o primeiro ou último caractere não em branco da linha.

w, b e e    move o cursor palavra por palavra.

B, E           move o cursor PALAVRA por PALAVRA (como no vi).

f/F, t/T       move o cursor para frente/para trás para a próxima ocorrência do alvo. (por exemplo, '3fy' moverá o cursor para o 3º 'y' à direita.)

; e ,        Repete o último comando f/F/t/T na mesma/direção oposta.

C-e e C-y    rola a tela para cima/para baixo em uma linha, preservando a posição do cursor.

C-u e C-d    rola a tela para cima/para baixo pela quantidade de linhas especificada, preservando a posição do cursor. (Padrão: metade da tela-tela inteira).

C-b e C-f rolam a tela para cima/baixo em uma tela inteira.

Observação: as teclas de movimento no estilo Emacs podem ser personalizadas por um comando .screenrc. (Por exemplo, markkeys
"h=^B:l=^F:$=^E") Não existe um método simples para um mapa de teclas completo no estilo Emacs, pois isso envolve
códigos de vários caracteres.

Algumas teclas estão definidas para executar operações de marcação e substituição.

O intervalo de cópia é especificado definindo duas marcas. O texto entre essas marcas será destacado. Pressione:

espaço ou enter para definir a primeira ou a segunda marca, respectivamente. Se mousetrack estiver definido como `on`,
as marcas também podem ser definidas usando o clique esquerdo do mouse.

Y e y são usados para marcar uma linha inteira ou para marcar a partir do início da linha.

W marca exatamente uma palavra.

Qualquer um desses comandos pode ser prefixado com um número de repetição pressionando dígitos

.9, que é interpretado como um número de repetição.

Exemplo: C-a C-[ H 10 j 5 Y copiará as linhas 11 a 15 para o buffer de colagem.

As seguintes teclas de pesquisa estão definidas:

/ Pesquisa no estilo Vi para frente.

? Pesquisa no estilo Vi para trás.

C-a s Pesquisa incremental no estilo Emacs para frente.

C-r Pesquisa reversa no estilo Emacs.

n Encontra o próximo padrão de pesquisa.

N Encontra o padrão de pesquisa anterior.

No entanto, existem algumas teclas que atuam de forma diferente do que no vi. O Vi não permite que você copie blocos retangulares de texto, mas o screen permite. Pressione: c ou C para definir a margem esquerda ou direita, respectivamente. Se nenhum número de repetição for fornecido, ambas as margens terão como padrão a posição atual do cursor.

Exemplo: Tente isto em uma tela de texto razoavelmente cheia:

C-a [ M 20 l ESPAÇO c 10 l 5 j ESPAÇO.

Isso move você para a linha do meio da tela, move 20 colunas para a esquerda, marca o início do buffer de colagem, define a coluna esquerda, move 5 colunas para baixo, define a coluna direita e, em seguida, marca o final do buffer de colagem. Agora, tente:

C-a [ M 20 l ESPAÇO 10 l 5 j ESPAÇO

e observe a diferença na quantidade de texto copiado.

J une as linhas. Ele alterna entre 4 modos: linhas separadas por um caractere de nova linha (012), linhas
coladas de forma contínua, linhas separadas por um único espaço em branco e linhas separadas por vírgula. Observe que
você pode prefixar o caractere de nova linha com um caractere de retorno de carro, emitindo um crlf on.

v ou V é para todos os usuários do vi com :set numbers - ele alterna a margem esquerda entre a coluna 9
e 1. Pressione

a antes da tecla de espaço final para alternar para o modo de anexar. Assim, o conteúdo do buffer de colagem não será sobrescrito, mas será anexado.

A alterna para o modo de anexar e define uma (segunda) marca.

> define a (segunda) marca e grava o conteúdo do buffer de colagem na tela de troca (
/tmp/screen-exchange por padrão) quando o modo de cópia é finalizado.

Este exemplo demonstra como despejar todo o buffer de rolagem para esse arquivo: C-A [ g ESPAÇO G $ >.

C-g fornece informações sobre a linha e a coluna atuais.

x ou o troca a primeira marca e a posição atual do cursor. Você pode usar isso para ajustar uma
marca já colocada.

C-l ('el') redesenhará a tela.

@ não faz nada. Nem mesmo sai do modo de cópia.

Todas as teclas não descritas aqui saem do modo de cópia.

copy_reg [key]

Não existe mais, use readreg.

crlf [ on | off ]

Isso afeta a cópia de regiões de texto com o comando C-a ['. Se estiver definido comoon, as linhas serão separadas pela sequência de dois caracteresCR-LF. Caso contrário (padrão), apenasLF` é usado. Quando nenhum parâmetro é fornecido, o estado é alternado.

debug [ on | off ]

Ativa ou desativa a depuração em tempo de execução. Se o screen foi compilado com a opção -DDEBUG, a depuração está disponível e é ativada por padrão. Observe que este comando só afeta a saída de depuração do processo SCREEN principal. A saída de depuração dos processos de acoplamento só pode ser desativada uma vez e para sempre.

defc1 [ on | off ]

O mesmo que o comando c1, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é on.

defautonuke [ on | off ]

O mesmo que o comando autonuke, exceto que a configuração padrão para novos displays é alterada. Inicial mente está definido como off. Observe que você pode usar a capacidade de terminal especial AN se quiser ter uma dependência do tipo de terminal.

defbce [ on | off ]

O mesmo que o comando bce, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é off.

defbreaktype [tcsendbreak|TIOCSBRK|TCSBRK]

Escolha um dos métodos disponíveis para gerar um sinal de interrupção para dispositivos de terminal. Os métodos preferidos são tcsendbreak e TIOCSBRK. O terceiro, TCSBRK, bloqueia a sessão screen completa durante a interrupção, mas pode ser a única maneira de gerar interrupções longas. Tcsendbreak e TIOCSBRK podem ou não produzir interrupções longas com picos (por exemplo, 4 por segundo). Isso não só depende do sistema, mas também difere entre os drivers de placa serial. Chamar defbreaktype sem nenhum parâmetro exibe a configuração atual.

defcharset [set]

Semelhante ao comando charset, exceto que a configuração padrão para novas janelas é alterada. Mostra a configuração padrão atual se chamado sem argumento.

defdynamictitle [ on | off ]

Define o comportamento padrão para novas janelas em relação a se o screen deve alterar o título da janela quando vir uma sequência de escape apropriada. Veja também a seção "TÍTULOS (nomeando janelas)".

defescape xy

Define o comando padrão de caracteres. Isso é equivalente ao comando escape, exceto que é útil apenas em sessões multiusuário. Em uma sessão multiusuário, escape altera o caractere de comando do usuário que chama, enquanto defescape altera os caracteres de comando padrão para usuários que serão adicionados posteriormente.

defflow [ on | off | auto [ interrupt ]]

O mesmo que o comando flow, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é auto. Especificar defflow auto interrupt é o mesmo que as opções de linha de comando -fa e -i.

defgr [ on | off ]

O mesmo que o comando gr, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é off.

defhstatus [status]

A linha hardstatus que todas as novas janelas receberão é definida como status. Este comando é útil para fazer com que a linha hardstatus de cada janela exiba o número da janela ou título, etc. Status pode conter os mesmos diretivos das mensagens de janela, mas o diretivo de caractere de escape é '^E' (octal 005) em vez de '%'. Isso foi feito para tornar uma interpretação incorreta de linhas hardstatus geradas por programas impossível. Se o parâmetro status for omitido, a cadeia padrão atual será exibida. Por padrão, a linha hardstatus de novas janelas está vazia.


defencoding enc

Semelhante ao comando encoding, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é a codificação obtida do terminal.

deflog [ on | off ]

Semelhante ao comando log, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é off.

deflogin [ on | off ]

Semelhante ao comando login, exceto que a configuração padrão para novas janelas é alterada. Isso é inicializado com on quando distribuído (veja config.h.in).

defmode mode

O modo de cada novo pseudo-terminal alocado é definido como mode. Mode é um número octal. Quando nenhum comando defmode é fornecido, o modo 0622 é usado.

defmonitor [ on | off]

Semelhante ao comando monitor, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é off.

defmousetrack [ on | off ]

Semelhante ao comando mousetrack, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é off.

defnonblock [ on | off | numsecs]

Semelhante ao comando nonblock, exceto que a configuração padrão para as telas é alterada. A configuração inicial é off.

defobuflimit limit

Semelhante ao comando obuflimit, exceto que a configuração padrão para novas telas é alterada. A configuração inicial é 256 bytes. Observe que você pode usar a capacidade de terminal especial 'OL' se quiser ter uma dependência do tipo de terminal.

defscrollback num

Semelhante ao comando scrollback, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é 100.

defshell command

Sinônimo do comando .screenrc shell. Veja lá.

defsilence [ on | off ]

Semelhante ao comando silence, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é off.

defslowpaste msec

Semelhante ao comando slowpaste, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é 0 milissegundos, o que significa off.

defutf8 [ on | off ]

Semelhante ao comando utf8, exceto que a configuração padrão para novas janelas é alterada. A configuração inicial é on se o screen foi iniciado com -U, caso contrário, off.

defwrap [ on | off ]

Semelhante ao comando wrap, exceto que a configuração padrão para novas janelas é alterada. Inicialmente, o quebra de linha está ativado e pode ser alternado com o comando wrap (C-a r) ou por meio de "C-a : wrap on|off".

defwritelock [ on | off | auto ]

Semelhante ao comando writelock, exceto que a configuração padrão para novas janelas é alterada. Inicialmente, os bloqueios de gravação estarão desativados.

detach [-h]

Desanexar a sessão do screen (desconectá-la do terminal e colocá-la em segundo plano). Isso retorna você ao shell onde você invocou o screen. Uma sessão do screen desanexada pode ser retomada invocando o screen com a opção -r (veja também a seção OPÇÕES DA LINHA DE COMANDO). A opção -h diz ao screen para fechar imediatamente a conexão com o terminal (desconectar).


dinfo

Mostra o que o screen "pensa" sobre o seu terminal. Útil se você quiser saber por que recursos como cor ou o conjunto de caracteres alternativo não funcionam.

displays

Mostra uma listagem tabular de todos os front-ends de usuário (displays) atualmente conectados. Isso é mais útil para sessões multiusuário. As seguintes teclas podem ser usadas na lista de displays:

k, C-p, ou seta para cima   Move uma linha para cima.

j, C-n, ou seta para baixo  Move uma linha para baixo.

C-a ou home Move para a primeira linha.

C-e ou end  Move para a última linha.

C-u ou C-d  Move meia página para cima ou para baixo.

C-b ou C-f  Move uma página inteira para cima ou para baixo.

mouseclick  Move para a linha selecionada. Disponível quando mousetrack está definido como on.

space   Atualiza a lista

d   Desconecta aquele display

D   Desconecta aquele display (forçadamente)

C-g, enter, ou escape   Sai da lista

O seguinte é um exemplo do que displays pode parecer: xterm 80x42 jnweiger@/dev/ttyp4 0(m11) &rWx facit 80x24 mlschroe@/dev/ttyhf nb 11(tcsh) rwx xterm 80x42 jnhollma@/dev/ttyp5 0(m11) &R.x (A) (B) (C) (D) (E) (F)(G) (H)(I)

A legenda é a seguinte:

(A) O tipo de terminal conhecido pelo screen para este display.

(B) Geometria do display como largura x altura.

(C) Nome de usuário que está conectado ao display.

(D) Nome do dispositivo do display ou do dispositivo anexado.

(E) O display está em modo de bloqueio ou não bloqueio. Os modos disponíveis são "nb", "NB", "Z<", "Z>" e "BL".

(F) Número da janela

(G) Nome/título da janela

(H) Se a janela é compartilhada

(I) Permissões da janela. Composto por três caracteres.

┌─────────────────────────────────────────────────────────┐
│       Indicadores de permissão da janela      │
├──────────────────┬──────────────────┬───────────────────┤
│  1º caractere   │  2º caractere   │   3º caractere   │
├─────┬────────────┼─────┬────────────┼─────┬─────────────┤
│ -   │sem leitura  │ -   │sem escrita  │ -   │sem execução │
├─────┼────────────┼─────┼────────────┼─────┼─────────────┤
│ r   │leitura      │ w   │escrita     │ x   │execução     │
├─────┼────────────┼─────┼────────────┼─────┼─────────────┤
│     │            │ W   │possui wlock │     │             │
├─────┴────────────┴─────┴────────────┴─────┴─────────────┤
│ Indicadores de permissões suprimidas por um wlock externo │
├─────┬────────────┬─────┬────────────┬─────┬─────────────┤
│ R   │somente leitura │ .   │sem escrita  │     │             │
└─────┴────────────┴─────┴────────────┴─────┴─────────────┘

exibe que uma região precisa ter pelo menos 10 caracteres de largura e 5 caracteres de altura para ser exibida.

digraph [preset[unicode-value]]

Este comando solicita ao usuário uma sequência de dígrafo. Os dois caracteres seguintes digitados são procurados em uma tabela interna e o caractere resultante é inserido no fluxo de entrada. Por exemplo, se o usuário digitar 'a"', um a-umlaut será inserido. Se o primeiro caractere inserido for 0 (zero), o screen tratará os caracteres seguintes (até três) como um número octal. O argumento opcional preset é tratado como entrada do usuário, permitindo que o usuário crie uma tecla para umlaut. Por exemplo, o comando "bindkey ^K digraph '"'" permite que o usuário gere um a-umlaut digitando CTRL-K a. Quando um unicode-value diferente de zero é especificado, um novo dígrafo é criado com o preset especificado. O dígrafo é removido se um valor zero for fornecido para o unicode-value.

dumptermcap

Escreve a entrada termcap para o terminal virtual otimizado para a janela atualmente ativa no arquivo .termcap no diretório $HOME/.screen do usuário (ou onde quer que o screen armazene seus sockets. Consulte a seção FILES abaixo). Esta entrada termcap é idêntica ao valor da variável de ambiente $TERMCAP que é definida pelo screen para cada janela. Para sistemas baseados em terminfo, você precisará executar um conversor como captoinfo e, em seguida, compilar a entrada com tic.

dynamictitle [ on | off ]

Altera o comportamento das janelas em relação a se o screen deve alterar o título da janela quando detectar a sequência de escape apropriada. Consulte também a seção "TÍTULOS (nomeando janelas)".

echo [-n] message

O comando echo pode ser usado para incomodar os usuários do screen com uma 'mensagem do dia'. Normalmente instalado em um /etc/screenrc global. A opção -n pode ser usada para suprimir o caractere de nova linha. Consulte também sleep. Echo também é útil para verificar online as variáveis de ambiente.

encoding enc [enc]

Informa ao screen como interpretar a entrada/saída. O primeiro argumento define a codificação da janela atual. Cada janela pode emular uma codificação diferente. O segundo parâmetro opcional substitui a codificação do terminal conectado. Isso nunca deve ser necessário, pois o screen usa a configuração de locale para detectar a codificação. Também existe uma maneira de selecionar uma codificação de terminal dependendo do tipo de terminal usando a entrada termcap KJ.


As codificações suportadas são eucJP, SJIS, eucKR, eucCN, Big5, GBK, KOI8-R, KOI8-U, CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6, ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-15, jis.

Veja também defencoding, que altera a configuração padrão de uma nova janela.

escape xy

Define o caractere de comando como x e o caractere que gera um caractere de comando literal (ao acionar o comando meta) como y (semelhante à opção -e). Cada argumento é um único caractere, uma sequência de dois caracteres do formato ^x (significando C-x), uma barra invertida seguida por um número octal (especificando o código ASCII do caractere) ou uma barra invertida seguida por um segundo caractere, como \^ ou \\. O padrão é ^Aa.

eval command1[command2 ...]

Analisa e executa cada argumento como comandos separados.

exec [[fdpat]newcommand [args ...]]

Executa um subprocesso Unix (especificado por um caminho de executável newcommand e seus argumentos opcionais) na janela atual. O fluxo de dados entre stdin/stdout/stderr de newcommand, o processo originalmente iniciado na janela (vamos chamá-lo de "processo-aplicativo") e o próprio screen (janela) é controlado pelo padrão de descritor de arquivo fdpat. Este padrão é basicamente uma sequência de três caracteres que representa stdin, stdout e stderr de newcommand. Um ponto (.) conecta o descritor de arquivo ao screen. Um ponto de exclamação (!) faz com que o descritor de arquivo seja conectado ao processo-aplicativo. Dois pontos (:) combinam ambos. A entrada do usuário será enviada para newcommand, a menos que newcommand receba a saída do processo-aplicativo (o primeiro caractere de fdpats é `!' ou `:') ou um símbolo de barra vertical (|) seja adicionado (como um quarto caractere) ao final de fdpat.

Invocar `exec' sem argumentos exibe o nome e os argumentos do subprocesso atualmente em execução nesta janela. Apenas um subprocesso por vez pode estar em execução em cada janela.

Quando um subprocesso está em execução, o comando `kill` afetará o subprocesso em vez do processo da janela.

Consulte o arquivo PostScript `doc/fdpat.ps` para uma ilustração confusa de todas as 21 combinações possíveis. Cada desenho mostra os dígitos 2, 1, 0 representando os três descritores de arquivo de newcommand. A caixa marcada com `W` é o pty usual que tem o processo-aplicativo em seu lado escravo. A caixa marcada com `P` é o pty secundário que agora tem o screen em seu lado mestre.

Abreviações: Espaços entre a palavra `exec` e fdpat e o comando podem ser omitidos. Pontos finais e um fdpat consistindo apenas de pontos podem ser omitidos. Um simples `|` é sinônimo do padrão `!..|`; a palavra exec pode ser omitida aqui e sempre pode ser substituída por `!`.

Exemplos:

exec ... /bin/sh

exec /bin/sh

!/bin/sh

Cria outra shell na mesma janela, enquanto a shell original ainda está em execução. A saída de ambas as shells é exibida e a entrada do usuário é enviada para a nova /bin/sh.

exec !.. stty 19200

exec ! stty 19200

!!stty 19200

Define a velocidade do tty da janela. Se o seu comando stty operar na saída padrão, adicione outro `!'.

exec !..| less

|less

Adiciona um paginador à saída da janela. O caractere especial `|\' é necessário para dar ao usuário o controle sobre o paginador, embora ele receba sua entrada do processo da janela. Isso funciona porque o less escuta na saída de erro (um comportamento que o screen não esperaria sem o |) quando sua entrada padrão não é um tty. Versões do less mais recentes que 177 falham miseravelmente aqui; o bom e velho pg ainda funciona.

!:sed -n s/.*Error.*/\007/p

Envia a saída da janela tanto para o usuário quanto para o comando sed. O sed insere um caractere de sino adicional (octal 007) na saída da janela vista pelo screen. Isso causará mensagens "Sino na janela x" sempre que a string "Error" aparecer na janela.

fit

Altera o tamanho da janela para o tamanho da região atual. Este comando é necessário porque o screen não adapta automaticamente o tamanho da janela se a janela for exibida mais de uma vez.

flow [ on | off | auto]

Define o modo de controle de fluxo para esta janela. Sem parâmetros, ele alterna a configuração de controle de fluxo da janela atual de "automático" para "ligado" para "desligado". Consulte a discussão sobre CONTROLE DE FLUXO mais adiante neste documento para obter detalhes completos e observe que isso pode mudar em versões futuras. O padrão é definido por `defflow'.

focus [ next | prev | up | down | left | right | top | bottom ]

Move o foco de entrada para a próxima região. Isso é feito de forma cíclica para que a região superior esquerda seja selecionada após a região inferior direita. Se nenhuma opção for fornecida, o padrão é `next'. A próxima região a ser selecionada é determinada por como as regiões são organizadas em camadas. Normalmente, a próxima região na mesma camada seria selecionada. No entanto, se essa próxima região contiver uma ou mais camadas, a primeira região na camada superior será selecionada primeiro. Se você estiver na última região da camada atual, `next' moverá o foco para a próxima região na camada inferior (se houver uma camada inferior). `Prev' alterna na ordem oposta. Consulte split para obter mais informações sobre camadas.

O restante das opções (`up', `down', `left', `right', `top' e `bottom') são mais indiferentes às camadas. A opção `up' moverá o foco para cima até a região que estiver tocando o canto superior esquerdo da região atual. `Down' moverá para baixo até a região que estiver tocando o canto inferior esquerdo da região atual. A opção `left' moverá o foco para a esquerda até a região que estiver tocando o canto superior esquerdo da região atual, enquanto `right' moverá para a direita até a região que estiver tocando o canto superior direito da região atual. Mover para a esquerda de uma região mais à esquerda ou mover para a direita de uma região mais à direita não terá efeito.


A opção top moverá o foco para a primeira região no canto superior esquerdo da tela, e bottom moverá para a região no canto inferior direito da tela. Mover para cima a partir de uma região mais ao norte ou mover para baixo a partir de uma região mais ao sul não terá efeito.

Atalhos úteis são (h, j, k e l, como no vi) bind h focus left bind j focus down bind k focus up bind l focus right bind t focus top bind b focus bottom Observe que k é tradicionalmente associado ao comando "kill".

focusminsize [ ( width|max|_ ) ( height|max|_ ) ]

Isso força qualquer região atualmente selecionada a ser redimensionada automaticamente para uma largura e altura mínimas. Todas as outras regiões adjacentes serão redimensionadas para acomodar. Essa restrição é aplicada sempre que o comando "focus" é usado. O comando de redimensionamento pode ser usado para aumentar qualquer dimensão de uma região, mas nunca abaixo do que foi definido com "focusminsize". O sublinhado _ é sinônimo de "max". Definir uma largura e altura de 0 0 (zero zero) desfará quaisquer restrições e permitirá o redimensionamento manual. Sem parâmetros, a largura e altura mínimas são exibidas.

gr [ on | off ]

Ativa ou desativa a troca de conjuntos de caracteres GR. Sempre que o screen detectar um caractere de entrada com o 8º bit definido, ele usará o conjunto de caracteres armazenado no slot GR e imprimirá o caractere com o 8º bit removido. O padrão (veja também defgr) é não processar a troca GR, caso contrário, o conjunto de caracteres ISO88591 não funcionaria.

group [grouptitle]

Altera ou exibe o grupo ao qual a janela atual pertence. As janelas podem ser movidas entre diferentes grupos especificando o nome do grupo de destino. Sem especificar um grupo, o título do grupo atual é exibido.

hardcopy [-h] [file]

Grava a imagem atualmente exibida no arquivo especificado ou, se nenhum nome de arquivo for especificado, em hardcopy.n no diretório padrão, onde n é o número da janela atual. Isso adiciona ou sobrescreve o arquivo, se ele existir. Veja abaixo. Se a opção -h for especificada, também despeja o conteúdo do buffer de rolagem.

hardcopy_append [ on | off ]

Se definido como "on", o screen adicionará aos arquivos "hardcopy.n" criados pelo comando C-a h; caso contrário, esses arquivos serão sobrescritos a cada vez. O padrão é "off".

hardcopydir directory

Define um diretório onde os arquivos hardcopy serão colocados. Se não for definido, os hardcopys serão despejados no diretório de trabalho atual do screen.

hardstatus [ on | off ]

hardstatus [ always ] firstline | lastline | message | ignore [ string ]

hardstatus string [ string ]

Este comando configura o uso e a emulação da linha de status do terminal. A primeira forma ativa ou desativa o uso da linha de status de hardware para exibir mensagens. Se a flag for definida como off, essas mensagens serão sobrepostas em modo de vídeo inverso na linha de exibição. A configuração padrão é on.


A segunda forma diz ao screen o que fazer se o terminal não tiver uma linha de status (ou seja, as capacidades termcap/terminfo "hs", "ts", "fs" e "ds" não estiverem definidas). Quando firstline/lastline é usado, o screen reserva a primeira/última linha da tela para o status. message usa o mecanismo de mensagens do screen e ignore diz ao screen para nunca exibir o status. Se você prefixar a palavra always ao tipo (por exemplo, alwayslastline), o screen usará o tipo mesmo que o terminal suporte um status.

A terceira forma especifica o conteúdo da linha de status. %h é usado como string padrão, ou seja, o status atual da janela (que pode ser definido via ESC]0;<string>^G ou ESC_<string>ESC\) é exibido. Você pode personalizá-lo para qualquer string, incluindo as sequências de escape do capítulo STRING ESCAPES. Se você omitir o argumento string, a string atual será exibida.

Você pode combinar a segunda e a terceira formas fornecendo a string como argumento adicional.

height [-w|-d] [lines [cols]]

Define a altura da tela para um número especificado de linhas. Quando nenhum argumento é fornecido, ele alterna entre 24 e 42 linhas. Você também pode especificar uma largura se quiser alterar ambos os valores. A opção -w diz ao screen para deixar o tamanho da tela inalterado e apenas definir o tamanho da janela, -d o contrário.

help[class]

Não é realmente uma ajuda online, mas exibe uma tela de ajuda mostrando todos os atalhos de teclado. As primeiras páginas listam todos os comandos internos, seguidos de suas associações atuais. As páginas subsequentes exibirão os comandos personalizados, um comando por tecla. Pressione a barra de espaço quando terminar de ler cada página ou return para sair mais cedo. Todos os outros caracteres são ignorados. Se a opção -c for fornecida, exibe todos os comandos associados à classe de comandos especificada. Veja também a seção DEFAULT KEY BINDINGS.

history

Normalmente, os usuários trabalham com um shell que permite fácil acesso aos comandos anteriores. Por exemplo, o csh tem o comando !! para repetir o último comando executado. O screen permite que você tenha uma forma primitiva de redefinir o comando que iniciou ...: você digita a primeira letra desse comando e, em seguida, pressiona C-a { e o screen tenta encontrar uma linha anterior que corresponda ao caractere de prompt à esquerda do cursor. Esta linha é colada na fila de entrada desta janela. Assim, você tem um histórico de comandos bruto (feito da janela visível e seu buffer de rolagem).

hstatus status

Altera a linha de status da janela para a string status.

idle [timeout[cmd-args]]

Define um comando que é executado após o número especificado de segundos de inatividade. Este comando normalmente será o comando de tela em branco para criar um protetor de tela, mas pode ser qualquer comando do screen. Se nenhum comando for especificado, apenas o tempo limite é definido. Um tempo limite de zero (ou o tempo limite especial off) desativa o temporizador. Se nenhum argumento for fornecido, as configurações atuais serão exibidas.


ignorecase [ on | off ]

Diz ao screen para ignorar a capitalização dos caracteres nas pesquisas. O padrão é off. Sem opções, o estado de ignorecase é alternado.

info

Usa a linha de mensagem para exibir algumas informações sobre a janela atual: a posição do cursor no formato (coluna, linha) começando em (1,1), a largura e a altura do terminal, mais o tamanho do buffer de histórico em linhas, como em (80,24)+50, o estado atual do controle de fluxo XON/XOFF da janela é mostrado assim (Veja também a seção CONTROLE DE FLUXO):

┌──────────┬──────────────────────────────────────────────────────────┐
│ +flow    │ controle de fluxo automático, atualmente ligado.          │
├──────────┼──────────────────────────────────────────────────────────┤
│ -flow    │ controle de fluxo automático, atualmente desligado.        │
├──────────┼──────────────────────────────────────────────────────────┤
│ +(+)flow │ controle de fluxo habilitado. Concorda com o controle automático. │
├──────────┼──────────────────────────────────────────────────────────┤
│ -(+)flow │ controle de fluxo desabilitado. Discorda do controle automático. │
├──────────┼──────────────────────────────────────────────────────────┤
│ +(-)flow │ controle de fluxo habilitado. Discorda do controle automático.  │
├──────────┼──────────────────────────────────────────────────────────┤
│ -(-)flow │ controle de fluxo desabilitado. Concorda com o controle automático.    │
└──────────┴──────────────────────────────────────────────────────────┘

A configuração atual de quebra de linha (+wrap indica habilitado, -wrap não) também é exibida. Os flags ins, org, app, log, mon ou nored são exibidos quando a janela está no modo de inserção, modo de origem, modo de teclado de aplicação, tem registro de saída, monitoramento de atividade ou atualização parcial habilitada.

O conjunto de caracteres ativo atual (G0, G1, G2 ou G3) e entre colchetes os conjuntos de caracteres do terminal que são atualmente designados como G0 até G3 são mostrados. Se a janela estiver no modo UTF-8, a string UTF-8 será exibida em vez disso.


Modos adicionais, dependendo do tipo da janela, são exibidos no final da linha de status (Veja também o capítulo TIPOS DE JANELAS).

Se a máquina de estados do emulador de terminal estiver em um estado não padrão, a linha de informação será iniciada com uma string que identifica o estado atual.

Para informações do sistema, use o comando time.

ins_reg [key]

Não existe mais, use paste em vez disso.

kill

Fecha a janela atual.

Se houver um comando exec em execução, ele será interrompido. Caso contrário, o processo (shell) em execução na janela recebe uma condição HANGUP, a estrutura da janela é removida e o screen (sua tela) muda para outra janela. Quando a última janela é destruída, o screen é encerrado. Após um comando kill, o screen muda para a janela exibida anteriormente.

Observação: os usuários do Emacs devem ter este comando em mente ao fechar uma linha. É recomendado
não usar C-a como a tecla de escape do screen ou redefinir kill para C-a K.

lastmsg

Redispõe o último conteúdo da linha de mensagem/status. Útil se você estiver digitando quando uma mensagem aparecer, porque a mensagem desaparece quando você pressiona uma tecla (a menos que seu terminal tenha uma linha de status de hardware). Consulte os comandos msgwait e msgminwait para ajustes finos.

layout new [title]

Cria um novo layout. A tela mudará para uma região inteira e será alternada para a janela em branco. A partir daqui, você constrói as regiões e as janelas que elas mostram conforme desejar. O novo layout será numerado com o menor inteiro disponível, começando com zero. Você pode opcionalmente dar um título ao seu novo layout. Caso contrário, ele terá um título padrão de layout. Você sempre pode alterar o título mais tarde usando o comando layout title.

layout remove [n|title]

Remove, ou seja, exclui o layout especificado. O número ou o título podem ser especificados. Sem nenhuma das especificações, o screen removerá o layout atual.

A remoção de um layout não afeta suas janelas ou regiões definidas.

layout next

Alterna para o próximo layout disponível.

layout prev

Alterna para o layout anterior disponível.

layout select [n|title]

Seleciona o layout desejado. O número ou o título podem ser especificados. Sem nenhuma das especificações, o screen solicitará e perguntará qual tela é desejada. Para ver quais layouts estão disponíveis, use o comando layout show.

layout show

Lista na linha de mensagem os números e títulos dos layouts disponíveis. O layout atual é sinalizado.

layout title [title]

Altera ou exibe o título do layout atual. Uma string fornecida será usada para nomear o layout. Sem opções, o título e o número atuais são exibidos na linha de mensagem.

layout number [n]

Altera ou exibe o número do layout atual. Um inteiro fornecido será usado para numerar o layout. Sem opções, o número e o título atuais são exibidos na linha de mensagem.


layout attach [title|:last]

Altera ou exibe qual layout deve ser reanexado. O padrão é :last, que diz para o screen reanexar ao último layout usado antes da desconexão. Ao fornecer um título, você pode instruir o screen a reanexar a um layout específico, independentemente de qual layout estava em uso no momento da desconexão. Sem opções, o layout ao qual reanexar será exibido na linha de mensagem.

layout save [n|title]

Memoriza o layout atual das regiões. Quando usado, o screen memorizará o layout das regiões divididas vertical e horizontalmente. Esse layout é restaurado quando uma sessão do screen é reanexada ou alternada para um layout diferente. Se a sessão terminar ou o processo do screen morrer, os layouts serão perdidos. O comando layout dump pode ajudar nessa situação. Se um número ou título for fornecido, o screen memorizará o layout daquela região específica. Sem opções, o screen memorizará o layout atual.

Você pode salvar suas regiões automaticamente usando o comando layout autosave.

layout autosave [ on | off]

Altera ou exibe o status do salvamento automático de layouts. O padrão é on, o que significa que, quando o screen é desconectado ou alterado para um layout diferente, o layout das regiões e janelas será memorizado no momento da alteração e restaurado ao retornar. Se o autosave for definido como off, esse layout será restaurado apenas para o último salvamento manual, usando o comando layout save, ou para quando o layout foi criado pela primeira vez, para uma única região com uma única janela. Sem especificar on ou off, o status atual será exibido na linha de mensagem.

layout dump [filename]

Escreve em um arquivo a ordem das divisões feitas no layout atual. Isso é útil para recriar a ordem das regiões usadas no layout atual. Apenas o layout atual é gravado. Embora a ordem das regiões seja gravada, o tamanho dessas regiões e quais janelas correspondem a quais regiões não são. Se nenhum nome de arquivo for especificado, o padrão é layout-dump, salvo no diretório em que o processo do screen foi iniciado. Se o arquivo já existir, layout dump o anexará. Como exemplo:

C-a : layout dump /home/user/.screenrc

irá salvar ou anexar o layout ao arquivo .screenrc do usuário.

license

Exibe a página de aviso legal. Isso é feito sempre que o screen é iniciado sem opções, o que deve ser com frequência suficiente. Veja também o comando startup_message.

lockscreen

Bloqueia esta tela. Chama um programa de bloqueio de tela. O screen não aceita comandos até que este programa termine. Enquanto isso, os processos nas janelas podem continuar, pois as janelas estão no estado "desconectado". O programa de bloqueio de tela pode ser alterado por meio da variável de ambiente $LOCKPRG (que deve ser definida no shell a partir do qual o screen é iniciado) e é executado com o UID e GID do usuário.

Aviso: quando você deixa outros shells desbloqueados e não define uma senha no screen, o bloqueio é inútil: alguém pode facilmente reanexar a partir de um shell desbloqueado. Este recurso deve ser chamado de "lockterminal".

log [on | off]

Inicia/para de gravar a saída da janela atual em um arquivo screenlog.n no diretório padrão da janela, onde n é o número da janela atual. Esse nome de arquivo pode ser alterado com o comando `logfile`. Se nenhum parâmetro for fornecido, o estado do registro será alternado. O log da sessão é anexado ao conteúdo anterior do arquivo, caso ele já exista. O conteúdo atual e o conteúdo do histórico de rolagem não são incluídos no log da sessão. O padrão é `off`.

logfile filename

logfile flush secs

Define o nome que os arquivos de log receberão. O padrão é screenlog.%n. A segunda forma altera o número de segundos que o screen aguardará antes de liberar o buffer do arquivo de log para o sistema de arquivos. O valor padrão é 10 segundos.

login [on | off]

Adiciona ou remove a entrada no arquivo de banco de dados utmp para a janela atual. Isso controla se a janela está `conectada`. Quando nenhum parâmetro é fornecido, o estado de login da janela é alternado. Além disso, é conveniente ter um comando `conectar` e um comando `desconectar`. Por exemplo, `bind I login on` e `bind O login off` mapearão essas teclas para C-a I e C-a O. A configuração padrão (em config.h.in) deve ser `on` para um screen que é executado sob suid-root. Use o comando deflogin para alterar o estado de login padrão para novas janelas. Ambos os comandos estão presentes apenas quando o screen foi compilado com suporte a utmp.

logtstamp [on|off]

logtstamp after [secs]

logtstamp string
[string]

Este comando controla o mecanismo de carimbo de data/hora do arquivo de log do screen. Se os carimbos de data/hora estiverem ativados, o screen adiciona uma string contendo a hora atual ao arquivo de log após dois minutos de inatividade. Quando a saída continua e mais de dois minutos se passaram, um segundo carimbo de data/hora é adicionado para documentar o reinício da saída. Você pode alterar esse tempo limite com a segunda forma do comando. A terceira forma é usada para personalizar a string do carimbo de data/hora (`-- %n:%t -- timestamp -%M/%d/%y %c:%s --\n` por padrão).

mapdefault

Informa ao screen que o próximo caractere de entrada deve ser pesquisado apenas na tabela de vinculação padrão. Consulte também bindkey.

mapnotnext

Semelhante a mapdefault, mas nem sequer pesquisa na tabela de vinculação padrão.

maptimeout [timeout]

Define o temporizador de intervalo entre caracteres para a detecção de sequência de entrada para um tempo limite de timeout ms. O tempo limite padrão é de 300 ms. Maptimeout sem argumentos exibe a configuração atual. Consulte também bindkey.

markkeys string

Este é um método para alterar o mapa de teclas usado para o modo de cópia/histórico. A string é composta por pares oldchar=newchar separados por `:'. Exemplo: A string B=^B:F=^F alterará as teclas `C-b` e `C-f` para a vinculação no estilo vi (rolar para cima/para baixo, preencher página). Acontece que esta é a vinculação padrão para `B` e `F`. O comando markkeys h=^B:l=^F:$=^E definiria o modo para uma vinculação no estilo emacs. Se o seu terminal enviar caracteres que fazem com que você interrompa o modo de cópia, este comando pode ajudar vinculando esses caracteres para não fazerem nada. O caractere nulo é `@` e é usado como este: markkeys @=L=H se você não quiser mais usar os comandos `H` ou `L`. Como mostrado neste exemplo, várias teclas podem ser atribuídas a uma função em uma única instrução.

maxwin num

Define o número máximo de janelas que a tela irá criar. Não afeta as janelas já existentes. O número pode ser aumentado apenas quando não houver janelas existentes.

meta

Insere o caractere de comando (C-a) no fluxo de entrada da janela atual.

monitor [ on | off ]

Alterna a atividade de monitoramento das janelas. Quando o monitoramento é ativado e uma janela afetada é alternada para o plano de fundo, você receberá a mensagem de notificação de atividade na linha de status no primeiro sinal de saída e a janela também será marcada com um @ na exibição do status da janela. O monitoramento é inicialmente desativado para todas as janelas.

mousetrack [ on | off ]

Este comando determina se a tela irá observar os cliques do mouse. Quando este comando é ativado, as regiões que foram divididas de várias maneiras podem ser selecionadas apontando para elas com o mouse e clicando com o botão esquerdo. Sem especificar on ou off, o estado atual é exibido. O estado padrão é determinado pelo comando defmousetrack.

msgminwait sec

Define o tempo que a tela aguarda antes de exibir uma nova mensagem quando uma mensagem já está sendo exibida. O padrão é 1 segundo.

msgwait sec

Define o tempo que uma mensagem é exibida se a tela não for perturbada por outras atividades. O padrão é 5 segundos.

multiuser [ on | off ]

Alterna entre o modo de usuário único e o modo de vários usuários. A operação padrão da tela é o modo de usuário único. No modo de vários usuários, os comandos acladd, aclchg, aclgrp e acldel podem ser usados para habilitar (e desabilitar) outros usuários acessando esta sessão de tela.

nethack [ on | off ]

Altera o tipo de mensagens de erro usadas pela tela. Se você estiver familiarizado com o jogo Nethack, pode gostar das mensagens no estilo Nethack, que muitas vezes obscurecem os fatos um pouco, mas são muito mais engraçadas de ler. De qualquer forma, as mensagens padrão geralmente também são confusas. Esta opção está disponível apenas se a tela foi compilada com a flag NETHACK definida. A configuração padrão é determinada pela presença da variável de ambiente $NETHACKOPTIONS e do arquivo ~/.nethackrc - se um deles estiver presente, o padrão é on.

next

Alterna para a próxima janela. Este comando pode ser usado repetidamente para percorrer a lista de janelas.

nonblock [ on | off | numsecs ]

Diz à tela como lidar com interfaces de usuário (telas) que deixam de aceitar saída. Isso pode acontecer se um usuário pressionar ^S ou uma conexão TCP/modem for interrompida, mas nenhum sinal de desligamento for recebido. Se nonblock estiver desativado (este é o padrão), a tela aguardará até que a tela retome a aceitação da saída. Se nonblock estiver ativado, a tela aguardará até que o tempo limite seja atingido (o valor on é tratado como 1s). Se a tela ainda não receber caracteres, a tela a considerará bloqueada e interromperá o envio de caracteres para ela. Se, em algum momento, ela retomar a aceitação de caracteres, a tela desbloqueará a tela e redesexibirá o conteúdo da janela atualizado.


number [[+|-]n]

Altera o número da janela atual. Se o número `n` especificado já estiver sendo usado por outra janela, ambas as janelas trocarão seus números. Se nenhum argumento for especificado, o número (e o título) da janela atual serão exibidos. Usar `+' ou `-' alterará o número da janela pelo valor relativo especificado.

obuflimit [limite]

Se o buffer de saída contiver mais bytes do que o limite especificado, nenhum dado adicional será lido das janelas. O valor padrão é 256. Se você tiver uma tela rápida (como o xterm), poderá definir um valor mais alto. Se nenhum argumento for especificado, a configuração atual será exibida.

only

Mate todas as regiões, exceto a atual.

other

Alterne para a janela que foi exibida anteriormente. Se esta janela não existir mais, `other` terá o mesmo efeito que `next`.

partial [ on | off ]

Define se a exibição deve ser atualizada (como com `redisplay`) após alternar para a janela atual. Este comando afeta apenas a janela atual. Para afetar imediatamente todas as janelas, use o comando `allpartial`. O padrão é `off`, pois atualmente não existe um comando `defpartial`.

password [senha_criptografada]

Apresente uma senha criptografada no seu arquivo `.screenrc` e o screen solicitará a senha sempre que alguém tentar retomar uma sessão desconectada. Isso é útil se você tiver programas privilegiados em execução no screen e quiser proteger sua sessão contra tentativas de reconexão por outro usuário que se faça passar pelo seu ID de usuário (ou seja, qualquer superusuário). Se nenhuma senha criptografada for especificada, o screen solicitará duas vezes que você digite uma senha e colocará sua criptografia no buffer de colagem. O padrão é `none`, o que desativa a verificação de senha.

paste [registros [dest_reg]]

Escreva o conteúdo (concatenado) dos registros especificados na fila stdin da janela atual. O registro `.` é tratado como o buffer de colagem. Se nenhum parâmetro for fornecido, o usuário será solicitado a inserir um único registro para colar. O buffer de colagem pode ser preenchido com os comandos `copy`, `history` e `readbuf`. Outros registros podem ser preenchidos com os comandos `register`, `readreg` e `paste`. Se `paste` for chamado com um segundo argumento, o conteúdo dos registros especificados será colado no registro de destino nomeado, em vez da janela. Se `.` for usado como o segundo argumento, o buffer de colagem da exibição será o destino. Observe que `paste` usa uma variedade de recursos: sempre que um segundo argumento for especificado, nenhuma janela atual será necessária. Quando a especificação da origem contém apenas registros (não o buffer de colagem), não precisa haver uma exibição (terminal anexado) atual, pois os registros são um recurso global. O buffer de colagem existe uma vez para cada usuário.

pastefont [ on | off ]

Diz à screen para incluir informações da fonte no buffer de colagem. O padrão é não fazer isso. Este comando é especialmente útil para fontes multi-caracteres, como kanji.

pow_break

Reabre a linha do terminal da janela e envia uma condição de interrupção. Veja `break'.

pow_detach

Desanexa com energia. Principalmente o mesmo que detach, mas também envia um sinal HANGUP para o processo pai do screen. CUIDADO: Isso resultará em um logout quando o screen for iniciado a partir do seu shell de login.

pow_detach_msg [mensagem]

A mensagem especificada aqui é exibida sempre que uma `Desanexação com energia' for realizada. Pode ser usado como substituto de uma mensagem de logout ou para redefinir a taxa de transmissão, etc. Sem parâmetro, a mensagem atual é exibida.

prev

Alterna para a janela com o número imediatamente inferior. Este comando pode ser usado repetidamente para percorrer a lista de janelas.

printcmd [cmd]

Se cmd não for uma string vazia, o screen não usará as capacidades do terminal po/pf se detectar uma sequência de impressão ANSI ESC [ 5 i, mas direcionará a saída para cmd. Isso normalmente deve ser um comando como lpr ou printcmd. Sem um comando, o script exibirá a configuração atual. A sequência ANSI ESC [ 4 i interrompe a impressão e fecha o pipe.

Aviso: Tenha cuidado com este comando! Se outros usuários tiverem acesso de gravação ao seu terminal, eles poderão acionar comandos de impressão.

process [key]

Coloque o conteúdo do registro especificado na fila de entrada do screen. Se nenhum argumento for fornecido, você será solicitado a inserir um nome de registro. O texto é analisado como se tivesse sido digitado a partir do teclado do usuário. Este comando pode ser usado para vincular várias ações a uma única tecla.

quit

Mate todas as janelas e termine o screen. Observe que, em terminais no estilo VT100, as teclas C-4 e C-\ são idênticas. Isso torna as vinculações padrão perigosas: tenha cuidado para não digitar C-a C-4 ao selecionar a janela nº 4. Use o comando bind vazio (como bind '^\') para remover uma vinculação de tecla.

readbuf [encoding] [filename]

Lê o conteúdo do arquivo especificado para o buffer de colagem. Você pode informar ao screen a codificação do arquivo através da opção -e. Se nenhum arquivo for especificado, o arquivo screen-exchange será usado. Veja também o comando bufferfile.

readreg [encoding] [register [filename]]

Faz uma de duas coisas, dependendo do número de argumentos: com zero ou um argumento, ele duplica o conteúdo do buffer de colagem no registro especificado ou inserido no prompt. Com dois argumentos, ele lê o conteúdo do arquivo nomeado no registro, assim como readbuf lê o arquivo screen-exchange para o buffer de colagem. Você pode informar ao screen a codificação do arquivo através da opção -e. O exemplo a seguir copiará o arquivo de senha do sistema para a janela do screen (usando o registro p, onde uma cópia permanece):

C-a : readreg p /etc/passwd
C-a : paste p

redisplay

Redefine a janela atual. Necessário para obter uma redefinição completa quando estiver no modo de redesenho parcial.

register [-eencoding]key-string

Salve a string especificada no registro chave. A codificação da string pode ser especificada através da opção -e. Veja também o comando paste.

remove

Mate a região atual. Não faz nada se houver apenas uma região.

removebuf

Desvincula o arquivo de troca de tela usado pelos comandos writebuf e readbuf.

rendition [ bell | monitor | silence | so ] attr [ color ]

Altera a forma como o screen renderiza os títulos das janelas que têm as flags monitor ou bell definidas em caption ou hardstatus ou windowlist. Consulte o capítulo ESCAPES DE STRING para a sintaxe dos modificadores. O padrão para monitor é atualmente =b (negrito, cores ativas), para bell =ub (sublinhado, negrito e cores ativas) e =u para silence.

reset

Redefine o terminal virtual para seus valores de inicialização. Útil quando configurações estranhas (como regiões de rolagem ou conjunto de caracteres gráficos) são deixadas por um aplicativo.

resize [-h|-v|-b|-l|-p] [[+|-] n[%] |=|max|min|_|0]

Redimensione a região atual. O espaço será removido ou adicionado às regiões adjacentes, dependendo da ordem das divisões. As opções disponíveis para redimensionamento são '\-h'(horizontal), '\-v'(vertical), '\-b'(ambos), '\-l'(local para camada) e '\-p'(perpendicular). Os redimensionamentos horizontais adicionarão ou removerão largura de uma região, os verticais adicionarão ou removerão altura, e ambos adicionarão ou removerão tamanho em ambas as dimensões. Local e perpendicular são semelhantes a horizontal e vertical, mas levam em conta como uma região foi dividida. Se a última divisão de uma região foi horizontal, um redimensionamento local funcionará como um redimensionamento vertical. Se a última divisão de uma região foi vertical, um redimensionamento local funcionará como um redimensionamento horizontal. Os redimensionamentos perpendiculares funcionam de forma oposta aos redimensionamentos locais.

Se nenhuma opção for especificada, local é o padrão.

A quantidade de linhas a serem adicionadas ou removidas pode ser expressa de algumas maneiras diferentes. Especificar um número n por si só redimensionará a região por essa quantidade absoluta. Você pode especificar uma quantidade relativa prefixando um sinal de mais '+' ou menos '-' à quantidade, como adicionar +n linhas ou remover -n linhas. O redimensionamento também pode ser expresso como uma porcentagem absoluta ou relativa, anexando um sinal de porcentagem '%'. Usar zero '0' é sinônimo de 'min' e usar um sublinhado '_' é sinônimo de 'max'.

Alguns exemplos são:

resize +N
aumenta a região atual em N

resize -N
diminui a região atual em N

resize  N
define a região atual para N

resize 20%
define a região atual para 20% do tamanho original

resize +20%
aumenta a região atual em 20%

resize -b =
torna todas as janelas iguais

resize  max
maximiza a região atual

resize  min
minimiza a região atual

Sem argumentos, o screen solicitará como você deseja redimensionar a região atual.

Veja focusminsize se você quiser restringir o tamanho mínimo que uma região pode ter.

screen [-opts] [n] [cmd [args]|//group]

Estabelece uma nova janela. As opções de controle de fluxo (-f, -fn e -fa), título (também conhecido como) (-t), opções de login (-l e -ln), opção de tipo de terminal (-T <term>), a opção de flag de todas as capacidades (-a) e a opção de histórico (-h <num>) podem ser especificadas com cada comando. A opção (-M) ativa o monitoramento para esta janela. A opção (-L) ativa o registro de saída para esta janela. Se um número opcional n no intervalo 0..MAXWIN-1 for fornecido, o número de janela n será atribuído à janela recém-criada (ou, se este número já estiver em uso, o próximo número disponível será usado). Se um comando for especificado após screen, este comando (com os argumentos fornecidos) será iniciado na janela; caso contrário, um shell será criado. Se //group for fornecido, uma janela do tipo contêiner será criada na qual outras janelas podem ser criadas dentro dela.

Assim, se o seu arquivo .screenrc contiver as linhas

# exemplo para .screenrc:
screen 1
screen -fn -t foobar -L 2 telnet foobar

screen cria uma janela de shell (na janela #1) e uma janela com uma conexão TELNET para a máquina foobar (sem controle de fluxo usando o título foobar na janela #2) e gravará um arquivo de log (screenlog.2) da sessão telnet. Observe que, ao contrário das versões anteriores do screen, nenhuma janela padrão adicional é criada quando os comandos screen estão incluídos no seu arquivo .screenrc. Quando a inicialização é concluída, o screen muda para a última janela especificada no seu arquivo .screenrc ou, se nenhuma, abre uma janela padrão #0.

Screen tem alguma funcionalidade integrada de cu e telnet. Veja também o capítulo TIPOS DE JANELAS.

scrollback num

Define o tamanho do buffer de histórico para as janelas atuais para num linhas. O histórico padrão é de 100 linhas. Veja também o comando defscrollback e use info para visualizar a configuração atual. Para acessar e usar o conteúdo no buffer de histórico, use o comando copy.

select [WindowID]

Alterna para a janela identificada por WindowID. Este pode ser um prefixo de um título de janela (nome de janela alfanumérico) ou um número de janela. O parâmetro é opcional e, se omitido, você será solicitado a fornecer um identificador. Quando uma nova janela é estabelecida, o primeiro número disponível é atribuído a esta janela. Assim, a primeira janela pode ser ativada por select 0. O número de janelas é definido pelo parâmetro de configuração MAXWIN (que tem o valor padrão de 100), mas pode ser alterado usando o comando `maxwin'. Existem dois WindowIDs especiais, - seleciona a janela interna em branco e . seleciona a janela atual. Este último é útil quando usado com a opção -X do screen.

sessionname [name]

Renomeia a sessão atual. Observe que, para screen -list, o nome aparece com o ID do processo prefixado. Se o argumento name for omitido, o nome desta sessão será exibido. Cuidado: as variáveis de ambiente $STY ainda refletirão o nome antigo em shells preexistentes. Isso pode resultar em confusão. O uso deste comando é geralmente desencorajado. Use a opção de linha de comando -S se quiser nomear uma nova sessão. O padrão é construído a partir dos nomes tty e host.


setenv [var [string]]

Define o valor da variável de ambiente var para string. Se apenas var for especificado, o usuário será solicitado a inserir um valor. Se nenhum parâmetro for especificado, o usuário será solicitado a inserir tanto a variável quanto o valor. O ambiente é herdado por todos os shells subsequentes que forem criados.

setsid [ on | off ]

Normalmente, o screen usa sessões e grupos de processos diferentes para as janelas. Se setsid for desativado, isso não será feito e todas as janelas estarão no mesmo grupo de processos do processo de backend do screen. Isso também interrompe o controle de processos, portanto, tenha cuidado. O padrão é on, é claro. Este comando provavelmente é útil apenas em circunstâncias raras.

shell command

Define o comando a ser usado para criar um novo shell. Isso substitui o valor da variável de ambiente $SHELL. Isso é útil se você deseja executar um aprimorador de terminal que espera executar o programa especificado em $SHELL. Se o comando começar com um caractere '-', o shell será iniciado como um shell de login. Shells típicos fazem apenas uma inicialização mínima quando não são iniciados como um shell de login. Por exemplo, o Bash não lerá seu ~/.bash_profile, a menos que seja um shell de login.

shelltitle title

Define o título para todos os shells criados durante a inicialização ou pelo comando C-A C-c. Para obter detalhes sobre o que é um título, consulte a discussão intitulada TÍTULOS (nomeando janelas).

silence [ on | off | sec ]

Alterna o monitoramento de silêncio das janelas. Quando o silêncio é ativado e uma janela afetada é colocada em segundo plano, você receberá a mensagem de notificação de silêncio na linha de status após um período especificado de inatividade (silêncio). O tempo limite padrão pode ser alterado com o comando silencewait ou especificando um número de segundos em vez de on ou off. O silêncio é inicialmente desativado para todas as janelas.

silencewait sec

Define o tempo que todas as janelas monitoradas para silêncio devem esperar antes de exibir uma mensagem. O padrão é 30 segundos.

sleep num

Este comando pausará a execução de um arquivo .screenrc por num segundos. A atividade do teclado encerrará o período de suspensão. Ele pode ser usado para dar aos usuários a chance de ler as mensagens exibidas por echo.

slowpaste msec

Define a velocidade com que o texto é inserido na janela atual pelo comando colar ("C-a ]"). Se o valor de slowpaste for diferente de zero, o texto será gravado caractere por caractere. O screen fará uma pausa de msec milissegundos após cada gravação de caractere para permitir que o aplicativo processe sua entrada. Use slowpaste somente se seu sistema subjacente apresentar problemas de controle de fluxo ao colar grandes quantidades de texto.

sort

Classifica as janelas em ordem alfabética dos títulos das janelas.

source file

Lê e executa comandos do arquivo file. Os comandos de origem podem ser aninhados até um nível de recursão de dez. Se file não for um caminho absoluto e o screen já estiver processando um comando de origem, o diretório pai do arquivo de comando de origem em execução será usado para pesquisar o novo arquivo de comando antes do diretório atual do screen.


Observe que os comandos termcap/terminfo/termcapinfo só funcionam no início e no momento da reconexão, portanto, devem ser acessados por meio dos arquivos screenrc padrão para terem efeito.

sorendition [attr[color]]

Este comando está obsoleto. Veja "rendition so" em vez disso.

split[-v]

Divide a região atual em duas novas regiões. Todas as regiões na tela são redimensionadas para criar espaço para a nova região. A janela em branco é exibida na nova região. Por padrão, é criada uma divisão horizontal, colocando as novas regiões na parte superior e inferior uma da outra. Usar -v criará uma divisão vertical, fazendo com que as novas regiões apareçam lado a lado. Use os comandos remove ou only para excluir regiões. Use focus para alternar entre as regiões.

Quando uma região é dividida de forma oposta à forma como foi dividida anteriormente (ou seja, vertical e depois horizontal ou horizontal e depois vertical), uma nova camada é criada. A camada é usada para agrupar as regiões que são divididas da mesma forma. Normalmente, como usuário, você não deve ver nem precisar se preocupar com camadas, mas elas afetarão a forma como alguns comandos (focus e resize) se comportam.

Com a implementação atual do screen, os dados de rolagem aparecerão muito mais lentamente em uma região dividida verticalmente do que em uma que não está. Isso deve ser levado em consideração se você precisar usar comandos de sistema como cat ou tail -f.

startup_message [on | off]

Selecione se você deseja ver o aviso de direitos autorais durante a inicialização. O padrão é "on", como você provavelmente notou.

status [top | up | down | bottom] [left | right]

A janela de status está, por padrão, no canto inferior esquerdo. Este comando pode mover as mensagens de status para qualquer canto da tela. top é o mesmo que up, down é o mesmo que bottom.

stuff [string]

Insere a string fornecida no buffer de entrada da janela atual. Isso é semelhante ao comando paste, mas com muito menos sobrecarga. Sem um parâmetro, o screen solicitará uma string para inserir. Você não pode colar buffers grandes com o comando stuff. É mais útil para associações de teclas. Veja também bindkey.

su [nome de usuário [senha [senha2]]]

Substitui o usuário de uma sessão. O comando solicita todos os parâmetros que são omitidos. Se as senhas forem especificadas como parâmetros, elas devem ser especificadas descriptografadas. A primeira senha é comparada com o banco de dados de senhas do sistema, a segunda senha é comparada com a senha do screen, conforme definido pelos comandos acladd ou password. O comando su pode ser útil para o administrador do screen testar configurações de vários usuários. Quando a identificação falha, o usuário tem acesso aos comandos disponíveis para o usuário nobody. Estes são detach, license, version, help e displays.

suspend

Suspende o screen. As janelas estão no estado "detached", enquanto o screen está suspenso. Este recurso depende da capacidade do shell de fazer controle de trabalho.

term term

Em cada ambiente no qual o screen é aberto, a variável $TERM é definida como screen por padrão. Mas quando não há descrição para o screen instalada na base de dados termcap ou terminfo local, você define $TERM para, por exemplo, vt100. Isso não causará muitos problemas, pois o screen é compatível com VT100/ANSI. O uso do comando term é desencorajado para fins diferentes do padrão. Ou seja, pode ser que você queira especificar configurações $TERM especiais (por exemplo, vt100) para o próximo comando screen rlogin othermachine. Use o comando screen -T vt100 rlogin othermachine em vez de definir e redefinir o padrão.


termcap term terminal-tweaks[window-tweaks]

terminfo term terminal-tweaks[window-tweaks]

termcapinfo term terminal-tweaks[window-tweaks]

Use este comando para modificar a entrada termcap do seu terminal sem passar por todos os problemas envolvidos na criação de uma entrada termcap personalizada. Além disso, você pode personalizar opcionalmente o termcap gerado para as janelas. Você deve colocar esses comandos em um dos arquivos de inicialização do screen, pois eles são inúteis depois que o emulador de terminal é iniciado.

Se o seu sistema usar o banco de dados terminfo em vez de termcap, o screen entenderá o comando terminfo, que tem os mesmos efeitos do comando termcap. Dois comandos separados são fornecidos, pois existem diferenças sintáticas sutis, por exemplo, quando a interpolação de parâmetros (usando %) é necessária. Observe que os nomes termcap dos recursos devem ser usados com o comando terminfo.

Em muitos casos, onde os argumentos são válidos em ambas as sintaxes terminfo e termcap, você pode usar o comando termcapinfo, que é apenas uma abreviação para um par de comandos termcap e terminfo com argumentos idênticos.

O primeiro argumento especifica quais terminais devem ser afetados por esta definição. Você pode especificar vários nomes de terminais separando-os com |. Use * para corresponder a todos os terminais e vt* para corresponder a todos os terminais que começam com vt.

Cada argumento de ajuste contém uma ou mais definições termcap (separadas por :) a serem inseridas no início da entrada termcap apropriada, aprimorando-a ou substituindo os valores existentes. O primeiro ajuste modifica o termcap do seu terminal e contém definições que seu terminal usa para executar certas funções. Especifique uma string nula para deixá-lo inalterado (por exemplo, ''). O segundo (opcional) ajuste modifica todos os termcaps de janela e deve conter definições que o screen entenda (veja a seção VIRTUAL TERMINAL).

Alguns exemplos:

termcap xterm* LP:hs@

Informa ao screen que todos os terminais que começam com xterm têm margens automáticas firmes que permitem que a última posição na tela seja atualizada (LP), mas eles realmente não têm uma linha de status (sem 'hs' - anexe @ para desativar as entradas). Observe que assumimos LP para todos os nomes de terminais que começam com vt, mas apenas se você não especificar um comando termcap para esse terminal. termcap vt* LP

termcap vt102|vt220 Z0=\E[?3h:Z1=\E[?3l

Especifica o recurso LP de margens fixas para todos os terminais que começam com vt, e a segunda linha também adicionará as sequências de escape para alternar para (Z0) e sair (Z1) do modo de 132 caracteres por linha, se este for um VT102 ou VT220. (Você deve especificar Z0 e Z1 em seu termcap para usar os comandos de alteração de largura.)


termcap vt100  ""  l0=PF1:l1=PF2:l2=PF3:l3=PF4

Isso deixa o termcap do seu vt100 intacto e adiciona os rótulos das teclas de função à entrada do termcap de cada janela.

termcap h19|z19  am@:im=\E@:ei=\EO  dc=\E[P

Leva um termcap h19 ou z19 e desativa as margens automáticas (am@), e habilita as capacidades de modo de inserção (im) e fim de inserção (ei) (o @ na string im está após o =, então faz parte da string). Ter as definições de im e ei colocadas no termcap do seu terminal fará com que o screen anuncie automaticamente a capacidade de inserção de caracteres em cada termcap de janela. Cada janela também terá a capacidade de exclusão de caracteres (dc) adicionada ao seu termcap, que o screen traduzirá em uma atualização de linha para o terminal (estamos fingindo que ele não oferece suporte à exclusão de caracteres).

Se você deseja especificar totalmente a entrada do termcap de cada janela, deve definir a variável $SCREENCAP antes de executar o screen. Consulte a discussão sobre o TERMINAL VIRTUAL neste manual e a página de manual termcap(5) para obter mais informações sobre as definições do termcap.

time   [string]

Usa a linha de mensagem para exibir a hora do dia, o nome do host e as médias de carga de 1, 5 e 15 minutos (se isso estiver disponível em seu sistema). Para informações específicas da janela, use info.

Se uma string for especificada, ela altera o formato do relatório de tempo, conforme descrito no capítulo ESCAPES DE STRING. O screen usa um padrão de "%c:%s %M %d %H%? %l%?".

title [windowtitle]

Define o nome da janela atual para windowtitle. Se nenhum nome for especificado, o screen solicitará um. Este comando era conhecido como aka em versões anteriores.

unbindall

Desfaz todas as associações. Isso pode ser útil quando o screen é usado apenas para suas habilidades de desanexamento, como quando permite que um aplicativo de console seja executado como um daemon. Se, por algum motivo, for necessário associar comandos após isso, use 'screen -X'.

unsetenv var

Remove uma variável de ambiente.

utf8 [ on | off [ on | off ]]

Altera a codificação usada na janela atual. Se utf8 estiver habilitado, as strings enviadas para a janela serão codificadas em UTF-8 e vice-versa. Omitir o parâmetro alterna a configuração. Se um segundo parâmetro for fornecido, a codificação da tela também será alterada (isso deve ser feito com a opção -U do screen). Consulte também defutf8, que altera a configuração padrão de uma nova janela.

vbell [ on | off ]

Define a configuração de sino visual para esta janela. Omitir o parâmetro alterna a configuração. Se o vbell for ligado, mas seu terminal não oferecer suporte a um sino visual, uma mensagem 'vbell-message' será exibida na linha de status quando o caractere de sino (^G) for recebido. O suporte de sino visual de um terminal é definido pela variável termcap vb (terminfo: 'flash').


Por padrão, o sinal sonoro (vbell) está desativado, portanto, o sinal sonoro audível é usado. Veja também bell_msg.

vbell_msg [mensagem]

Define a mensagem do sinal visual. A mensagem é exibida na linha de status se a janela receber um caractere de sinal sonoro (^G), o sinal visual estiver ativado, mas o terminal não suportar um sinal visual. A mensagem padrão é Wuff, Wuff!!. Sem um parâmetro, a mensagem atual é exibida.

vbellwait seg

Define um atraso em segundos após cada exibição da mensagem de sinal visual na tela. O valor padrão é 1 segundo.

verbose [ on | off ]

Se verbose for ativado, o nome do comando será exibido sempre que uma janela for criada (ou restaurada do estado de "zumbi"). O padrão é desativado. Sem um parâmetro, a configuração atual é exibida.

version

Exibe a versão atual e a data de compilação na linha de status.

wall mensagem

Envia uma mensagem para todas as telas. A mensagem aparecerá na linha de status do terminal.

width [-w|-d] [cols [lines]]

Alterna a largura da janela entre 80 e 132 colunas ou define para cols colunas se um argumento for especificado. Isso requer um terminal compatível e as entradas termcap Z0 e Z1. Consulte o comando termcap para obter mais informações. Você também pode especificar uma nova altura se quiser alterar ambos os valores. A opção -w diz para o screen deixar o tamanho da tela inalterado e apenas definir o tamanho da janela, -d o contrário.

windowlist [ -b ] [ -m ] [ -g ]

windowlist string [string]

windowlist title [title]

Exibe todas as janelas em uma tabela para seleção visual da janela. Se o screen estivesse em um grupo de janelas, o screen sairá do grupo e exibirá as janelas nesse grupo. Se a opção -b for fornecida, o screen alternará para a janela em branco antes de apresentar a lista, para que a janela atual também possa ser selecionada. A opção -m altera a ordem das janelas; em vez de classificar pelo número da janela, o screen usa sua lista interna de uso mais recente. A opção -g mostrará as janelas dentro de quaisquer grupos naquele nível e abaixo.

As seguintes teclas são usadas para navegar em windowlist:

k, C-p, ou seta para cima   Move uma linha para cima.

j, C-n, ou seta para baixo  Move uma linha para baixo.

C-g ou escape   Sai de `windowlist`.

C-a ou Home Move para a primeira linha.

C-e ou End  Move para a última linha.

C-u ou C-d  Move meia página para cima ou para baixo.

C-b ou C-f  Move uma página inteira para cima ou para baixo.

.9  Usando as teclas numéricas, move para a linha selecionada.

mouseclick  Move para a linha selecionada. Disponível quando `mousetrack` está definido como ativado.

/   Pesquisa.

n   Repete a pesquisa na direção direta.

N   Repete a pesquisa na direção inversa.

m   Alterna MRU (Most Recently Used).

g   Alterna a aninhamento de grupo.

a   Visualização de todas as janelas.

C-h ou backspace    Sai do grupo.

,   Alterna os números com a janela anterior.

.   Alterna os números com a próxima janela.

K   Fecha essa janela.

espaço ou Enter     Seleciona essa janela.

O formato da tabela pode ser alterado com as opções string e title; o title é exibido como o cabeçalho da tabela, enquanto as linhas são criadas usando a configuração string. A configuração padrão é Num Name%=Flags para o cabeçalho e %3n %t%=%f para as linhas. Consulte o capítulo STRING ESCAPES para obter mais códigos (por exemplo, configurações de cor).

Windowlist precisa de um tamanho de região de pelo menos 10 caracteres de largura e 6 caracteres de altura para ser exibida.

windows [ string ]

Usa a linha de mensagem para exibir uma lista de todas as janelas. Cada janela é listada por número com o nome do processo que foi iniciado na janela (ou seu título); a janela atual é marcada com um *; a janela anterior é marcada com um -; todas as janelas que estão logadas são marcadas com um $; uma janela em segundo plano que recebeu um sinal sonoro é marcada com um !; uma janela em segundo plano que está sendo monitorada e teve alguma atividade é marcada com um @; uma janela que tem o registro de saída ativado é marcada com (L); janelas ocupadas por outros usuários são marcadas com &; janelas no estado zumbi são marcadas com Z. Se esta lista for muito longa para caber na linha de status do terminal, apenas a porção ao redor da janela atual é exibida. O parâmetro string opcional segue o formato STRING ESCAPES. Se o parâmetro string for passado, o tamanho da saída é ilimitado. O comando padrão sem nenhum parâmetro é limitado a um tamanho de 1024 bytes.

wrap [ on | off ]

Define a configuração de quebra de linha para a janela atual. Quando a quebra de linha está ativada, o segundo caractere imprimível consecutivo na última coluna de uma linha será quebrado para o início da linha seguinte. Como um recurso adicional, retrocesso (^H) também fará a quebra para a margem esquerda para a linha anterior. O padrão é on. Sem nenhuma opção, o estado de quebra de linha é alternado.

writebuf [-e encoding] [filename]

Escreve o conteúdo do buffer de colagem no arquivo especificado ou no arquivo de troca acessível publicamente se nenhum nome de arquivo for fornecido. Isso é considerado um meio primitivo de comunicação entre os usuários do screen no mesmo host. Se uma codificação for especificada, o buffer de colagem será recodificado dinamicamente para corresponder à codificação. O nome do arquivo pode ser definido com o comando bufferfile e o padrão é /tmp/screen-exchange.

writelock [ on | off | auto]

Além das listas de controle de acesso, nem todos os usuários podem escrever na mesma janela ao mesmo tempo. Por padrão, o writelock está no modo auto e concede permissão de entrada exclusiva ao usuário que é o primeiro a alternar para a janela específica. Quando ele sai da janela, outros usuários podem obter o writelock (automaticamente). O writelock da janela atual é desativado pelo comando writelock off. Se o usuário emitir o comando writelock on, ele manterá a permissão de gravação exclusiva ao alternar para outras janelas.

xoff

xon

Insere um caractere CTRL-s / CTRL-q na fila stdin da janela atual.


zmodem [ desligado | automático | capturar | transmitir ]

zmodem sendcmd [string]

zmodem recvcmd [string]

Define o suporte zmodem para o screen. O screen entende dois modos diferentes quando detecta um pedido zmodem: transmitir e capturar. Se o modo for definido como transmitir, o screen irá encaminhar todos os dados para o atacher até o final da transmissão. No modo de captura, o screen atua como um ponto final zmodem e inicia os comandos rz/sz correspondentes. Se o modo for definido como automático, o screen usará a captura se a janela for um tty (por exemplo, uma linha serial), caso contrário, usará a transmissão.

Você pode definir os modelos que o screen usa no modo de captura através da segunda e terceira formas.

Observe também que este é um recurso experimental.

zombie [teclas[onerror]]

Por padrão, as janelas do screen são removidas da lista de janelas assim que o processo da janela (por exemplo, shell) é encerrado. Quando uma string de duas teclas é especificada para o comando zombie, as janelas 'mortas' permanecerão na lista. O comando kill pode ser usado para remover essa janela. Pressionar a primeira tecla na janela morta tem o mesmo efeito. Ao pressionar a segunda tecla, o screen tentará ressuscitar a janela. O processo que estava sendo executado inicialmente na janela será iniciado novamente. Chamar zombie sem parâmetros irá limpar a configuração zombie, fazendo com que as janelas desapareçam quando seus processos forem encerrados.

Como a configuração zombie é manipulada globalmente para todas as janelas, este comando provavelmente deveria ser chamado defzombie, mas não é.

Opcionalmente, você pode colocar a palavra onerror após as teclas. Isso fará com que o screen monitore o status de saída do processo em execução na janela. Se ele for encerrado normalmente ('0'), a janela desaparecerá. Qualquer outro valor de saída faz com que a janela se torne uma janela zombie.

zombie_timeout[segundos]

Por padrão, as janelas do screen são removidas da lista de janelas assim que o processo da janela (por exemplo, shell) é encerrado. Se as teclas zombie forem definidas (compare com o comando zombie acima), também é possível definir um tempo limite quando o screen tenta reconectar automaticamente uma janela morta.

A LINHA DE MENSAGEM

O screen exibe mensagens informativas e outros diagnósticos em uma linha de mensagem. Embora esta linha seja distribuída para aparecer na parte inferior da tela, ela pode ser definida para aparecer na parte superior da tela durante a compilação. Se o seu terminal tiver uma linha de status definida em seu termcap, o screen usará esta para exibir suas mensagens; caso contrário, uma linha da tela atual será temporariamente sobrescrita e a saída será interrompida momentaneamente. A linha de mensagem é removida automaticamente após um atraso de alguns segundos, mas também pode ser removida antes (em terminais sem uma linha de status) começando a digitar.

O recurso da linha de mensagem pode ser usado por um aplicativo em execução na janela atual por meio da sequência de controle de privacidade ANSI. Por exemplo, dentro do shell, tente algo como:

echo '<esc>^Hello world from window '$WINDOW'<esc>\\'

onde '<esc>' é um caractere de escape, '^' é uma seta para cima literal e '\\' se torna uma única barra invertida.

TIPOS DE JANELAS

O Screen fornece três tipos diferentes de janelas. Novas janelas são criadas com o comando screen (veja também a entrada no capítulo PERSONALIZAÇÃO). O primeiro parâmetro para o comando screen define qual tipo de janela será criado. Os diferentes tipos de janelas são todos casos especiais do tipo normal. Eles foram adicionados para permitir que o screen seja usado de forma eficiente como um multiplexador de console com 100 ou mais janelas.

A janela normal contém um shell (padrão, se nenhum parâmetro for fornecido) ou qualquer outro comando de sistema que possa ser executado a partir de um shell (por exemplo, slogin, etc.).

Se um nome de tty (dispositivo especial de caractere) (por exemplo, /dev/ttya) for especificado como o primeiro parâmetro, então a janela é diretamente conectada a este dispositivo. Este tipo de janela é semelhante a screen cu -l /dev/ttya. É necessário acesso de leitura e gravação no nó do dispositivo, e uma abertura exclusiva é tentada no nó para marcar a conexão como ocupada. Um parâmetro opcional é permitido, consistindo em uma lista separada por vírgulas de flags na notação usada por stty(1):

<taxa_de_baud>

Normalmente 300, 1200, 9600 ou 19200. Isso afeta a transmissão, bem como a velocidade de recepção.

cs8 ou cs7

Especifica a transmissão de oito (ou sete) bits por byte.

cstopb ou -cstopb

Especifica dois bits de parada por caractere (um com '-').

parenb ou -parenb

Gera bit de paridade na saída e espera bit de paridade na entrada.

parodd ou -parodd

Define paridade ímpar (ou paridade par com '-').

ixon ou -ixon

Habilita (ou desabilita) o controle de fluxo de software (CTRL-S/CTRL-Q) para o envio de dados.

ixoff ou -ixoff

Habilita (ou desabilita) o controle de fluxo de software para o recebimento de dados.

istrip ou -istrip

Limpa (ou mantém) o oitavo bit em cada byte recebido.

Você pode querer especificar o máximo de opções aplicáveis. As opções não especificadas fazem com que o driver de terminal determine os valores dos parâmetros da conexão. Esses valores são dependentes do sistema e podem estar em padrões ou valores salvos de uma conexão anterior.

Para janelas tty, o comando info mostra algumas das linhas de controle do modem na linha de status. Isso pode incluir RTS, CTS, DTR, DSR, CD e muito mais. Isso depende dos ioctl() disponíveis e dos arquivos de cabeçalho do sistema, bem como das capacidades físicas da placa serial. Os sinais que estão logicamente baixos (inativos) têm seu nome precedido por um ponto de exclamação (!), caso contrário, o sinal está logicamente alto (ativo). Os sinais não suportados pelo hardware, mas disponíveis para a interface ioctl(), geralmente são mostrados em um nível baixo.

Quando o bit de status CLOCAL é verdadeiro, todo o conjunto de sinais de modem é colocado entre chaves ({ e }). Quando o bit CRTSCTS ou TIOCSOFTCAR é definido, os sinais CTS ou CD são mostrados entre parênteses, respectivamente.

Para janelas tty, o comando break faz com que a linha de transmissão de dados (TxD) fique baixa por um período de tempo especificado. Espera-se que isso seja interpretado como um sinal de interrupção no outro lado. Nenhum dado é enviado e nenhuma linha de controle do modem é alterada quando uma interrupção é emitida.


Se o primeiro parâmetro for //telnet, o segundo parâmetro deverá ser um nome de host, e um terceiro parâmetro opcional pode especificar um número de porta TCP (o padrão é 23 em decimal). O Screen se conectará a um servidor que está ouvindo no host remoto e usará o protocolo telnet para se comunicar com esse servidor.

Para janelas telnet, o comando info mostra detalhes sobre a conexão entre colchetes ([ e ]) no final da linha de status.

b      BINARY. A conexão está no modo binário.

e      ECHO. O eco local está desativado.

c      SGA. A conexão está no modo "caracter" (padrão: "linha").

t      TTYPE. O tipo de terminal foi solicitado pelo host remoto. O Screen envia o nome "screen", a menos que seja instruído de outra forma (veja também o comando `term`).

w      NAWS. O site remoto é notificado sobre as alterações de tamanho da janela.

f      LFLOW. O host remoto enviará informações de controle de fluxo. (Ignorado no momento.)

Flags adicionais para depuração são x, t e n (XDISPLOC, TSPEED e NEWENV).

Para janelas telnet, o comando break envia o código telnet IAC BREAK (decimal 243) para o host remoto.

Este tipo de janela está disponível apenas se o Screen foi compilado com a opção ENABLE_TELNET definida.

ESCAPES DE STRING

O Screen fornece um mecanismo de escape para inserir informações como a hora atual em mensagens ou nomes de arquivos. O caractere de escape é '%' com uma exceção: dentro do hardstatus de uma janela, '^%' ('^E') é usado em vez disso.

Aqui está a lista completa de escapes suportados:

%      o próprio caractere de escape

E      define %? como verdadeiro se o caractere de escape foi pressionado.

e      codificação

f      flags da janela, veja janelas para o significado das várias flags

F      define %? como verdadeiro se a janela tiver o foco

h      hardstatus da janela

H      nome do host do sistema

n      número da janela

P      define %? como verdadeiro se a região atual estiver no modo de copiar/colar

S      nome da sessão

s      tamanho da janela

t      título da janela

u      todos os outros usuários nesta janela

w      todos os números e nomes das janelas. Com o qualificador '-': até a janela atual; com o qualificador '+': começando com a janela após a atual.

W      todos os números e nomes das janelas, exceto a atual

x      o comando executado, incluindo argumentos, na janela

X      o comando executado, sem argumentos, na janela

?      a parte até o próximo '%?' é exibida apenas se um escape '%' dentro da parte for expandido para uma string não vazia

:      a parte else de '%?'

=      preenche a string até a largura da tela (como hfill do TeX). Se um número for especificado, preenche até a porcentagem da largura da janela. Um qualificador '0' diz ao Screen para tratar o número como uma posição absoluta. Você pode especificar para preencher em relação à última posição de preenchimento absoluto, adicionando um qualificador '+', ou para preencher em relação à margem direita, usando '-'. O preenchimento trunca a string se a posição especificada estiver antes da posição atual. Adicione o qualificador 'L' para alterar isso.

<      o mesmo que '%=', mas apenas faz o truncamento, sem preencher com espaços

>      marca a posição atual do texto para o próximo truncamento. Quando a tela precisa fazer o truncamento, ela tenta fazê-lo de forma que a posição marcada seja movida para a porcentagem especificada da área de saída. (A área começa na última posição de preenchimento absoluto e termina
na posição especificada pelo operador de truncamento.) O qualificador 'L' diz à tela para
marcar as partes truncadas com '...'.

{      string de modificador de atributo/cor terminada pelo próximo }

`      Substitui pela saída de um comando 'backtick'. O qualificador de comprimento é usado incorretamente para
identificar um dos comandos.

Os escapes 'c' e 'C' podem ser qualificados com um '0' para que a tela use zero em vez de espaço como caractere de preenchimento. O qualificador '0' também faz com que o escape '=' use posições absolutas. Os escapes 'n' e '=' entendem um qualificador de comprimento (por exemplo, '%3n'), 'D' e 'M' podem ser prefixados com 'L' para gerar nomes longos, 'w' e 'W' também mostram os sinalizadores da janela se 'L' for dado.

Um modificador de atributo/cor é usado para alterar os atributos ou as configurações de cor. Seu formato é [modificador de atributo] [descrição de cor]. O modificador de atributo deve ser prefixado por um indicador de alteração se puder ser confundido com uma descrição de cor. Os seguintes tipos de alteração são conhecidos:

+      adiciona o conjunto especificado aos atributos atuais

-      remove o conjunto dos atributos atuais

!      inverte o conjunto nos atributos atuais

=      altera os atributos atuais para o conjunto especificado

O conjunto de atributos pode ser especificado como um número hexadecimal ou uma combinação das seguintes letras:

d      fraco
u      sublinhado
b      negrito
r      reverso
s      /destaque
B      piscando

As cores são codificadas como um número hexadecimal ou duas letras especificando a cor de fundo e a cor de primeiro plano desejadas (nessa ordem). As seguintes cores são conhecidas:

k      preto
r      vermelho
g      verde
y      amarelo
b      azul
m      magenta
c      ciano
w      branco
d      cor padrão
.      deixar a cor inalterada

As versões em maiúsculas da letra especificam cores brilhantes. Você também pode usar a pseudo-cor 'i' para definir apenas o brilho e deixar a cor inalterada. Uma descrição de cor de um ou dois dígitos/letras é tratada como cor de primeiro plano ou cor de fundo dependendo dos atributos atuais: se o modo reverso estiver definido, a cor de fundo é alterada em vez da cor de primeiro plano. Se você não gosta disso, prefixe a cor com '..' Se você quiser o mesmo comportamento para descrições de cores de duas letras, também prefixe-as com '..'. Como caso especial, %{-} restaura os atributos e cores que foram definidos antes da última alteração (ou seja, remove um nível da pilha de alterações de cor).

Exemplos:

G      define a cor para verde brilhante

+b r   use vermelho em negrito

= yd   limpe todos os atributos, escreva na cor padrão em fundo amarelo.

%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<

As janelas disponíveis, centralizadas na janela atual e truncadas para a largura disponível. A janela atual é exibida em branco sobre azul. Isso pode ser usado com hardstatus alwayslastline.

%?%F%{.R.}%?%3n %t%? [%h]%?

O número da janela e o título, e o hardstatus da janela, se estiver definido. Use também um fundo vermelho se esta for a janela ativa. Útil para a string da legenda.

CONTROLE DE FLUXO

Cada janela tem uma configuração de controle de fluxo que determina como o screen lida com os caracteres XON e XOFF (e possivelmente o caractere de interrupção). Quando o controle de fluxo está desligado, o screen ignora os caracteres XON e XOFF, o que permite ao usuário enviá-los para o programa atual simplesmente digitando-os (útil para o editor emacs, por exemplo). A desvantagem é que demorará mais para a saída de um programa normal fazer uma pausa em resposta a um XOFF. Com o controle de fluxo ligado, os caracteres XON e XOFF são usados para pausar imediatamente a saída da janela atual. Você ainda pode enviar esses caracteres para o programa atual, mas deve usar os comandos de tela apropriados de dois caracteres (geralmente C-a q (xon) e C-a s (xoff)). Os comandos xon/xoff também são úteis para digitar C-s e C-q em um terminal que intercepta esses caracteres.

Cada janela tem um valor inicial de controle de fluxo definido com a opção -f ou o comando defflow .screenrc. Por padrão, as janelas são configuradas para alternância automática de fluxo. Ele pode então ser alternado entre os três estados 'fixo ligado', 'fixo desligado' e 'automático' interativamente com o comando flow vinculado a "C-a f".

O modo de alternância automática de fluxo lida com o controle de fluxo usando o modo TIOCPKT (como o rlogin faz). Se o driver tty não suportar TIOCPKT, o screen tentará descobrir o modo correto com base na configuração atual do teclado do aplicativo: quando ele está habilitado, o controle de fluxo é desligado e vice-versa. Claro, você ainda pode manipular o controle de fluxo manualmente quando necessário.

Se você estiver executando com o controle de fluxo habilitado e descobrir que pressionar a tecla de interrupção (geralmente Cc) não interrompe a exibição até que mais 6-8 linhas tenham rolado, tente executar o screen com a opção de interrupção (adicione o sinalizador de interrupção ao comando flow em seu .screenrc ou use a opção de linha de comando -i). Isso faz com que a saída que o screen acumulou do programa interrompido seja liberada. Uma desvantagem é que a memória do terminal virtual contém a versão não liberada da saída, o que, em casos raros, pode causar pequenas imprecisões na saída. Por exemplo, se você alternar telas e retornar ou atualizar a tela com C-a l, você verá a versão da saída que teria obtido sem a interrupção. Além disso, você pode precisar desativar o controle de fluxo (ou usar o modo de fluxo automático para desligá-lo automaticamente) ao executar um programa que espera que você digite o caractere de interrupção como entrada, pois é possível interromper a saída do terminal virtual para o seu terminal físico quando o controle de fluxo estiver habilitado. Se isso acontecer, uma atualização simples da tela com C-a l a restaurará. Experimente cada modo e use o modo que você achar mais confortável.


TÍTULOS (nomeando janelas)

Você pode personalizar o nome de cada janela na exibição da janela (visualizada com o comando windows (C-a w)) definindo-o com um dos comandos de título. Normalmente, o nome exibido é o nome real do comando do programa criado na janela. No entanto, às vezes é útil distinguir vários programas com o mesmo nome ou alterar o nome dinamicamente para refletir o estado atual da janela.

O nome padrão para todas as janelas do shell pode ser definido com o comando shelltitle no arquivo .screenrc, enquanto todas as outras janelas são criadas com um comando screen e, portanto, podem ter seu nome definido com a opção -t. Interativamente, existe a sequência de escape title-string (<esc>kname<esc>) e o comando title (C-a A). O primeiro pode ser gerado por um aplicativo para controlar o nome da janela sob controle de software, e o último solicitará um nome quando digitado. Você também pode vincular nomes predefinidos a teclas com o comando title para definir as coisas rapidamente sem solicitar. Alterar o título por meio desta sequência de escape pode ser controlado pelos comandos defdynamictitle e dynamictitle.

Finalmente, o screen tem uma heurística específica do shell que é habilitada definindo o nome da janela como search|name e configurando-a para ter uma sequência de escape de título nulo como parte do seu prompt. A parte search especifica uma string de pesquisa para o final do prompt, enquanto a parte name especifica o nome padrão do shell para a janela. Se o nome terminar com um :, o screen adicionará o que acredita ser o comando atual em execução na janela ao final do nome do shell da janela (por exemplo, name:cmd). Caso contrário, o nome do comando atual substituirá o nome do shell enquanto estiver em execução.

Aqui está como funciona: você deve modificar o prompt do seu shell para gerar uma sequência de escape de título nula (<esc>k<esc>) como parte do seu prompt. A última parte do seu prompt deve ser a mesma string que você especificou para a parte search do título. Depois de configurado, o screen usará a sequência de escape de título para limpar o nome do comando anterior e se preparar para o próximo comando. Em seguida, quando uma nova linha for recebida do shell, uma pesquisa será feita pelo final do prompt. Se encontrado, ele pegará a primeira palavra após a string correspondente e a usará como o nome do comando. Se o nome do comando começar com '!', '%' ou '^', o screen usará a primeira palavra da linha seguinte (se encontrada) em vez do nome recém-encontrado. Isso ajuda os usuários de csh a obter melhores nomes de comando ao usar comandos de controle de trabalho ou histórico.


Aqui estão alguns exemplos de .screenrc:

screen -t top 2 nice top

Adicionar esta linha ao seu .screenrc iniciaria uma versão "nice" do comando "top" na janela 2, com o nome "top" em vez de "nice".

shelltitle '> |csh'
screen 1

Esses comandos iniciariam um shell com o shelltitle fornecido. O título especificado é um autotítulo que espera que o prompt e o comando digitado se pareçam com o seguinte:

/usr/joe/src/dir> trn

(Ele procura após o '> ' para o nome do comando). O status da janela mostraria o nome "trn" enquanto o comando estivesse sendo executado e retornaria para "csh" após a conclusão.

bind R screen -t '% |root:' su

Ter este comando em seu .screenrc vincula a sequência de teclas C-a R ao comando "su" e dá a ele um nome de autotítulo de "root:". Para que este autotítulo funcione, a tela poderia ter a seguinte aparência:

% !em
emacs file.c

Aqui, o usuário digitou o comando de histórico csh "!em", que executou o comando "emacs" inserido anteriormente. O status da janela mostraria "root:emacs" durante a execução do comando e retornaria para simplesmente "root:" após a conclusão.

bind o title
bind E title ""
bind u title (unknown)

O primeiro vínculo não tem argumentos, então ele solicitará um título quando você digitar C-a o. O segundo vínculo limparia a configuração atual de um autotítulo (C-a E). O terceiro vínculo definiria o título da janela atual para "(unknown)" (C-a u).

Uma coisa a ter em mente ao adicionar uma sequência de escape de título nulo ao seu prompt é que alguns shells (como o csh) contam todos os caracteres não controlados como parte do comprimento do prompt. Se esses caracteres invisíveis não forem múltiplos de 8, retroceder sobre um tab resultará em uma exibição incorreta. Uma maneira de contornar isso é usar um prompt como este:

set prompt='^[[0000m^[k^[\% '

A sequência de escape <esc\>[0000m não apenas normaliza os atributos de caractere, mas todos os zeros arredondam o comprimento dos caracteres invisíveis para 8. Os usuários do Bash provavelmente desejarão imprimir a sequência de escape no PROMPT_COMMAND:

PROMPT_COMMAND='printf "\033k\033\134"'

(Eu usei \134 para imprimir um `\' por causa de um bug no bash v1.04).

O TERMINAL VIRTUAL

Cada janela em uma sessão do screen emula um terminal VT100, com algumas funções adicionais. O emulador VT100 é codificado, nenhum outro tipo de terminal pode ser emulado. Normalmente, o screen tenta emular o máximo possível do padrão VT100/ANSI. Mas, se o seu terminal carecer de certas funcionalidades, a emulação pode não estar completa. Nestes casos, o screen tem que informar aos aplicativos que alguns dos recursos estão faltando. Não há problema em máquinas que usam termcap, porque o screen pode usar a variável $TERMCAP para personalizar o termcap padrão do screen.

Mas, se você fizer um rlogin em outra máquina ou sua máquina suportar apenas terminfo, esse método falha. Por causa disso, o screen oferece uma maneira de lidar com esses casos. É assim que funciona:

Quando o screen tenta descobrir um nome de terminal para si, ele primeiro procura uma entrada chamada screen.<term>, onde <term> é o conteúdo da sua variável $TERM. Se nenhuma entrada desse tipo existir, o screen tenta screen (ou screen-w se o terminal for largo (132 colunas ou mais)). Se até mesmo esta entrada não puder ser encontrada, vt100 é usado como substituto.


A ideia é que, se você tiver um terminal que não suporte um recurso importante (por exemplo, apagar caractere ou limpar até o final da linha), você possa criar uma nova entrada termcap/terminfo para o screen (chamada screen.<dumbterm>) na qual esse recurso tenha sido desativado. Se esta entrada for instalada nas suas máquinas, você poderá fazer um rlogin e ainda assim manter a entrada termcap/terminfo correta. O nome do terminal é colocado na variável $TERM de todas as novas janelas. O screen também define a variável $TERMCAP, que reflete as capacidades do terminal virtual emulado. Observe, no entanto, que, em máquinas que usam o banco de dados terminfo, esta variável não tem efeito. Além disso, a variável $WINDOW é definida para o número da janela de cada janela.

O conjunto real de capacidades suportadas pelo terminal virtual depende das capacidades suportadas pelo terminal físico. Se, por exemplo, o terminal físico não suportar o modo sublinhado, o screen não colocará as capacidades us e ue na variável $TERMCAP da janela, de acordo. No entanto, um número mínimo de capacidades deve ser suportado por um terminal para que o screen seja executado; nomeadamente, rolagem, limpeza de tela e endereçamento direto do cursor (além disso, o screen não é executado em terminais de impressão ou em terminais que sobreescrevem).

Além disso, você pode personalizar o valor de $TERMCAP usado pelo screen usando o comando termcap .screenrc ou definindo a variável $SCREENCAP antes da inicialização. Quando esta última for definida, seu valor será copiado literalmente para a variável $TERMCAP de cada janela. Isso pode ser a definição completa do terminal ou um nome de arquivo onde o terminal screen (e/ou screen-w) é definido.

Observe que o screen honra o comando terminfo .screenrc se o sistema usar o banco de dados terminfo em vez de termcap.

Quando a capacidade booleana G0 está presente na entrada termcap do terminal no qual o screen foi chamado, a emulação de terminal do screen suporta vários conjuntos de caracteres. Isso permite que um aplicativo use, por exemplo, o conjunto de caracteres gráficos VT100 ou conjuntos de caracteres nacionais. As seguintes funções de controle do ISO 2022 são suportadas: bloqueio de mudança G0 (SI), bloqueio de mudança G1 (SO), bloqueio de mudança G2, bloqueio de mudança G3, mudança única G2 e mudança única G3. Quando um terminal virtual é criado ou redefinido, o conjunto de caracteres ASCII é designado como G0 a G3. Quando a capacidade G0 está presente, o screen avalia as capacidades S0, E0 e C0 se estiverem presentes. S0 é a sequência que o terminal usa para habilitar e iniciar o conjunto de caracteres gráficos em vez de SI. E0 é a substituição correspondente para SO. C0 fornece uma string de tradução caractere por caractere que é usada durante o modo semigráfico. Esta string é construída como a capacidade acsc do terminfo.

Quando as capacidades po e pf estão presentes na entrada termcap do terminal, os aplicativos em execução em uma janela do screen podem enviar saída para a porta da impressora do terminal. Isso permite que um usuário tenha um aplicativo em uma janela enviando saída para uma impressora conectada ao terminal, enquanto todas as outras janelas permanecem ativas (a porta da impressora é habilitada e desabilitada novamente para cada bloco de saída). Como efeito colateral, os programas em execução em janelas diferentes podem enviar saída para a impressora simultaneamente. Os dados enviados para a impressora não são exibidos na janela. O comando info exibe uma linha começando com PRIN enquanto a impressora está ativa.

O screen mantém uma linha de status fixa para cada janela. Se uma janela for selecionada, a linha de status fixa da tela será atualizada para corresponder à linha de status fixa da janela. Se a tela não tiver uma linha de status fixa, ela será exibida como uma mensagem padrão na tela. A linha de status fixa pode ser alterada com o comando ANSI Application Program Command (APC): ESC_<string>ESC\. Como uma conveniência para usuários do xterm, a sequência ESC]0..2;<string>^G também é aceita.

Algumas capacidades são incluídas apenas na variável $TERMCAP do terminal virtual se puderem ser implementadas de forma eficiente pelo terminal físico. Por exemplo, dl (excluir linha) é incluído na variável $TERMCAP apenas se o terminal suportar a exclusão de linha ou regiões de rolagem. Observe que isso pode provocar confusão quando a sessão é reconectada em um terminal diferente, pois o valor de $TERMCAP não pode ser modificado pelos processos pai.

A capacidade de "tela alternativa" não é habilitada por padrão. Defina o comando altscreen no arquivo .screenrc para habilitá-la.

O seguinte é uma lista de sequências de controle reconhecidas pelo screen. (V) e (A) indicam funções específicas do VT100 e ANSI ou ISO, respectivamente.

ESC E                      Próxima linha

ESC D                      Índice

ESC M                      Índice reverso

ESC H                      Definir guia horizontal

ESC Z                      Enviar string de identificação VT100

ESC 7                 (V)  Salvar cursor e atributos

ESC 8                 (V)  Restaurar cursor e atributos

ESC [s                (A)  Salvar cursor e atributos

ESC [u                (A)  Restaurar cursor e atributos

ESC c                      Redefinir para o estado inicial

ESC g                      Alerta visual

ESC Pn p                   Visibilidade do cursor (97801)

Pn = 6                     Invisível

Pn = 7                     Visível

ESC =                 (V)  Modo de teclado de aplicativo

ESC >                 (V)  Modo de teclado numérico

ESC # 8               (V)  Preencher a tela com E

ESC \                 (A)  Terminador de string

ESC ^                 (A)  String de mensagem de privacidade (linha de mensagem)

ESC !                      String de mensagem global (linha de mensagem)

ESC k                      String de definição (também conhecido como)

ESC P                 (A)  String de controle de dispositivo. Envia uma string diretamente para o terminal host
sem interpretação.

ESC _                 (A)  Comando de programa de aplicativo (hardstatus)

ESC ] 0 ; string ^G   (A)  Comando do sistema operacional (hardstatus, hack de título do xterm)

ESC ] 83 ; cmd ^G     (A)  Executa o comando da tela. Isso só funciona se o suporte multiusuário for
compilado no screen. O pseudo-usuário :window: é usado para verificar a lista de controle de acesso. Use addacl :window: -rwx #? para criar um
usuário sem direitos e permitir apenas os comandos necessários.

Control-N             (A)  Bloqueia Shift G1 (SO)

Control-O             (A)  Bloqueia Shift G0 (SI)

ESC n                 (A)  Bloqueia Shift G2

ESC o                 (A)  Bloqueia Shift G3

ESC N                 (A)  Shift único G2

ESC O                 (A)  Shift único G3

ESC ( Pcs             (A)  Designa o conjunto de caracteres como G0

ESC ) Pcs             (A)  Designa o conjunto de caracteres como G1

ESC * Pcs             (A)  Designa o conjunto de caracteres como G2

ESC + Pcs             (A)  Designa o conjunto de caracteres como G3

ESC [ Pn ; Pn H            Endereçamento direto do cursor

ESC [ Pn ; Pn f            o mesmo que acima

ESC [ Pn J                 Apaga na tela

Pn = None ou 0             Do cursor até o final da tela

Pn = 1                     Do início da tela até o cursor

Pn = 2                     Tela inteira

ESC [ Pn K                 Apaga na linha

Pn = None ou 0             Do cursor até o final da linha

Pn = 1                     Do início da linha até o cursor

Pn = 2                     Linha inteira

ESC [ Pn X                 Apaga o caractere

ESC [ Pn A                 Cursor para cima

ESC [ Pn B                 Cursor para baixo

ESC [ Pn C                 Cursor para a direita

ESC [ Pn D                 Cursor para a esquerda

ESC [ Pn E                 Cursor para a próxima linha

ESC [ Pn F                 Cursor para a linha anterior

ESC [ Pn G                 Cursor para a posição horizontal

ESC [ Pn `                 o mesmo que acima

ESC [ Pn d                 Cursor para a posição vertical

ESC [ Ps ;...; Ps m        Seleciona a renderização gráfica

Ps = None ou 0             Renderização padrão

Ps = 1                     Negrito

Ps = 2                (A)  Fraco

Ps = 3                (A)  Modo de destaque (ANSI: Itálico)

Ps = 4                     Sublinhado

Ps = 5                     Piscante

Ps = 7                     Imagem negativa

Ps = 22               (A)  Intensidade normal

Ps = 23               (A)  Modo de destaque desativado (ANSI: Itálico desativado)

Ps = 24               (A)  Não sublinhado

Ps = 25               (A)  Não piscante

Ps = 27               (A)  Imagem positiva

Ps = 30               (A)  Cor de primeiro plano preto

Ps = 31               (A)  Cor de primeiro plano vermelho

Ps = 32               (A)  Cor de primeiro plano verde

Ps = 33               (A)  Cor de primeiro plano amarelo

Ps = 34               (A)  Cor de primeiro plano azul

Ps = 35               (A)  Cor de primeiro plano Magenta

Ps = 36               (A)  Cor de primeiro plano Ciano

Ps = 37               (A)  Cor de primeiro plano Branco

Ps = 39               (A)  Cor de primeiro plano Padrão

Ps = 40               (A)  Cor de fundo Preto

Ps = ...

Ps = 49               (A)  Cor de fundo Padrão

ESC [ Pn g                 Limpar Tabulação

Pn = None ou 0             Limpar Tabulação na Posição Atual

Pn = 3                     Limpar Todas as Tabulações

ESC [ Pn ; Pn r       (V)  Definir Região de Rolagem

ESC [ Pn I            (A)  Tabulação Horizontal

ESC [ Pn Z            (A)  Tabulação para Trás

ESC [ Pn L            (A)  Inserir Linha

ESC [ Pn M            (A)  Excluir Linha

ESC [ Pn @            (A)  Inserir Caractere

ESC [ Pn P            (A)  Excluir Caractere

ESC [ Pn S                 Rolagem da Região de Rolagem para Cima

ESC [ Pn T                 Rolagem da Região de Rolagem para Baixo

ESC [ Pn ^                 igual ao acima

ESC [ Ps ;...; Ps h        Definir Modo

ESC [ Ps ;...; Ps l        Redefinir Modo

Ps = 4                (A)  Modo de Inserção

Ps = 20               (A)  Quebra de Linha Automática

Ps = 34                    Visibilidade Normal do Cursor

Ps = ?1               (V)  Teclas de Cursor do Aplicativo

Ps = ?3               (V)  Alterar a Largura do Terminal para 132 colunas

Ps = ?5               (V)  Vídeo Invertido

Ps = ?6               (V)  Modo de Origem

Ps = ?7               (V)  Modo de Quebra de Linha

Ps = ?9                    Rastreamento de Mouse X10

Ps = ?25              (V)  Cursor Visível

Ps = ?47              (V)  Tela Alternativa (código antigo do xterm)

Ps = ?1000            (V)  Rastreamento de Mouse VT200

Ps = ?1047                 Tela Alternativa (código novo do xterm)

Ps = ?1049                 Tela Alternativa (código novo do xterm)

ESC [ 5 i             (A)  Iniciar retransmissão para a impressora (Cópia de Mídia ANSI)

ESC [ 4 i             (A)  Interromper retransmissão para a impressora (Cópia de Mídia ANSI)

ESC [ 8 ; Ph ; Pw t        Redimensionar a janela para `Ph' linhas e `Pw' colunas (específico do SunView)

ESC [ c                    Enviar String de Identificação VT100

ESC [ x                    Enviar Relatório de Parâmetros do Terminal

ESC [ > c                  Enviar String de Atributos do Dispositivo Secundário VT220

ESC [ 6 n                  Enviar Relatório de Posição do Cursor

TRADUÇÃO DE ENTRADA

A fim de realizar uma emulação completa do VT100, a tela deve detectar que uma sequência de caracteres no fluxo de entrada foi gerada por uma pressão de tecla no teclado do usuário e inserir a sequência de escape no estilo VT100. A tela tem uma maneira muito flexível de fazer isso, permitindo mapear comandos arbitrários para sequências arbitrárias de caracteres. Para a emulação VT100 padrão, o comando sempre inserirá uma string no buffer de entrada da janela (veja também o comando na tabela de comandos). Como as sequências geradas por uma pressão de tecla podem mudar após uma reconexão de um tipo de terminal diferente, é possível vincular comandos ao nome do termcap das teclas. A tela inserirá a vinculação correta após cada reconexão. Consulte o comando bindkey para obter mais detalhes sobre a sintaxe e exemplos.

Aqui está a tabela dos atalhos de teclado padrão. A quarta coluna indica o comando executado quando o teclado é alternado para o modo de aplicativo.

┌─────────────────┬──────────────┬──────────┬──────────┐
│ Nome da tecla   │ Termcap name │ Comando  │ Modo App │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Cursor para cima│ ku           │ \033[A   │ \033OA   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Cursor para baixo│ kd           │ \033[B   │ \033OB   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Cursor para a direita│ kr           │ \033[C   │ \033OC   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Cursor para a esquerda│ kl           │ \033[D   │ \033OD   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 0│ k0           │ \033[10~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 1│ k1           │ \033OP   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 2│ k2           │ \033OQ   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 3│ k3           │ \033OR   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 4│ k4           │ \033OS   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 5│ k5           │ \033[15~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 6│ k6           │ \033[17~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 7│ k7           │ \033[18~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 8│ k8           │ \033[19~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 9│ k9           │ \033[20~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 10│ k;           │ \033[21~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 11│ F1           │ \033[23~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Tecla de função 12│ F2           │ \033[24~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Home            │ kh           │ \033[1~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ End             │ kH           │ \033[4~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Insert          │ kI           │ \033[2~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Delete          │ kD           │ \033[3~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Page Up         │ kP           │ \033[5~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Page Down       │ kN           │ \033[6~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 0│ f0           │ 0        │ \033Op   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 1│ f1           │ 1        │ \033Oq   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 2│ f2           │ 2        │ \033Or   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 3│ f3           │ 3        │ \033Os   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 4│ f4           │ 4        │ \033Ot   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 5│ f5           │ 5        │ \033Ou   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 6│ f6           │ 6        │ \033Ov   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 7│ f7           │ 7        │ \033Ow   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 8│ f8           │ 8        │ \033Ox   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico 9│ f9           │ 9        │ \033Oy   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico +│ f+           │ +        │ \033Ok   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico -│ f-           │ -        │ \033Om   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico \*│ f\*           │ \*        │ \033Oj   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico /│ f/           │ /        │ \033Oo   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico =│ fq           │ =        │ \033OX   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico .│ f.           │ .        │ \033On   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico ,│ f,           │ ,        │ \033Ol   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Teclado numérico Enter│ fe           │ \015     │ \033OM   │
└─────────────────┴──────────────┴──────────┴──────────┘

CAPACIDADES ESPECIAIS DO TERMINAL

A tabela a seguir descreve todas as capacidades de terminal que são reconhecidas pelo screen e que não estão no manual termcap(5). Você pode colocar essas capacidades em suas entradas termcap (em /etc/termcap) ou usá-las com os comandos termcap, terminfo e termcapinfo em seus arquivos screenrc. Frequentemente, não é possível colocar essas capacidades no banco de dados terminfo.

LP   (bool) O terminal tem margens no estilo VT100 (`margens mágicas`). Observe que essa capacidade está obsoleta porque o `screen` usa o padrão `xn` em vez disso.

Z0   (str)  Altera a largura para 132 colunas.

Z1   (str)  Altera a largura para 80 colunas.

WS   (str)  Redimensiona a tela. Essa capacidade tem a largura e a altura desejadas como argumentos. Exemplo do SunView(tm): `\E[8;%d;%dt`.

NF   (bool) O terminal não precisa de controle de fluxo. Envie ^S e ^Q diretamente para o aplicativo. O mesmo que 'flow off'. O oposto dessa capacidade é 'nx'.

G0   (bool) O terminal pode lidar com sequências de seleção de fonte ISO 2022.

S0   (str)  Alterna o conjunto de caracteres 'G0' para o conjunto de caracteres especificado. O padrão é `\E(%.`.

E0   (str)  Alterna o conjunto de caracteres 'G0' de volta para o conjunto de caracteres padrão. O padrão é `\E(B`.

C0   (str)   Use a string como tabela de conversão para a fonte '0'. Consulte a capacidade 'ac' para obter mais
detalhes.

CS   (str)   Alterne as teclas de cursor para o modo de aplicativo.

CE   (str)   Alterne as teclas de cursor de volta para o modo normal.

AN   (bool)  Ative o autonuke. Consulte o comando 'autonuke' para obter mais detalhes.

OL   (num)   Defina o limite do buffer de saída. Consulte o comando 'obuflimit' para obter mais detalhes.

KJ   (str)   Defina a codificação do terminal. Consulte o comando 'encoding' para obter codificações válidas.

AF   (str)   Altere a cor de primeiro plano do caractere de uma forma compatível com ANSI. Esta capacidade será quase sempre definida como '\E[3%dm' ('\E[3%p1%dm' em máquinas terminfo).

AB   (str)   Semelhante a 'AF', mas altera a cor de fundo.

AX   (bool)  Entende o conjunto de cores padrão ANSI (fg/bg) (\E[39m / \E[49m).

XC   (str)   Descreva uma tradução de caracteres para strings dependendo da fonte atual. Mais
detalhes a seguir na próxima seção.

XT   (bool)  O terminal entende sequências Xterm especiais (OSC, rastreamento do mouse).

C8   (bool)  O terminal precisa de negrito para exibir cores de alta intensidade (por exemplo, Eterm).

TF   (bool)  Adicione recursos ausentes à entrada termcap/info. (Definido por padrão).

TRADUÇÃO DE CARACTERES

Screen tem um mecanismo poderoso para traduzir caracteres para strings arbitrárias, dependendo do fonte e tipo de terminal atuais. Use este recurso se você quiser trabalhar com um padrão comum conjunto de caracteres (diga ISO8851-latin1) mesmo em terminais que espalham os caracteres mais incomuns ao longo de várias páginas de fonte de idioma nacional.

Sintaxe:
XC=<charset-mapping>{,,<charset-mapping>}
<charset-mapping> := <designator><template>{,<mapping>}
<mapping> := <char-to-be-mapped><template-arg>

As coisas entre chaves podem ser repetidas qualquer número de vezes.

Um <charset-mapping> diz a screen como mapear caracteres na fonte <designator> ('B': Ascii, 'A': UK,
'K': Alemão, etc.) para strings. Cada <mapping> descreve para qual string um único caractere será
traduzido. Um mecanismo de modelo é usado, pois a maioria das vezes os códigos têm muito em comum
(por exemplo, strings para alternar para e de outro conjunto de caracteres). Cada ocorrência de '%' em <template>
é substituído pelo <template-arg> especificado junto com o caractere. Se suas strings
não são muito semelhantes, então use '%' como um modelo e coloque a string completa em <template-arg>. Um
um mecanismo de citação foi adicionado para tornar possível o uso de um '%' real. O caractere '\' cita o
caracteres especiais '\', '%', e ','.

Aqui está um exemplo:

termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\\\,\334]'

Isso diz a screen como traduzir ISOlatin1 (charset 'B') caracteres de acento agudo maiúsculos em um terminal hp700 que possui um charset alemão. '\304' é traduzido para '\E(K[\E(B' e assim por diante. Note que esta linha é analisada três vezes antes que a tabela de pesquisa interna seja criada, portanto, muita citação é necessária para criar um único '\'.

Outra extensão foi adicionada para permitir mais emulação: se um mapeamento traduz o '%' não citado caractere, ele será enviado para o terminal sempre que a screen mudar para o correspondente . Neste caso especial, o modelo é considerado apenas '%' porque a sequência de alternância do charset e os mapeamentos de caracteres normalmente não têm muito em comum.


Este exemplo mostra um uso da extensão:

termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334'

Aqui, uma parte do conjunto de caracteres alemão ('K') é emulada em um xterm. Se o screen precisar mudar para o conjunto de caracteres 'K', '\E(B' será enviado para o terminal, ou seja, o conjunto de caracteres ASCII será usado em vez disso. O modelo é apenas '%', então o mapeamento é direto: '[' para '\304', '\' para '\326' e ']' para '\334'.

AMBIENTE

COLUMNS        Número de colunas no terminal (substitui a entrada termcap).
HOME           Diretório no qual procurar por .screenrc.
LINES          Número de linhas no terminal (substitui a entrada termcap).
LOCKPRG        Programa de bloqueio do screen.
NETHACKOPTIONS Ativa a opção nethack.
PATH           Usado para localizar programas para executar.
SCREENCAP      Para personalizar o valor TERMCAP de um terminal.
SCREENDIR      Diretório de socket alternativo.
SCREENRC       Arquivo screenrc de usuário alternativo.
SHELL          Programa shell padrão para abrir janelas (padrão /bin/sh). Veja também o comando .screenrc.
STY            Nome de socket alternativo.
SYSSCREENRC    Arquivo screenrc de sistema alternativo.
TERM           Nome do terminal.
TERMCAP        Descrição do terminal.
WINDOW         Número da janela de uma janela (no momento da criação).

ARQUIVOS

.../screen-4.?.??/etc/screenrc
.../screen-4.?.??/etc/etcscreenrc Exemplos na distribuição do screen para arquivos de inicialização privados e globais.
$SYSSCREENRC
/etc/screenrc                     Comandos de inicialização do screen
$SCREENRC
$HOME/.screenrc                   Lido após /etc/screenrc
$SCREENDIR/S-<login>
/run/screen/S-<login>             Diretórios de socket (padrão)
/usr/tmp/screens/S-<login>        Diretórios de socket alternativos.
<diretório de socket>/.termcap       Escrito pela função de saída "termcap"
/usr/tmp/screens/screen-exchange ou
/tmp/screen-exchange              buffer de comunicação interprocesso do screen
hardcopy.[0-9]                    Imagens de tela criadas pela função hardcopy
screenlog.[0-9]                   Arquivos de log de saída criados pela função log
/usr/lib/terminfo/?/* ou
/etc/termcap                      Bancos de dados de capacidade de terminal
/run/utmp                         Registros de login
$LOCKPRG                          Programa que bloqueia um terminal.

AUTORES

Originalmente criado por Oliver Laumann. Por muito tempo mantido e desenvolvido por Juergen Weigert, Michael Schroeder, Micah Cowan e Sadrul Habib Chowdhury. Desde 2015, mantido e desenvolvido por Amadeusz Slawinski <_> e Alexander Naumov <_>.

Copyright (c) 2018-2023 Alexander Naumov <_> Amadeusz Slawinski <_> Copyright (c) 2015-2017 Juergen Weigert <_> Alexander Naumov <_> Amadeusz Slawinski <_> Copyright (c) 2010-2015 Juergen Weigert <_> Sadrul Habib Chowdhury <_> Copyright (c) 2008, 2009 Juergen Weigert <_> Michael Schroeder <_> Micah Cowan <_> Sadrul Habib Chowdhury <_> Copyright (C) 1993-2003 Juergen Weigert <_> Michael Schroeder <_> Copyright (C) 1987 Oliver Laumann


Este programa é um software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU General Public License, conforme publicada pela Free Software Foundation; seja a versão 3, ou (à sua escolha) qualquer versão posterior. Este programa é distribuído na esperança de que seja útil, mas SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO. Veja a GNU General Public License para mais detalhes. Você deve ter recebido uma cópia da GNU General Public License junto com este programa (veja o arquivo COPYING); se não, escreva para a Free Software Foundation, Inc., 59 Temple Place - Suite 330 Boston, MA 02111-1307, EUA

COLABORADORES

Vincent Lefevre <_>, Carl Drougge <_>, Maarten ter Huurne <_>, Jussi Kukkonen <_>, Eric S. Raymond <_>, Thomas Renninger <_>, Axel Beckert <_>, Ken Beal <_>, Rudolf Koenig <_>, Toerless Eckert <_>, Wayne Davison <_>, Patrick Wolfe <_>, Bart Schaefer <_>, Nathan Glasser <_>, Larry W. Virden <_>, Howard Chu <_>, Tim MacKenzie <_>, Markku Jarvinen <_>, Marc Boucher <_>, Doug Siebert <_>, Ken Stillson <_>, Ian Frechett <_>, Brian Koehmstedt <_>, Don Smith <_>, Frank van der Linden <_>, Martin Schweikert <_>, David Vrona <_>, E. Tye McQueen <_>, Matthew Green <_>, Christopher Williams <_>, Matt Mosley <_>, Gregory Neil Shapiro <_>, Johannes Zellner <_>, Pablo Averbuj <_>.

DISPONIBILIDADE

A última versão oficial do screen está disponível via ftp anônimo em ftp.gnu.org/gnu/screen/ ou qualquer outro site de distribuição GNU. A página inicial do screen é https://savannah.gnu.org/projects/screen/ e o repositório git é https://git.savannah.gnu.org/cgit/screen.git. Se você deseja ajudar, envie uma mensagem para _.

BUGS

^ m' (modo de exclusão) exs' não são tratados corretamente (são ignorados). `xn' é tratado como um indicador de margem mágica.

O screen não tem conhecimento de caracteres de altura dupla ou largura dupla. Mas esta é a única área onde o vttest pode falhar.

Não é possível alterar a variável de ambiente $TERMCAP ao reconectar-se a um tipo de terminal diferente.

O suporte para sistemas baseados em terminfo é muito limitado. Adicionar recursos extras a $TERMCAP pode não ter nenhum efeito.

O screen não usa guias de hardware.

O screen deve ser instalado como set-uid com o proprietário root na maioria dos sistemas, a fim de poder alterar corretamente o proprietário do arquivo de dispositivo tty para cada janela. Permissões especiais também podem ser necessárias para gravar o arquivo /run/utmp.

As entradas em /run/utmp não são removidas quando o screen é encerrado com SIGKILL. Isso fará com que alguns programas (como "w" ou "rwho") anunciem que um usuário está conectado quando, na verdade, não está.


O terminal pode exibir um aviso estranho quando seu tty não tiver uma entrada utmp.

Quando a linha do modem é desligada, o screen pode não se desconectar (ou encerrar) automaticamente, a menos que o driver do dispositivo esteja configurado para enviar um sinal HANGUP. Para desconectar uma sessão do screen, use a opção de linha de comando -D ou -d.

Se uma senha for definida, as opções de linha de comando -d e -D ainda desconectam uma sessão sem perguntar.

Tanto breaktype quanto defbreaktype alteram o método de geração de interrupção usado por todos os dispositivos de terminal. O primeiro deve alterar uma configuração específica da janela, enquanto o segundo deve alterar apenas o padrão para novas janelas.

Ao se conectar a uma sessão multiusuário, o arquivo .screenrc do usuário não é carregado. As configurações pessoais de cada usuário devem ser incluídas no arquivo .screenrc do qual a sessão é iniciada ou devem ser alteradas manualmente.

Uma imaginação peculiar é mais útil para aproveitar ao máximo todos os recursos.

Envie relatórios de bugs, correções, melhorias, camisetas, dinheiro, cerveja e pizza para _.

VEJA TAMBÉM

termcap(5), utmp(5), vi(1), captoinfo(1), tic(1), tty(4), pty(7)