[OpenBSD]

[Índice da FAQ] [Seção 6 - Redes] [Seção 8 - Questões Gerais]

7 - Controle do Teclado e da Tela


Conteúdo



7.1 - Como remapear o teclado? (wscons)

Plataformas mais modernas que operem OpenBSD usam com driver wscons(4).

Com o wscons(4), a maioria das opções podem ser controladas usando o utilitário wsconsctl(8). Por exemplo, para mudar o mapa do teclado com o wsconsctl(8), você deve executar o seguinte:

# wsconsctl keyboard.encoding=uk

No próximo exemplo, nós remapeamos a "Caps Lock" para ser "Control L" (tecla CTRL esquerda):

# wsconsctl keyboard.map+="keysym Caps_Lock = Control_L"

7.2 - O OpenBSD suporta o mouse no modo console?

Para as plataformas alpha, amd64 e i386, o OpenBSD fornece o wsmoused(8), um porte do moused(8) do FreeBSD. Ele pode ser ativado automaticamente na inicialização, basta copiar e editar a linha apropriada do rc.conf no rc.conf.local(8).

7.3 - Como acessar a memória de retrocesso de páginas ("scrollback") do console (amd64, i386, qualquer Alpha)

Em algumas plataformas, o OpenBSD fornece uma memória de retrocesso de páginas ("scrollback"). Isso permite que você veja informações que foram mostradas anteriormente na sua tela. Para mover para cima e para baixo na memória, simplesmente use a combinação de teclas [SHIFT]+[PGUP] e [SHIFT]+[PGDN].

A memória de retrocesso de páginas padrão, ou o número de páginas que você pode movimentar e visualizar, é 8. Essa é uma característica do driver vga(4), dessa forma ele não funciona sem uma placa VGA em plataforma alguma (muitos sistemas Alpha possuem uma placa de vídeo TGA).

Devido à limitação de espaço, os kernels de instalação não fornecem a função de retrocesso de páginas. A mudança de console limpa a memória de retrocesso de páginas.

7.4 - Como mudar de console? (amd64, i386, Zaurus, qualquer Alpha)

Nos sistemas amd64, i386 e Alpha com placas vga(4), o OpenBSD dispõe de seis terminais virtuais por padrão, /dev/ttyC0 até /dev/ttyC5. O terminal ttyC4 é reservado para uso do sistema X Window, deixando cinco consoles de texto. Você pode passear entre eles usando [CTRL]+[ALT]+[F1], [CTRL]+[ALT]+[F2], [CTRL]+[ALT]+[F3], [CTRL]+[ALT]+[F4] e [CTRL]+[ALT]+[F6].

O ambiente X usa o terminal ttyC4, [CTRL]+[ALT]+[F5]. Quando estiver usando o X, as teclas [CTRL]+[ALT]+[Fn] levam você até as telas de texto; [CTRL]+[ALT]+[F5] leva você de volta ao ambiente gráfico.

Se você quer ter mais consoles virtuais do que o número padrão, use o comando wsconscfg(8) para criar as telas para ttyC6, ttyC7 e seguintes. Por exemplo:

wsconscfg -t 80x25 6
cria o terminal virtual para ttyC6, acessado por [CTRL]+[ALT]+[F7]. Não se esqueça de adicionar esse comando no seu arquivo rc.local(8) se você quer a tela extra na próxima vez que você inicializar o computador.

Note que você não terá um prompt "login:" no console virtual recém-criado, a menos que você defina-o como "on" (ligado) no /etc/ttys(5), e reinicialize o computador ou envie um sinal HUP ao init(8) usando o kill(1).

Na plataforma Zaurus, dois terminais virtuais (/dev/ttyC0 e /dev/ttyC1) estão disponíveis por padrão, acessados com [ALT]+[CALENDAR] e [ALT]+[ADDRESS] (A tecla [ALT] situa-se à direita da tecla [CTRL] esquerda).

7.5 - Como usar a resolução 80x50 no console? (amd64, i386, qualquer Alpha)

Usuários de amd64, i386, e da arquitetura Alpha com VGA, normalmente têm uma tela de console com 25 linhas de 80 caracteres. Entretanto, muitas placas de vídeo VGA são capazes de mostrar uma resolução maior, com 50 linhas de 80 caracteres.

Primeiro, uma fonte que suporta a resolução desejada precisa ser carregada usando o comando wsfontload(8). As telas de texto 80x25 padrão usam fontes de 8x16 pixels; para dobrar o número de linhas nós teremos que usar fontes de 8x8 pixels.

Depois disso, nós temos que excluir e recriar um console virtual com a resolução de tela desejada, usando o comando wsconscfg(8).

Isso pode ser feito automaticamente na inicialização, adicionando as seguintes linhas no final do seu arquivo rc.local(8):

wsfontload -h 8 -e ibm /usr/share/misc/pcvtfonts/vt220l.808
wsconscfg -dF 5
wsconscfg -t 80x50 5
Como em qualquer modificação na configuração do seu sistema, é recomendado que você gaste algum tempo lendo as páginas de manual para entender o que esses comandos fazem.

A primeira linha acima carrega a fonte 8x8. A segunda linha exclui a tela 5 (que pode ser acessada com [CTRL]+[ALT]+[F6]). A terceira linha cria uma nova tela 5 com 50 linhas de 80 caracteres cada. Se você fizer isso, você verá sua tela primária, e os outros três consoles virtuais por padrão, no modo 80x25 padrão, mas uma nova tela 5 em 80x50 estará acessível via [CTRL]+[ALT]+[F6].

Lembre-se que [CTRL]+[ALT]+[F1] é a tela 0 (ttyC0). Se você deseja alterar outras telas, simplesmente repita os passos de excluir e adicionar para cada tela que você quer usar na resolução 80x50.

Você deve evitar a mudança da tela 4 (ttyC4, [CTRL]+[ALT]+[F5]), que é usada pelo X como uma tela gráfica. Também não é possível mudar a resolução do dispositivo de console primário (ou seja, ttyC0).

Como era de se esperar, todos esses comandos também podem ser digitados na linha de comando, como root ou (melhor) usando o sudo(8).

Nota: isso não funciona em todas as placas de vídeo. Infelizmente, nem todas as placas de vídeo suportam o carregamento de fontes que o wscons(4) necessita para executar no modo texto 80x50. Nesses casos, você deve considerar o uso do X.

7.6 - Como usar um console serial?

Há várias razões pelas quais você pode querer usar um console serial no seu sistema OpenBSD: O OpenBSD suporta console serial na maioria das plataformas, entretanto, os detalhes variam bastante entre as plataformas.

Note que trabalhar com interface serial NÃO é uma tarefa fácil -- você frequentemente precisa de cabos pouco usuais e portas que não são padronizadas entre as máquinas, em alguns casos elas são incompatíveis em uma máquina. Nós assumimos que você sabe como selecionar o cabo apropriado para conectar seu computador e o dispositivo atuando como um terminal serial. Um tutorial completo sobre interface serial está longe do escopo deste artigo, entretanto, nós damos uma dica: só porque as extremidades do cabo se encaixaram não quer dizer que vai funcionar.

Modificação do /etc/ttys

O processo para ter um console serial funcionando no OpenBSD divide-se em duas partes. Primeiro, você precisa ter o OpenBSD usando sua porta serial como um console para os modos status e usuário único. Essa parte é dependente de plataforma. Segundo, você precisa ativar a porta serial para ser usada como um terminal interativo, assim um usuário pode iniciar sessão nele quando em execução no modo multiusuário. Essa parte é similar entre as plataformas e é detalhada aqui.

Sessões de terminal são controladas pelo arquivo /etc/ttys. Antes do OpenBSD dar-lhe um prompt "login:" no dispositivo, ele tem que ser ativado no /etc/ttys; depois de tudo, existem outros usos para uma porta serial além de terminal. Em plataformas que têm um teclado e uma tela como console, o terminal serial é tipicamente desativado por padrão. Nós usaremos a plataforma i386 como um exemplo. Nesse caso, você precisa trocar a linha:

     tty00   "/usr/libexec/getty std.9600"   unknown off
por esta outra:
     tty00   "/usr/libexec/getty std.9600"   vt220   on secure
Nesse caso, tty00 é a porta serial que nós estamos usando como um console. vt220 é a entrada termcap(5) equivalente ao SEU terminal (outras opções são vt100, xterm, etc.). O "on" ativa o getty para aquela porta serial, assim um prompt "login:" será apresentado, o "secure" permite que o root (uid 0) inicie uma sessão neste console (que pode ou não ser algo desejado), e o "9600" é a velocidade do terminal em bauds. Resista à tentação de colocar a velocidade em bauds no máximo que seu hardware pode suportar, você está mais apto a criar problemas do que benefícios. A maioria dos sistemas possuem uma velocidade "padrão" (suportada por padrão pela ROM e/ou pelo carregador de inicialização, na maioria das vezes esse valor é 9600); use esse valor, a menos que você tenha uma boa razão para usar algo diferente.

Note que você pode usar um console serial para a instalação sem ter que fazer essa etapa, porque o sistema está em execução no modo usuário único e não está usando o getty para o início de sessão.

Em algumas plataformas e configurações, você precisa colocar o sistema em modo usuário único para fazer essa alteração se um console serial é tudo que você tem disponível.

amd64 e i386

Para que o processo de inicialização use a porta serial como console, crie ou edite seu arquivo /etc/boot.conf para incluir a linha:
     set tty com0
para usar a primeira porta serial como seu console. A velocidade em bauds é 9600bps por padrão, isso pode ser alterado com uma linha em /etc/boot.conf usando a opção stty. Esse arquivo é colocado no seu disco de inicialização, que também pode ser um disquete de instalação, ou o comando pode ser digitado no prompt boot> do carregador de inicialização de segundo estágio do OpenBSD para uma primeira utilização do console serial.

Notas para amd64 e i386:

SPARC e UltraSPARC

Essas máquinas são construídas para serem completamente mantidas com um console serial. Simplesmente remova o teclado de uma máquina, e o sistema funcionará na serial.

Notas para SPARC e UltraSPARC

MacPPC

As máquinas MacPPC são configuradas para utilizar um console serial através do "OpenFirmware". Use os comandos:
     ok setenv output-device scca
     ok setenv input-device scca
     ok reset-all
 
Configure seu console serial para 57600bps, 8N1.

Notas para MacPPC

Mac68k

O console serial é selecionado no programa Booter, no menu "Options" em "Serial Ports". Marque a caixa "Serial Console", então escolha a porta "Modem" ou "Printer". Você precisa de um cabo de impressora ou modem Macintosh para fazer a conexão na porta serial do seu Mac. Se você deseja ter isso como padrão, mande o programa Booter salvar suas opções.

Notas para Mac68k

7.7 - Como deixar o console em branco? (wscons)

Se você deseja deixar seu console em branco depois de um período de inatividade sem uso do X, você pode alterar as seguintes variáveis do wscons(4): Você pode configurar essas variáveis com uma linha de comando usando o wsconsctl(8):
     # wsconsctl display.screen_off=60000
     display.screen_off -> 60000
ou configurá-las permanentemente editando o arquivo /etc/wsconsctl.conf, assim essas mudanças terão efeito na próxima inicialização:
     display.vblank=on               # Deixa em branco a sincronização
                                     # vertical
     display.screen_off=600000       # Define o tempo de expiração para
                                     # a tela em branco para 10 minutos
     display.kbdact=on               # Restaura a tela na entrada de
                                     # dados pelo teclado
     display.outact=off              # Restaura a tela com a saída
                                     # no monitor
A tela em branco é ativada a partir do momento que display.kbdact ou display.outact estejam definidas como "on".

7.8 - TUDO QUE EU DIGITO NO PROMPT DE LOGIN ESTÁ EM MAIÚSCULO!

Na realidade, essa é uma funcionalidade, não um problema.

Virtualmente todos os comandos do Unix e nomes de usuários são digitados em minúsculo. No entanto, alguns terminais muito velhos suportam somente caracteres em maiúsculo, tornando a utilização difícil, ou então impossível de ser usado com o Unix. Se você digitou todo seu nome de usuário em maiúsculo, getty(8) assume que seu terminal não suporta caracteres minúsculos, e interpreta tudo que você digitar como caracteres minúsculos enquanto mostra os caracteres em maiúsculo. Se você tem uma senha composta de caracteres maiúsculos e minúsculos, o início de sessão será impossível.

Pressionar CTRL-D no prompt de login faz com que o getty(8) seja terminado e o init(8) mostre um novo prompt, que aceita corretamente as maiúsculas e minúsculas.

7.9 - O que é o tmux?

Para aqueles(as) familiares com o programa "screen", fornecido como um pacote, ou com o window(1), que era parte da base do sistema, pode ser mais fácil responder a essa pergunta dizendo que o tmux(1) realiza muitas das funções do screen e do window, com muitos recursos adicionais.

Para aqueles(as) que não são familiares com esses programas, tmux é um multiplexador de terminal. Esse é um programa que permite que um número de outros processos compartilhem a mesma tela por entrada e por saída. No tmux, tal coleção de programas é conhecida como uma sessão, com cada programa contido em uma janela do tmux.

Em adição ao compartilhamento do terminal, o tmux permite a você desconectar da tela uma sessão e suas janelas, deixando-as continuar em execução no segundo plano, e mais tarde reconectá-las a mesma tela ou a uma tela diferente. Uma sessão pode ser desconectada manualmente ou através de um evento inesperado, como uma desconexão de rede, em ambos os casos os programas sobrevivem e continuam em execução normalmente.

O tmux também tem muitos outros recursos, como a divisão de uma única janela em múltiplas seções (conhecidas como painéis), um histórico de texto exibido em cada janela, cópia e cola de texto entre as janelas, atalhos de teclas configuráveis e trancamento de terminal. Dê uma olhada na página de manual tmux(1) para obter mais informações.

Como eu uso o tmux?

O primeiro passo é executar o tmux:

$ tmux

Isso inicia um novo tmux com uma única nova sessão (chamada sessão "0") e cria um cliente mostrando-a na tela. A maior parte da tela mostra uma janela contendo um prompt de shell, e você pode notar que a última linha é ocupada por uma linha de status. Esta mostra o nome da sessão entre colchetes na esquerda, o título da janela (normalmente vazio para shells) e o horário na direita, e um sumário das janelas abertas atualmente no meio. Na sua nova sessão, as janelas abertas atualmente contêm uma entrada, por exemplo:

0:ksh*

Uma breve nota sobre terminais: no OpenBSD, aplicativos conhecem as capacidades do terminal através da variável de ambiente TERM. Esta é definida com o nome de uma entrada no banco de dados terminfo(5) e diz aos programas que o terminal, por exemplo, suporta cores, ou tem a habilidade de inserir linhas, ou muitas outras coisas. Uma coisa importante a notar é que a entrada "xterm" no banco de dados não inclui cores, então o tmux por padrão não utiliza cores no xterm; TERM deve ser definida como "xterm-xfree86" se as cores são desejadas (o recurso do X "XTerm*termName" pode ser definido em .Xdefaults para utilizar isso em todos os xterms). Também é importante que TERM em shells iniciados dentro do tmux esteja definida como "screen", ou os programas executados a partir deles podem não ser mostrados corretamente - o tmux define-a por si mesmo, mas cuidado deve ser tomado para não sobrescrevê-la nos arquivos de inicialização do shell.

Voltando à linha de status, o número "0" é o índice das janelas, "ksh" o nome da janela, e o "*" indica que esta é a janela atual mostrada acima da linha de status. Toda digitação é passada para o shell e toda saída é mostrada. Por exemplo, se você inicia o "top":

$ top

Ele é executado normalmente, ocupando a parte da tela acima da linha de status. Você também pode notar que o nome da janela na linha de status mudou de "ksh" para "top" - o tmux renomeia as janelas para refletir o programa que está atualmente em execução nelas.

Agora, digamos que você queira desconectar o tmux da tela e retornar ao shell original de onde você o iniciou. Uma sessão do tmux pode ser desconectada através da digitação das teclas Ctrl e b juntas, e então a tecla d. A combinação de teclas Ctrl-b (abreviada no tmux e em sua página de manual como "C-b") é conhecida com tecla de prefixo e é utilizada para dizer ao tmux que a próxima tecla pressionada é uma instrução de que ele deve realizar alguma ação em vez de passar a tecla para o programa na janela.

Após pressionar Ctrl-b d e retornar para o prompt de shell, reconecte a sessão do tmux utilizando o comando "attach":

$ tmux attach

A sessão do tmux vai reaparecer, com a linha de status e o "top" ainda em execução. (Se no lugar você executa o tmux novamente, e sem argumentos, uma segunda sessão será criada, nomeada como "1".)

Continuando, vamos criar uma segunda janela. Isso é feito utilizando a tecla "c": pressione a tecla de prefixo, Ctrl-b, então a tecla "c". Uma nova janela é criada e, novamente, um prompt de shell é mostrado na tela. A linha de status é atualizada para mostrar a nova janela:

0:top- 1:ksh*

O "-" depois do nome mostra a janela que foi a atual previamente (a última janela). Pressionar Ctrl-b c novamente cria um outro novo shell:

0:top  1:ksh- 2:ksh*

Existem diversos comandos para a movimentação entre as janelas. Da janela 2 você pode se mover para a janela anterior, número 1, digitando Ctrl-b p. Ctrl-b n movimenta-o para a próxima janela: nesse caso não existe a janela 3, então a janela atual passa a ser a janela 0. Você também pode pressionar Ctrl-b w para obter um menu interativo das janelas abertas, Ctrl-b l para movimentá-lo para a última janela utilizada (a marcada com "-"), ou Ctrl-b 0 para movimentá-lo para a janela 0, Ctrl-b 1 para a janela 1, e assim vai até Ctrl-b 9 para a janela 9. Então para voltar para o "top" na janela 0 você pode pressionar Ctrl-b 0 para ir diretamente para a janela 0, pressionar Ctrl-b p duas vezes para mover-se passando pela janela 1, Ctrl-b n para ir da janela 2 para a janela 0, ou pressionar Ctrl-b w e selecionar a janela 0 na lista.

Algumas vezes você pode querer criar uma janela executando um programa diretamente, sem antes utilizar um shell. Isso pode ser feito a partir do prompt de comandos do tmux. Pressionar a sequência de teclas Ctrl-b : muda a linha de status para mostrar um prompt ":" no qual comandos podem ser especificados. Todos os comandos do tmux estão documentados na página de manual. Nesse caso o comando "new-window" é necessário. Cada comando tem um apelido de abreviação que pode ser utilizado no lugar da digitação do nome completo; para "new-window" o apelido é "neww". Então, para criar uma nova janela executando o tetris(6), digite:

neww tetris

A nova janela fecha-se quando o tetris termina sua execução, ou pode ser excluída, forçosamente, utilizando o atalho de teclas Ctrl-b &. Isso primeiro exibe um prompt pedindo a confirmação e, se a confirmação é dada, fecha a janela e termina o programa que está em execução nela.

Um outro requerimento comum é renomear uma janela. Isso pode ser feito com o atalho de teclas Ctrl-b ,. A linha de status muda para mostrar um prompt "(rename-window)" no qual o novo nome pode ser especificado. Renomear uma janela desliga o renomeamento automático para aquela janela; para reativar aquele recurso, pressione Ctrl-b : para ir para o prompt de comandos e especifique o seguinte (mais informações sobre o que isso significa estão na próxima seção):

setw -u automatic-rename

Uma outra importante tecla que vale a pena lembrar: Ctrl-b ?. Isso mostra uma lista de todas as teclas do tmux e os comandos que elas executam. Por exemplo, Ctrl-b ? mostra que a tecla c está vinculada ao comando "new-window" e a tecla n ao comando "next-window".

Configuração do tmux

Muitos usuários querem personalizar a aparência ou comportamento do tmux. Isso é feito através do arquivo de configuração ~/.tmux.conf. Esse arquivo é uma lista de comandos do tmux que são executados quando o tmux é iniciado, antes da primeira sessão ser criada. Todos os comandos do tmux estão documentados na página de manual, mas alguns exemplos comuns que talvez você queira colocar no seu arquivo de configuração são discutidos abaixo.

O requerimento mais comum é definir opções. Existem dois tipos de opção no tmux: opções de sessão e opções de janela. Opções de sessão controlam o comportamento de uma sessão, e opções de janela o comportamento de uma janela individual. Para ambas existe um conjunto de opções globais. Quando o tmux vai decidir o valor de uma opção para uma sessão ou janela particular, ele olha primeiro nas opções locais daquela janela; se a opção não foi definida, o valor da opção global é utilizado.

Opções de sessão são definidas com o comando "set-option" (apelido "set"), e opções de janela com o comando "set-window-option" (apelido "setw"). Para definir uma opção global utilize o sinalizador "-g"; se esse sinalizador não é utilizado a opção é definida para a janela ou sessão atual. Esses comandos também aceitam alguns outros sinalizadores, tal como o "-u" para indefinir uma opção local e permitir que uma janela ou sessão herde a opção global novamente.

No arquivo de configuração a definição de opções globais é simples. Vamos dar uma olhada em alguns exemplos de personalização da linha de status:

set -g status-bg blue
set -g status-right '#(sysctl vm.loadavg)'
setw -g window-status-current-attr underscore

Colocar esses três comandos no arquivo .tmux.conf e reiniciar o tmux muda a cor de segundo plano da linha de status para azul, coloca a carga média atual do sistema no lado direito e sublinha a janela atual. A linha de status pode ser desativada totalmente com:

set -g status off

Existe um grande número de outras opções; uma outra opção útil é mudar os atalhos de teclas no prompt de comandos, na lista de janelas e em outros modos interativos do tmux para o estilo do vi(1):

set -g status-keys vi
setw -g mode-keys vi

As opções atuais e seus valores podem ser listados com os comandos "show-options" e "show-window-options". Igual aos comandos de definição, estes aceitam "-g" para mostrar as opções globais.

Uma outra tarefa comum para o arquivo de configuração é adicionar ou modificar atalhos de teclas dos comandos do tmux, isto é, os comandos que são executados após você pressionar Ctrl-b com outra tecla. Esses são adicionados ou alterados com o comando "bind-key" (apelido "bind") e removidos com o comando "unbind-key" (apelido "unbind"). Dois exemplos de uso do "bind-key":

bind C-d detach
bind / neww 'exec top'

A primeira linha cria um atalho em Ctrl-b Ctrl-d para desconectar o tmux, o mesmo que o padrão Ctrl-b d, e o segundo vincula Ctrl-b / para criar uma nova janela com o programa top em execução.

Muitas pessoas gostam de utilizar uma tecla de prefixo diferente de Ctrl-b. Isso pode ser alcançado utilizando os comandos de "set-option" e de vinculação de teclas para alterar a tecla de prefixo e mudar de modo que, ao pressionar duas vezes o prefixo, a mesma tecla continue passando através da janela. Para mudar a tecla de prefixo para Ctrl-a:

set -g prefix C-a
unbind C-b
bind C-a send-prefix

A última coisa útil para se fazer no arquivo de configuração é criar um conjunto inicial de janelas quando o tmux inicia. Isso é um pouco mais complicado que os exemplos anteriores. No tmux uma sessão não pode não ter janelas, e você não pode criar janelas sem uma sessão. Então, para ter as janelas criadas pelo arquivo de configuração você deve primeiro criar uma sessão para contê-las. Por exemplo (note que "new" é o apelido para o comando "new-session"):

new -d 'exec top'
neww -d
neww -d

Esses comandos criam uma nova sessão com o "top" em execução na primeira janela, e então cria duas janelas adicionais. Os sinalizadores "-d" instruem o tmux a não tentar conectar a nova sessão ou tornar as novas janelas a janela atual. Antes de colocar essas linhas no .tmux.conf, existe um outro problema. Quando executado sem argumentos, o tmux executa o comando "new-session", então ao iniciar o tmux com um "tmux" a partir do shell, o arquivo de configuração diz ao tmux para criar uma sessão, então o comando do shell diz a ele para criar uma outra, e assim você acaba com duas sessões. Para evitar isso, o tmux deve ser iniciado com "tmux attach" ao criar uma sessão a partir do arquivo de configuração - isso significa que ele cria uma nova sessão a partir do .tmux.conf e então conecta-se imediatamente a ela sem criar uma segunda sessão.

Utilização avançada do tmux

Esta seção cobre brevemente alguns dos recursos mais avançados disponíveis no tmux. Veja a página de manual para obter mais informações.

No tmux você pode copiar e colar texto entre as janelas. Isso é feito copiando o texto no modo de cópia e então colando com o comando de colar. Para entrar no modo de cópia, pressione Ctrl-b [. No modo de cópia (com a opção de janela "mode-keys" definida como emacs; para teclas vi, veja a página de manual) as teclas direcionais podem ser utilizadas para posicionar o cursor, Ctrl-Espaço inicia a seleção e Ctrl-w copia. Você também pode utilizar Page Up, Page Down, Ctrl-a e Ctrl-e para movimentar o cursor ao redor. Pressione q ou Escape para sair do modo de cópia. Depois disso, Ctrl-b ] cola o texto copiado na janela atual como se você tivesse digitado diretamente.

tmux pode ser utilizado com facilidade em scripts, e a maioria dos comandos que podem ser especificados a partir do prompt de comandos ou vinculados a uma tecla podem ser executados a partir do shell. Praticamente todos os comandos do tmux aceitam um argumento "-t" opcional que especifica a sessão ou janela onde o comando deve atuar. Por exemplo, este comando:

$ tmux kill-window -t0:1
exclui a janela 1 na sessão 0. E:
$ tmux new-window -tmysession

cria uma nova janela na sessão nomeada "mysession". Muitos comandos aceitam outros argumentos; por exemplo, o comando "new-window" aceita uma opção "-n" para dar nome a nova janela, e "new-session" aceita diversos argumentos para especificar os atributos da janela inicial criada com a sessão. Esses argumentos também podem ser utilizados quando um comando está vinculado a uma tecla ou quando é executado a partir de um prompt de comando.

Um outro recurso útil é a capacidade de dividir uma única janela em várias seções, chamadas de painéis. Você pode dividir uma janela verticalmente (do topo para a base) com a combinação de teclas Ctrl-b ". Um painel pode ser redimensionado acima e abaixo com Ctrl-b Alt-Up e Ctrl-b Alt-Down, e o painel ativo pode ser mudado com Ctrl-b o. Adicionalmente, uma janela dividida daquela forma pode ser alterada para um dos vários layouts fixos, que podem ser alternados ciclicamente com Ctrl-b Espaço; mas painéis em um desses layouts não podem ser redimensionados. No OpenBSD -current a divisão foi estendida para suportar a divisão horizontal (Ctrl-b %), e layouts fixos foram alterados para que eles fossem aplicados uma vez (com o mesmo atalho nas teclas Ctrl-b Espaço), mas então pudessem ser livremente redimensionados e modificados, tanto horizontalmente quanto verticalmente.

[Índice da FAQ] [Seção 6 - Redes] [Seção 8 - Questões Gerais]


[voltar] www@openbsd.org
$OpenBSD: faq7.html,v 1.13 2013/01/05 15:19:49 ajacoutot Exp $