Manuais para a linha de comandos

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

🌍
gpm - um utilitário de copiar e colar e servidor de mouse para consoles virtuais

SINTAXE

gpm [ opções ]

DESCRIÇÃO

Este pacote tenta ser um servidor de mouse útil para aplicativos em execução no console Linux. Ele é baseado no pacote "selection", e parte de seu código vem do próprio "selection". Este pacote é destinado a ser um substituto para "selection" como um mecanismo de copiar e colar; ele também fornece facilidades adicionais. O pacote "selection" ofereceu a primeira implementação de copiar e colar para Linux usando dois botões do mouse, e o buffer de recorte ainda é chamado de "buffer de seleção" ou simplesmente "seleção" ao longo deste documento. As informações abaixo são extraídas do arquivo texinfo, que é a fonte de informação preferencial.

O executável `gpm' deve atuar como um daemon (assim, `gpmd' seria um nome melhor para ele). Esta seção tem como objetivo descrever as opções de linha de comando para `gpm', enquanto seus internos são esboçados na próxima seção.

Devido a restrições na chamada de sistema `ioctl(TIOCLINUX)', `gpm' deve ser executado pelo superusuário. As restrições foram adicionadas nos últimos kernels 1.1 para corrigir uma falha de segurança relacionada à seleção e ao despejo de tela.

O servidor pode ser configurado para corresponder ao gosto do usuário, e qualquer aplicativo que use o mouse herda a atitude do servidor. Da versão 1.02 até 1.19.2, era possível para qualquer usuário conectado ao console do sistema alterar a sensação do mouse usando a opção -q. Isso não é mais possível por motivos de segurança.

A partir da versão 0.97, o programa do servidor se coloca em segundo plano. Para matar `gpm', você pode simplesmente invocá-lo novamente com a opção -k, embora `killall gpm' possa ser uma escolha melhor.

COMANDOS ESPECIAIS

A versão 1.10 adiciona a capacidade de executar comandos especiais em determinadas circunstâncias. Os comandos especiais têm como padrão reiniciar e desligar o sistema, mas o usuário pode especificar sua escolha pessoal. A capacidade de invocar comandos usando o mouse é uma ferramenta útil para programadores, porque permite emitir um desligamento limpo quando o teclado está bloqueado e nenhuma rede está disponível para restaurar o sistema a um estado normal.

Os comandos especiais são ativados clicando três vezes nos botões esquerdo e direito - um evento improvável durante o uso normal do mouse. A maneira mais fácil de clicar três vezes é pressionar um dos botões e clicar três vezes no outro. Quando o processamento especial é ativado, uma mensagem aparece no console (e o alto-falante emite dois bipes, se você tiver um alto-falante); se o usuário soltar todos os botões e pressionar um deles novamente dentro de três segundos, o comando especial correspondente ao botão é executado.


Os comandos especiais padrão são:

botão esquerdo

Reinicia o sistema enviando um sinal para o processo init

botão do meio (se houver)

Executa /sbin/shutdown -h now

botão direito

Executa /sbin/shutdown -r now

A opção de linha de comando -S habilita o processamento de comandos especiais e permite alterar os três comandos especiais. Para aceitar os comandos padrão, use -S "" (ou seja, especifique um argumento vazio). Para especificar seus próprios comandos, use uma lista separada por dois pontos para especificar os comandos associados ao botão esquerdo, botão do meio e botão direito. Se algum dos comandos estiver vazio, ele será interpretado como enviar um sinal para o processo init. Essa operação específica é suportada, além da execução de comandos externos, porque, às vezes, erros graves colocam o sistema na impossibilidade de criar um novo processo; nesses casos raros, o programador deve ser capaz de desligar o sistema de qualquer maneira, e matar o init de um processo em execução é a única maneira de fazer isso.

Como exemplo, `-S ":telinit 1:/sbin/halt"` associa matar o init ao botão esquerdo, entrar no modo de usuário único ao botão do meio e desligar o sistema ao botão direito.

Os administradores do sistema devem ter cuidado com os comandos especiais, pois o gpm é executado com permissões de superusuário. Os comandos especiais são mais adequados para computadores cujo mouse pode ser acessado fisicamente apenas por pessoas de confiança.

OPÇÕES DA LINHA DE COMANDO

As seguintes opções de linha de comando estão disponíveis:

-a accel

Define o valor de aceleração usado quando um único evento de movimento é maior que delta (veja -d).

-A[limite]

Inicia com a colagem de seleção desabilitada. Isso tem como objetivo ser uma medida de segurança; um ataque plausível a um sistema parece ser colocar um comando de shell malicioso no buffer de seleção (rm -rf /) incluindo a quebra de linha final, então tudo o que a vítima tem que fazer é clicar no botão do meio do mouse... A partir da versão 1.17.2, isso evoluiu para um mecanismo de envelhecimento mais geral; o daemon gpm pode desabilitar (envelhecer) a colagem de seleção automaticamente após um período de inatividade. Para habilitar este modo, basta fornecer o parâmetro opcional de limite (sem espaço entre eles!) que é interpretado como o tempo em segundos durante o qual uma seleção é considerada válida e colável. A partir da versão 1.15.7, um programa trivial chamado disable-paste é fornecido. O seguinte faz uma boa adição a /etc/profile se você permitir que vários usuários trabalhem em seu console.

`case $( /usr/bin/tty ) in
/dev/tty[0-9]*) /usr/bin/disable-paste ;;
esac`

-b baud

Define a taxa de baud.

-B sequência

Define a sequência de botões. 123 é a sequência normal, 321 pode ser usado por pessoas canhotas e 132 pode ser útil com mouses de dois botões (especialmente no Emacs). Todas as permutações de botões são permitidas.

-d delta

Define o valor delta. Quando um único evento de movimento é maior que delta, accel é usado como um fator de multiplicação. (Deve ser 2 ou superior)


-D Não entra automaticamente em operação em segundo plano quando iniciado e registra as mensagens no fluxo de erro padrão, e não no mecanismo syslog. Isso é útil para depuração; em versões anteriores, era feito com uma opção de tempo de compilação.

-g número
Com dispositivos glidepoint, emula o botão especificado ao tocar. O número deve ser `1`, `2` ou `3` e se refere ao número do botão antes que o remapeamento de botão `-B` seja realizado. Esta opção se aplica à decodificação mman e ps2. Nenhum botão é emulado por padrão, porque o toque ps2 é incompatível com alguns mouses ps2 normais.

-h Imprime um resumo das opções da linha de comando.

-i intervalo
Define o intervalo a ser usado como um limite de tempo máximo para vários cliques. Se o intervalo entre os eventos de botão para cima e botão para baixo for menor que o limite, a pressão é considerada um clique duplo ou triplo. O tempo está em milissegundos.

-k Mata um gpm em execução. Isso pode ser usado por usuários de busmouse para matar o gpm antes de executar o X (a menos que usem `-R` ou a limitação de abertura única seja removida do kernel).

-l charset
Escolhe a tabela de pesquisa `inword()`. O argumento charset é uma lista de caracteres. `-'` é usado para especificar um intervalo e `\` é usado para escapar o próximo caractere ou para fornecer códigos octais. Apenas caracteres visíveis podem aparecer em charset porque caracteres de controle não podem aparecer na memória de vídeo de texto, de onde a seleção é cortada.

-m filename
Escolhe o arquivo de mouse para abrir. Deve estar antes de -t e -o.

-M Habilita o modo múltiplo. O daemon lerá dois dispositivos de mouse diferentes. Qualquer opção subsequente se referirá ao segundo dispositivo, enquanto qualquer opção anterior será usada para o primeiro dispositivo. Esta opção força automaticamente a opção de repetidor (`-R`).

-o list-of-extra-options
A opção funciona de forma semelhante à opção `'-o'` de mount; é usada para especificar uma lista de `opções extras` que são específicas de cada tipo de mouse. A lista é separada por vírgulas. As opções `dtr`, `rts` ou `both` são usadas pela inicialização serial para alternar as linhas do modem, compatível com as versões anteriores do gpm; observe, no entanto, que o uso de -o dtr associado a tipos de mouse não simples pode agora gerar um erro. E, a propósito, use -o após -m e após -t.

-p Força o ponteiro a ser visível durante a seleção. Este é o comportamento de `selection-1.7`, mas às vezes é confuso. O padrão é não mostrar o ponteiro, o que também pode ser confuso.

-r number
Define a capacidade de resposta como uma porcentagem do movimento (1 a 100, padrão 10). Um número menor pode ser usado para diminuir a velocidade do movimento do cursor, isso não pode ser usado para fazer com que um mouse se mova mais rápido, veja `-a`.

-R[name]
Faz com que `gpm` atue como um repetidor: quaisquer dados do mouse recebidos enquanto estiver em modo gráfico serão produzidos no fifo `/dev/gpmdata` no nome do protocolo, fornecido como um argumento opcional (sem espaço entre eles!). Em princípio, você pode usar os mesmos nomes da opção `-t`, embora a repetição em alguns protocolos possa não ser implementada por algum tempo. Além disso, você pode especificar `raw` como o nome, para repetir os dados do mouse byte por byte, sem nenhuma tradução de protocolo. Se o nome for omitido, ele assume o valor padrão `msc`. Usando o gpm no modo repetidor, você pode configurar o servidor X para usar seu fifo como um dispositivo de mouse. Esta opção é útil para proprietários de busmouse para substituir a limitação de abertura única. Também é uma maneira fácil de gerenciar esses mouses duplos estúpidos que forçam você a manter o botão do meio pressionado enquanto muda o modo de vídeo. A opção é forçada pela opção `-M`.

-s número

Define a taxa de amostragem para o dispositivo do mouse.

-S comandos

Habilita o processamento de comandos especiais e, opcionalmente, especifica comandos personalizados como uma lista separada por dois pontos. Consulte acima para uma descrição detalhada dos comandos especiais.

-t nome

Define o tipo de mouse. Use -t help para obter uma lista de tipos permitidos. Use -t depois de selecionar o dispositivo do mouse com -m.

-v     Imprime informações da versão e sai.

-2     Força dois botões. Isso significa que o botão do meio, se houver, será tratado como o botão direito.

-3     Força três botões. Por padrão, o mouse é considerado um mouse de 2 botões, até que o botão do meio seja pressionado. Se houver três botões, o botão direito é usado para estender a seleção e o botão do meio é usado para colar. Cuidado: se você usar a opção `-3` com um mouse de 2 botões, você não poderá colar a seleção.

OPERAÇÃO

Para selecionar texto, pressione o botão esquerdo do mouse e arraste-o. Para colar texto no mesmo ou em outro console, pressione o botão do meio. O botão direito é usado para estender a seleção, como em xterm.

Mouses de dois botões usam o botão direito para colar texto.

Cliques duplos e triplos selecionam palavras inteiras e linhas inteiras. O uso da opção -p é recomendado para obter o melhor feedback visual.

Se houver um espaço em branco no final do conteúdo de uma linha, e se não houver outro texto no restante da linha, o restante da linha será selecionado automaticamente. Se várias linhas forem selecionadas, os espaços em branco no final de cada linha serão removidos do buffer de seleção.

Qualquer saída no console virtual que contém a seleção limpará a seleção destacada da tela, para manter a integridade da exibição, embora o conteúdo do buffer de colagem permaneça inalterado.

O mecanismo de seleção é desabilitado se o console virtual de controle for colocado no modo gráfico, por exemplo, ao executar o X11, e é reativado quando o modo de texto for retomado. (Mas veja a seção BUGS abaixo.)

BUGS

O servidor gpm pode ter problemas para interagir com o X: se o seu mouse for um dispositivo de barramento único (ou seja, um mouse de barramento), você deve matar o gpm antes de iniciar o X ou usar a opção -R (veja acima). Para matar o gpm, basta invocar gpm -k. Este problema não se aplica a mouses seriais.

Duas instâncias do gpm não podem ser executadas no mesmo sistema. Se você tiver dois mouses, use a opção -M (veja acima).


Enquanto o console atual estiver no modo gráfico, gpm aguarda até que o modo texto retorne (a menos que -R seja usado). Assim, ele não responderá aos clientes. De qualquer forma, é improvável que clientes ansiosos pelo mouse surjam em consoles ocultos.

Os clientes enviados com o gpm não são atualizados, portanto, existem riscos de segurança ao usá-los.

AUTORES

Andrew Haylett <_> (o código de seleção original) Ian Zimmerman <_> (antigo mantenedor) Alessandro Rubini <_> (antigo mantenedor (ainda ajuda muito)) Nico Schottelius <_> (mantenedor)

Muitos, muitos colaboradores, tanto para a seleção quanto para o gpm.

MANUTENEDORES

O mantenedor atual é Nico Schottelius. Mas sem a ajuda de Alessandro Rubini e da lista de discussão, seria impossível para mim manter o gpm. A lista de discussão de desenvolvimento pode ser acessada em _. Mais informações sobre a lista estão no arquivo README, que faz parte da distribuição de código-fonte do gpm.

ARQUIVOS

/var/run/gpm.pid O PID do gpm em execução
/dev/gpmctl Um socket de controle para clientes
/dev/gpmdata O fifo no qual um daemon repetidor (`-R`) grava.

VER TAMBÉM

gpm-types(7) Descrição dos tipos de ponteiro atuais suportados pelo gpm

O arquivo info sobre gpm, que fornece informações mais completas e explica como escrever um cliente gpm.