s i s t e m a o p e r a c i o n a l m a g n u x l i n u x | ~/ · documentação · suporte · sobre |
Next
Previous
Contents
3. Configuração do console (modo texto)O documento de referência sobre a configuração do console do Linux é o Keyboard and Console HOWTO, de Andries Brouwer, que pode ser encontrado nos repositórios do LDP. Conforme lá descrito, a configuração da fonte de caracteres e mapa de teclado é feita usando o pacote KBD, encontrado em todas as distribuições de Linux.
3.1 Mapas de tecladoCada tecla do PC possui um código numérico. Ao pressionarmos uma delas o processador controlador do teclado envia ao computador esse código de varredura, também conhecido como scancode, junto com um sinal de que a tecla foi pressionada ou solta. As seqüências de eventos são então processadas pelo driver de teclado e armazenadas em uma fila de caracteres que é lida pelas aplicações por meio da chamada de funções do sistema operativo. Um mapa de teclado é um arquivo de texto que estabelace as correspondências entre o scancode de tecla e o caracter (ou seqüência de caracteres) a gerar quando ela for pressionada, chamado keycode. Por exemplo: # atribuição da tecla '-' do teclado numérico à tecla com código 74 keycode 74 = KP_Subtract # atribuição da tecla '4' do teclado numérico à tecla com código 75 keycode 75 = KP_4 # etc... keycode 76 = KP_5 # tecla 5 keycode 77 = KP_6 # tecla 6 keycode 78 = KP_Add # soma keycode 79 = KP_1 # tecla 1 keycode 80 = KP_2 # tecla 2 Além das teclas alfabéticas, numéricas e de símbolos, existem outras chamadas modificadoras que permitem gerar códigos que não correspondem a nenhum sinal gráfico: Shift Control Alt e Meta. Esta última normalmente não é encontrada em teclados de PCs, apenas em estações de trabalho de fabricantes como Sun, SGI, HP e Digital (eles não gostam de ser chamados de ``DEC''). O editor de texto Emacs usa muito a tecla Meta. O arquivo de mapa permite também especificar teclas especiais chamadas ``teclas mortas'' (deadkeys). Quando pressionadas elas não resultam no aparecimento de um caracter na tela, limitando-se a alterar o comportamento da tecla pressionada a seguir para que, por exemplo, ao se digitar um ~ seguida de um a, seja gerado um `ã'.
3.2 Mapas de tradução de telaUm mapa de tradução de tela permite especificar qual o caracter X a ser
exibido na tela, quando um programa deseja exibir um caracter Y. Desta
forma, poderíamos fazer com que ao escrever o caracter com o código do
Este mapeamento é necessário apenas quando queremos usar uma fonte cujos caracteres não possuem códigos diretamente correspondentes aos do conjunto usado no mapa de teclado.
3.3 Comandos do pacote KBD
3.4 Carregamento de uma fonte de caracteresO pacote KBD contém dois tipos de fontes com codificação latin-1:
Nas versões mais novas do KBD os arquivos são comprimidos com As versões mais antigas do pacote KBD mantinham essas fontes no diretório
SlackwareFoi criado o script
#!/bin/sh # # /etc/rc.d/rc.font # # Seleciona uma das fontes de caracteres disponiveis em # /usr/lib/kbd/consolefonts. # setfont lat1u-16.psf # O comando a seguir é totalmente desnecessário # com a fonte lat1u-16.psf. # loadunimap lat1u # Remova o comentário da linha abaixo se estiver usando uma fonte sem # tabela de mapeamento de Unicode para tela: # loadunimap lat1
DebianEdite o arquivo CONSOLE_FONT=lat1u-16.psfesse arquivo é processado pelo script /etc/rc.boot/kbd . Execute-o
para ativar a nova fonte sem ter que dar ``reboot''. Lembre-se sempre: Linux
não é Windows!
Red HatEdite o arquivo LANG=pt_BR LINGUAS=pt_BR LC_CTYPE=ISO-8859-1 LC_ALL=pt_BR SYSFONT=lat1u-16 SYSTERM=linux-lat
Conectiva Red Hat LinuxSe você selecionar a língua correta durante a instalação não há nada mais a fazer. A configuração é feita extatamente como do Red Hat.
S.u.S.E.Edite o arquivo FONT=lat1u-16.psf Edite os scripts
Testando a fonteExperimente algumas teclas como ``,.|!"#$%&/()=?'',
etc. e use o comando
3.5 Carregando um mapa de tecladoA seguir é necessário carregar o mapa de teclado adequado. Até a versão 0.92
do pacote KBD esses mapas ficavam no diretório
Slackware.Foi criado o script #!/bin/sh # # /etc/rc.d/rc.keyboard # # Seleciona um dos mapas de teclado disponíveis no diretório # /usr/lib/kbd/keytables # loadkeys abnt2e acrescentei as seguintes linhas ao /etc/rc.d/rc.S ,
imediatamente antes do tratamento do /etc/rc.d/rc.keyboard :
# Carrega uma fonte de caracteres se existe um script rc.font. if [ -x /etc/rc.d/rc.font ]; then /etc/rc.d/rc.font start fi # Carrega um mapa de teclado se existe um script rc.keyboard. if [ -x /etc/rc.d/rc.keyboard ]; then /etc/rc.d/rc.keyboard start fi
Debian.Certifique-se de ter instalado o pacote kbd e depois faça o seguinte:
Red Hat.Certifique-se de ter instalado o pacote kbd. Copie os arquivos com os
mapas de teclado fornecidos (veja a seção
Ficheiros necessários) para o diretório
Edite o arquivo /etc/sysconfig/keyboard e coloque o nome do mapa a usar na variável KEYTABLE, como por exemplo KEYTABLE="abnt2"
Conectiva Red Hat Linux.O CRHL já vem com os mapas de teclado para Português. Se você selecionou o
teclado correto durante a instalação, não há mais nada a fazer. Caso
contrário, edite o arquivo KEYTABLE="nome"Onde ``nome'' é br-abnt2, pt ou us-acentos caso o desenho do seu teclado seja ABNT-2, português ou americano.
S.u.S.E..Certifique-se de ter instalado o pacote kbd. Copie os arquivos com os
mapas de teclado fornecidos (veja a seção
Ficheiros necessários) para o diretório
Descomprima o mapa de teclado adequado, copiando para o arquivo
zcat /usr/lib/kbd/keytables/pt.map.gz > /etc/default.keytab
Testando o tecladoExperimente pressionar a tecla c-cedilhado (se o teclado não tem esta
tecla, digite Se ao invés de c-cedilha minúsculo aparecer um maiúsculo é provável que uma tabela de mapeamento Unicode incorreta esteja a ser carregada. Este problema ocorrerá na distribuição S.u.S.E. se não se fizerem as alterações nos scripts do sistema mencionadas anteriormente. 3.6 Verificando errosMas, e se alguns dos caracteres continuarem a não aparecer? Bem, antes de mais nada verifique se a fonte e o mapa de teclado adequados foram carregados. Um caso especial é quando queremos usar uma fonte que não segue a codificação ISO Latin-1 (é o caso da fonte padrão do console do PC). Teríamos então de convencer a tela a mostrar os caracteres certos em cada caso. Poderíamos recorrer ao comando mapscrn. O arquivo com a tabela de tradução teria no entanto de ser criado por nós, seguindo um processo moroso de tentativa e erro até encontrar o caracter cuja imagem desejávamos. Ou, de uma forma mais fácil, poderíamos usar o comando showfont. Se usarmos a fonte de caracteres correta, o uso deste último comando será desnecessário. É até recomendável que não se use tal recurso, pois embora ele permita criar uma tabela de caracteres ``personalizada'' em um computador, será difícil que um documento acentuado produzido nessa máquina possa ser lido em outra que não tenha a mesma configuração.
Next Previous Contents |