comando de setmaps
Propósito
Configura mapas de terminal ou mapas de conjunto de códigos.
Sintaxe
Para utilizar setmaps sem designação de arquivo de mapa de entrada ou saída, digite o seguinte:
Para selecionar um arquivo a partir do diretório padrão como o arquivo de mapa do conjunto de código, digite o seguinte:
Para selecionar um arquivo designado como o arquivo de mapa do conjunto de código, digite o seguinte:
Para selecionar um arquivo do diretório padrão como o arquivo de mapa de terminal de entrada ou saída, digite o seguinte:
setmaps [ -v ] [ -D ] [ -k KeyName ] [ -d DirectoryPath ] { -i | -o } MapName
Para selecionar arquivos do diretório padrão como os arquivos de mapas de terminal de entrada ou saída, digite o seguinte:
setmaps [ -v ] [ -D ] [ -d DirectoryPath ] -t MapName
Para selecionar um arquivo designado como arquivo de mapeamento de terminal de entrada ou saída, digite o seguinte:
setmaps [ -v ] [ -D ] [ -k KeyName ] { -I | -O } File1
Para carregar o arquivo de mapa do terminal padrão para uso posterior, digite o seguinte:
setmaps [ -v ] [ -D ] [ -k KeyName ] [ -r ] -l File2
Para carregar um arquivo de mapa de terminal designado para uso posterior, digite o seguinte:
Descrição
Nota: Se esse comando for executado sem autoridade de usuário root, o mapa do conjunto de código não será carregado, apenas depurado.
O comando setmaps trata de mapas de conjunto de terminais e de código. A sinalização -s deve ser usada para mapas de conjunto de código. O sistema operacional usa mapas de terminal de entrada e saída para converter representações de dados internos para os caracteres ASCII suportados por terminais assíncronos. Se você inserir o comando setmaps sem sinalizadores, ele exibe os nomes dos mapas de terminal de entrada e saída atuais.
Um mapa de terminal é um arquivo de texto contendo uma lista de regras que associam uma sequência de padrões a uma sequência de substituição. Este arquivo normalmente reside no diretório /usr/lib/nls/termmap . O sistema operacional usa um arquivo de mapa de entrada para mapear entrada do teclado para um aplicativo e um arquivo de mapa de saída para mapear saída de um aplicativo para o display.
O mapeamento de terminal funciona da seguinte forma:
- O sistema coleta caracteres em um buffer até que um padrão especificado por uma regra no arquivo de mapas corresponda a uma substring no buffer.
- O sistema então constrói e retorna a cadeia de substituição especificada pela regra.
Esse processamento continua com os caracteres restantes no buffer.
As regras de um mapa terminal podem testar e alterar o estado do processador de padrões. O estado é identificado por um caractere de byte único, convencionalmente um dígito (0 até 9). O estado é reajustado para 0, o estado inicial, sempre que o sistema carrega um novo mapa ou abafa o buffer de entrada ou saída do terminal (como quando processa um caractere KILL ou INTR ou quando um programa emite uma chamada de sistema ioctl ). Um mapa de terminal pode usar estados para detectar sequências de escape multibyte, entre outras tarefas. Você pode testar para o estado x especificando @x em um padrão. Você pode configurar o estado para x incluindo @x na sequência de substituição.
O comando setmaps , ao usar a sinalização -s , designa um mapa de conjunto de código para o dispositivo de entrada padrão. O sistema operacional usa mapas configurados de código para determinar o número de bytes de memória que um caractere requer e o número de colunas de exibição que ele requer.
Sinalizações
| Item | Descrição |
|---|---|
| -C | Limpa todos os mapeamentos neste terminal. |
| -d DirectoryPath | Faz a variável DirectoryPath ser usada como o caminho para o diretório que contém a variável MapName . Especificar esse sinalizador e variável substitui o diretório /usr/lib/nls/termmap . |
| -d | Produz um programa de debug printout do mapa especificado no dispositivo de saída padrão antes de carregar o mapa. Ao usar isso para executar o programa debug em novos mapas, não execute com autoridade de usuário root até que o mapa esteja totalmente depurado para evitar que o mapa realmente seja carregado. |
| -h | Imprime as informações de uso do comando setmaps (usado com a sinalização -v para usuários avançados). |
| -i MapName | Seleciona o arquivo /usr/lib/nls/termmap/MapName.in como o mapa de entrada. Quando usado com a sinalização -s , esta sinalização seleciona o arquivo /usr/lib/nls/csmap/MapName como o arquivo de mapa do conjunto de códigos do terminal. |
| -Eu File1 | Seleciona o conteúdo da variável File1 como o mapa de entrada. O arquivo especificado pela variável File1 pode ser um nome de caminho completo ou um nome de caminho em relação ao diretório de trabalho atual. Quando usado com a sinalização -s , esta sinalização seleciona o conteúdo da variável File1 como o arquivo de mapa de página de código do terminal. |
| -k KeyName | Associa o conteúdo da variável KeyName ao mapa que está sendo selecionado. Esse nome de chave substitui a chave padrão, que normalmente é configurada para o valor da variável MapName . |
| -l File2 | Carrega o arquivo /usr/lib/nls/termmap/File2 para uso posterior. A variável File2 inclui o nome completo do caminho e sufixo (se houver) do arquivo de mapas.Nota: Você deve ter autoridade de usuário root para especificar esta sinalização. |
| -L File1 | Carrega o mapa especificado para uso posterior. A variável File1 inclui o nome completo do caminho e sufixo (se houver) do arquivo de mapas.Nota: Você deve ter autoridade de usuário root para especificar esta sinalização. |
| -o MapName | Seleciona o arquivo /usr/lib/nls/termmap/MapName.out como o mapa de saída do terminal. |
| -O File1 | Seleciona o conteúdo da variável File1 como o mapa de saída do terminal. A variável File1 inclui o nome completo do caminho e sufixo (se houver) do arquivo de mapas. |
| -r | Força o recarregamento do mapa especificado, mesmo que ele já esteja carregado. Os terminais usando o mapa antigo continuam a fazê-o até que sejam logados ou até que seus mapas sejam explicitamente reajustados. Se você não especificar esta sinalização, um mapa será carregado apenas se ele ainda não tiver sido carregado no kernel.Nota: Você deve ter autoridade de usuário root para especificar esta sinalização. |
| -S | Trata qualquer mapa como um mapa de conjunto de código. |
| -t MapName | Seleciona o arquivo /usr/lib/nls/termmap/MapName.in como o mapa de entrada do terminal e o arquivo /usr/lib/nls/termmap/MapName.out como o mapa de saída do terminal. |
| -v | Seleciona saída verbose. |
Todos os mapas carregados devem ter nomes exclusivos. Use a sinalização -k para eliminar os conflitos de nomenclatura. Apenas as bandeiras -i, -oe -t adicionam implicitamente um sufixo. Outras bandeiras especificando nomes de mapas devem incluir um sufixo se apropriado. Se um nome de mapa solicitado já estiver carregado no kernel, esse mapa é usado mesmo se as informações de caminho fornecidas na linha de comandos implica em um mapa diferente.
Para redefinir o mapa do conjunto de código para seu estado original, deverá ser utilizado o mapa de conjunto de código /usr/lib/nls/csmap/sbcs .
Exemplos
- Para exibir as configurações do mapa atual para este terminal, digite:
setmaps - Para limpar todo o mapeamento para o terminal atual, digite:
setmaps -c - Para configurar o mapeamento (ambos os mapas de entrada e saída) para umibm3161-Cterminal, digite:
setmaps -t ibm3161-C - Para carregar ovt220mapa de entrada no kernel como ofredmapa, digite:
setmaps -k fred -i vt220 - Para reunir saída de depuração para um novo mapa chamadobobem um arquivo chamadobob.dump, digite:
setmaps -D -L /tmp/bob > bob.dump - Para configurar um mapa de conjunto de código em conformidade com a página de código IBM-943 para este terminal, digite:
setmaps -s -i IBM-943 - Para configurar um mapa de conjunto de código a partir do arquivomyEUCpara este terminal, digite:
setmaps -s -I myEUC
Arquivos
| Item | Descrição |
|---|---|
| / usr / bin / setmaps | Contém o comando setmaps . |
| /usr/lib/nls/termmap/*.in | Contém arquivos de mapa de entrada. |
| /usr/lib/nls/termmap/*.out | Contém arquivos de mapa de saída. |
| /usr/lib/nls/csmap/sbcs | Contém mapa de conjunto de código para uma página de código de byte único. |
| /usr/lib/nls/csmap/IBM-943 | Contém mapa de conjunto de código para a página de código IBM-943 . |
| /usr/lib/nls/csmap/IBM-eucJP | Contém o mapa do conjunto de códigos para a página de código IBM-eucJP. |