Jump to content
From ArchWiki
Status de tradução: Esse artigo é uma tradução de Keyboard shortcuts. Data da última tradução: 2020-07-09. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Este artigo visa fornecer uma lista (não tão popular) dos atalhos de teclado padrão e também fornece informações sobre sua personalização.

## Atalhos padrão

### Kernel (SysRq)

Existem certos atalhos de baixo nível implementados no kernel por meio da tecla sysrq que podem ser usados para depuração e recuperação de um sistema instável ou travado. Sempre que possível, recomenda-se que estes atalhos sejam utilizados ao invés de fazer um desligamento forçado via hardware (segurando o botão de energia até desligar completamente o sistema).

#### Ativação

systemd possui a máscara de bits de permissões sysrq definida como 0x10 por padrão, que não permite reinicialização ou sinalização de processo, entre outras coisas. Para permitir o uso completo da tecla sysrq no seu sistema, adicione `kernel.sysrq=1` à sua configuração de sysctl. Valores maiores que 1 podem ser usados para ativar seletivamente funções sysrq; veja a documentação do Linux Kernel para detalhes. Se desejar tê-la ativada já durante o inicialização, adicione a configuração apropriada para a configuração do sysctl. Se quiser ter certeza de que elas serão ativadas mesmo antes das partições serem montadas e no initrd, então adicione `sysrq_always_enabled=1` nos parâmetros do kernel.

Observe que alterar a configuração por esses métodos fará com que as alterações persistam durante as reinicializações. Se você quiser tentar alterar as configurações do sysrq apenas para sua sessão atual, pode executar `sysctl kernel.sysrq=1` ou `echo "1" > /proc/sys/kernel/sysrq`

Existem alguns riscos óbvios de segurança envolvidos na ativação completa da tecla sysrq. Além de forçar reinicializações e similares, ela pode ser usada para despejar o conteúdo dos registros da CPU, o que teoricamente poderia revelar informações confidenciais. Como usá-la requer acesso físico ao sistema (a menos que você saia do seu caminho), a maioria dos usuários de desktop provavelmente considerará o nível de risco aceitável. Dito isso, certifique-se de entender completamente as implicações da ativação e a dinâmica do contexto maior em que seu sistema está operando antes de ativar o sysrq completamente.

#### Reinicialização

Uma linguagem comum para decorá-las é, do inglês, "Reboot Even If System Utterly Broken" (ou simplesmente "REISUB"), que quer dizer, a grosso modo, "reinicie mesmo se o sistema estiver completamente quebrado". Outra maneira de se lembrar da sequência de teclas é pensar na palavra, "BUSIER" lida de trás para frente (também do inglês, que quer dizer algo como ocupado demais).

Nota: Esteja ciente de que o "REISUB" em si é apenas uma coisa mnemônica, não é nenhum tipo de recomendação geral da sequência de pressionamento de teclas para retomar o controle do sistema que não responde, você não deve pressionar cegamente nessa sequência a cada vez sem conhecer sua função real, conforme observado abaixo.

Atalho | Descrição
--- | ---
`Alt+SysRq+r` Unraw | Toma o controle do teclado do servidor X, e assume.
`Alt+SysRq+e` Terminate | Envia o sinal SIGTERM a todos os processos, permitindo encerrá-los de maneira não arbitrária ou forçada.
`Alt+SysRq+i` Kill | Envia o sinal SIGKILL para todos os processos, forçando-os a se encerrarem imediatamente.
`Alt+SysRq+s` Sync | Grava os dados na unidade de disco rígido.
`Alt+SysRq+u` Unmount | Desmonta e remonta todos os sistemas de arquivos em modo somente leitura.
`Alt+SysRq+b` Reboot | Reinicia o sistema.

#### Matando um processo que esteja consumindo memória excessivamente

`Alt+SysRq+f` pode ser usado para chamar o matador OOM (out-of-memory) sem causar kernel panic se nada puder ser eliminado. O matador OOM usa um conjunto de heurísticas para escolher o processo relativamente não vital que está usando mais memória e matá-lo. Isso é muito útil para interromper um processo que bloqueia seu sistema, causando surtos excessivos, como um script de navegador descontrolado, e pode aliviar a necessidade de uma reinicialização em muitos casos. Observe que o matador OOM pode ter como alvo uma ampla variedade de processos, apesar de suas heurísticas bem-intencionadas e pode ser um pouco imprevisível, portanto, tenha cuidado ao chamá-lo casualmente.

#### Solução de problemas

- Se estiver usando um gerenciador de exibição e após `Alt+SysRq+e` você for levado à tela de login (ou à sua área de trabalho caso o login automático estiver ativado), então provavelmente a diretiva `Restart=always` no arquivo service é a responsável. Se necessário, edite a unit, embora isto não deve evitar que a sequência "REISUB" funcione.
- Caso todas as combinações acima funcionem, exceto `Alt+SysRq+b`, tente usar a tecla `Alt` do lado oposto do teclado.
- Em laptops que usam a tecla `Fn` para diferenciar a função `SysRq` de `PrtScrn`, pode não ser necessário usar a tecla `Fn` (isto é, simplesmente pressionar `Alt+PrtSc+letra` pode ser o suficiente).
- Em laptops Lenovo, `SysRq` é frequentemente configurada como `Fn+S`. Para usá-la, pressione e segure `Alt`, então pressione `Fn+s`, solte `Fn` e `s` e, ainda segurando `Alt` use a combinação de teclas acima.
- Pode ser necessário pressionar `Ctrl` junto de `Alt`. Então, por exemplo, o atalho completo pode ser `Ctrl+Alt+SysRq+b`.

Veja Wikipedia:Magic SysRq key para mais detalhes.

### Console virtual

Veja Console do Linux#Atalhos de teclado.

### Xorg e Wayland

Teclas de atalho | Descrição | Notas
--- | --- | ---
`Ctrl+Alt+F1`, `F2`, `F3`, ... | Alterna para o n-ésimo console virtual | Se não funcionar, tente `Ctrl+Fn+Alt+F…` com as demais teclas de função.
`Shift+Insert` `Mouse Button 2` | Cola texto do PRIMARY buffer | Por padrão, o Qt mapeia `Shift+Insert` para a área de transferência ao invés do buffer PRIMARY (veja exemplo [1]) enquanto `Ctrl+Shift+Insert` é mapeado para o buffer PRIMARY.

## Personalização

### Readline

Readline é uma biblioteca comumente usada para edição de linha; e é usada, por exemplo pelo Bash, FTP, e muitos outros (veja detalhes do pacote readline, na coluna "Required By" da tabela, para mais exemplos). É semelhante ao estilo de edição do Emacs e do vi, que podem ser personalizados com sequências de escape. Combinações padrão de teclas estão listadas em sua documentação.

### Zsh

Zsh utiliza ZLE para ligar atalhos a widgets, scripts e comandos.

### Xorg

Veja Xorg/Keyboard configuration#Frequently used XKB options alguns atalhos comuns, que são desativados por padrão.

Em um ambiente gráfico, podemos querer executar um comando quando certa combinação de teclas é pressionada (isto é, um comando ligado a uma keysym). Existem várias maneiras de se fazer isso:

- A maneira mais prática é usando ferramentas de baixo nível , como uma daemon acpid. Nem todas as teclas são suportadas, mas uma configuração de maneira bastante uniforme é possível para teclas, conexão com fontes de energia e até mesmo ao plugar/desplugar um conector de fone de ouvido. Também é difícil executar programas dentro de uma sessão do X corretamente.
- A maneira universal é usando utilitários do Xorg (por exemplo, xbindkeys) e eventualmente as ferramentas de seu gerenciador de janelas ou ambiente de desktop.
- A maneira mais rápida é através de programas de terceiros que façam tudo via interface gráfica, tais como a Central de Controle do GNOME.

#### sxhkd

Uma simplória daemon hotkey para o X com uma poderosa e compacta sintaxe de configuração. Veja sxhkd para detalhes.

#### actkbd

Da site do actkbd:

  actkbdAUR (disponível no AUR) é uma simples daemon que interliga ações a eventos de teclado. É capaz de reconhecer combinações de tecla com suporte a eventos do tipo pressionar, repetir e soltar. Atualmente suporta somente a interface linux-2.6 evdev. Utiliza um arquivo de configuração em forma de planilha de texto que contém todas as vinculações de tecla.

Um modelo de configuração, bem como guia, estão disponíveis aqui.

#### xbindkeys

xbindkeys permite mapeamento avançado de teclas para ações independentemente do ambiente de desktop (Desktop Environment).

Dica: Se você achar `xbindkeys` difícil de usar, experimente o gerenciador gráfico xbindkeys_config-gtk2AUR disponível no AUR.

### Ambientes de desktop

- LXDE#Keyboard shortcuts
- Xfce#Keyboard shortcuts

### Gerenciadores de janela

- Fluxbox#Keyboard shortcuts
- Openbox#Keyboard shortcuts
- i3#Keyboard shortcuts

### Associação de teclas para X-selection-paste

The factual accuracy of this article or section is disputed.

Reason: `Shift+Insert` cola o buffer PRIMARY. (Discuss in talk:keyboard shortcuts)

This article or section needs expansion.

Reason: Por que o atraso de 100ms? (Discuss in talk:keyboard shortcuts)

Usuários que preferem usar mais o teclado ao invés do mouse podem se beneficiar de um atalho de teclado para operação de colagem que até então é feita através do botão intermediário do mouse. Isto é especialmente útil em um ambiente baseado em utilização do teclado. Um exemplo de como seria este fluxo de trabalho vem a seguir:

1. No Firefox, selecione (com o mouse) um texto que deseja pesquisar no google.
2. Pressione `Ctrl+k` para abrir o campo de busca.
3. Pressione `F9` para colar o texto, ao invés de ter que mover o ponteiro do mouse para dentro do campo de busca e usar o botão intermediário do mouse para colá-lo.

Nota: `Shift+Insert` tem uma funcionalidade parecida, mas diferente. Veja #Xorg: `Shift+Insert` insere o buffer da área de transferência, e não o x-selection-buffer. Em algumas aplicações, ambos os buffers são espelhados.

O método sugerido aqui usa três pacotes::

- xsel para dar acesso ao conteúdo do x-selection-buffer.
- Xbindkeys para vincular pressionamento de teclas a uma ação.
- xvkbdAUR para passar a string do buffer para a aplicação ao emular uma entrada de teclado.

Este exemplo vincula uma operação do x-selection-paste à tecla `F9`:

    .xbindkeysrc

    "xvkbd -no-jump-pointer -xsendevent -text "\D1`xsel`" 2>/dev/null"
        F9

O código `"\D1"` estabelece uma pause de 100 ms para inserir a seleção do buffer (veja a site do xvkbd).

Nota: Dependendo da configuração do seu X, pode ser necessário descartar o argumento `-xsendevent` ao xvkbd.

Os códigos para outras teclas diferentes de `F9` podem ser determinados usando `xbindkeys -k`.

Referências (em inglês):

- Pasting X selection (not clipboard) contents with keyboard
- site do xvkbd

#### XMonad Window Manager

No gerenciador de janela xmonad existe uma função embutida para colar o conteúdo do x-selection-buffer. De modo a vincular esta função a um pressionamento de teclas, (aqui, a tecla `Insert`), a seguinte configuração pode ser usada:

    xmonad.hs

    import XMonad.Util.Paste
    ...
      -- X-selection-paste buffer
      , ((0,                     xK_Insert), pasteSelection) ]

## Dicas e truques

- Se você é adepto ao uso do computador primordialmente com teclado, você pode gostar de um Gerenciadores de janela#Gerenciadores de janela de tiling.

## Veja também

- The Linux Magic System Request Key - Kernel documentation
- Linux Newbie Administrator Guide - Shortcuts and Commands
- The Linux keyboard and console HOWTO

Categories:

- Keyboard configuration (Português)
- X server (Português)
- Accessibility (Português)

Hidden categories:

- Pages or sections flagged with Template:Accuracy
- Pages or sections flagged with Template:Expansion