| Subcribe via RSS

Curso de Linux Básico – Parte 9

março 10th, 2008 Posted in Curso Linux Basico


Depois de várias partes sobre comandos, edição de arquivos e gerenciamento de processos, chegamos no momento de configurar os dispositivos presentes no nosso PC.Em muitos cursos a parte de configuração é vista logo no começo, após a instalação do Linux. Eu acredito que não seja a melhor forma, pois antes de configurar algum dispositivo, acho interessa te o usuário ter um conhecimento básico de comandos e edição de arquivos.Em Linux mais recentes como Ubuntu, Fedora ou SuSE, a configuração gráfica auxilia bastante este trabalho, mas aqui nós vamos imaginar que estamos em um servidor, ou em um ambiente em que a parte gráfica não está acessível.

Configurando teclado

Cada 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 operacional.

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

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.

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 `ã’.

Loadkeys

Permite carregar um mapa de teclado. Por exemplo, o comando a seguir carrega o mapa armazenado no arquivo portugal.map.

#loadkeys /usr/lib/kbd/keytables/portugal.map

setfont

Permite o carregamento de uma fonte de caracteres de tela, possibilitando a alteração das fontes utilizadas em modo de texto. O comando a seguir, por exemplo, irá carregar uma fonte com o conjunto Latin-1:

# setfont lat1u-16.psf

Loadunimap

Carrega um mapa de tradução de Unicode para a fonte de tela. O mapa padrão, chamado “def.uni” considera que estamos usando a fonte normal do IBM-PC. Este comando não é necessário quando usamos uma fonte com caracteres definidos no padrão Unicode, pois o programa setfont carrega automaticamente a tabela de mapeamento adequada. O comando a seguir carregará o mapa de tradução para as fontes latin-1:

# loadunimap lat1

Agora que carregamos tudo experimente pressionar a tecla c-cedilhado (se o teclado não tem esta tecla, digite ‘ c). Verifique se todas as letras acentuadas, maiúsculas e minúsculas são geradas corretamente e aparecem na tela. Se aparecer algum caracter estranho verifique se carregou o mapa de teclado e a fonte de caracteres corretos, pois provavelmente uma dessas operações foi mal sucedida.

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.

Configurando o Vídeo

O suporte à vídeo no Linux é provido pelo X, que já vem com drivers para as placas suportadas. Além dos drivers open-source incluídos no X você pode instalar os drivers binários distribuídos pela nVidia e ATI.

Existem duas versões do X em uso: o Xfree, o mais antigo e tradicional e o X.org, a versão mais usada atualmente. Antigamente, até a versão 3.x, o Xfree possuía várias versões separadas, com drivers para diferentes chipsets de vídeo. Isso complicava a configuração e obrigava as distribuições a manterem instaladas todas as diferentes versões
simultaneamente, o que também desperdiçava muito espaço em disco.

A partir do Xfree 4.0 e em todas as versões do X.org existe apenas uma única versão unificada, com drivers para todas as placas e recursos suportados. Melhor ainda, cada driver dá suporte à todas as placas de um determinado fabricante, o “sis” dá suporte a todas as placas da SiS, o “trident” dá suporte a todas as placas da Trident e assim por diante. Temos ainda dois drivers genéricos, o “vesa” e o “fbdev“, que servem como um mínimo múltiplo comum, uma opção para fazer funcionar placas novas (ou muito antigas), que não sejam suportadas pelos drivers titulares.

Outro detalhe interessante é que toda a configuração do vídeo, incluindo o mouse e o suporte a 3D é feita através de um único arquivo de configuração, o “/etc/X11/XF86Config-4” (nas distribuições que usam o Xfree) ou “/etc/X11/xorg.conf” (nas que usam o X.org), que é relativamente simples de editar e funciona em todas as distribuições que utilizam o Xfree 4.0 em diante ou X.org (ou seja, praticamente todas as usadas atualmente). Isto significa que você pode pegar o arquivo de configuração gerado pelo Kurumin e usar no Slackware, por exemplo.

Existe várias ferramentas de configuração que perguntam ou autodetectam a configuração e geram o arquivo, como o “mkxf86config” (do Knoppix) “kxconfig“, “xf86cfg” entre outros. Mas, neste tópico vamos ver como configurar manualmente o arquivo, adaptando ou corrigindo as configurações geradas pelos configuradores.

O arquivo é dividido em seções. Basicamente, temos (não necessariamente nesta ordem) uma seção “Server“, com parâmetros gerais, a seção “Files” com a localização das fontes de tela e bibliotecas, duas seções “InputDevice“, uma com a configuração do teclado e outra com a do mouse, uma seção “Monitor” e outra “Device“, com a configuração do monitor e placa de vídeo e por último a seção “Screen” onde é dito qual resolução e profundidade de cor
usar.

A ordem com que estas configurações aparecem no arquivo pode mudar de distribuição para distribuição, mas a ordem não importa muito, desde que estejam todas lá.

Como em outros arquivos de configuração, você pode incluir comentários, usando um “#” no início das linhas. Linhas em branco, espaços e tabs também são ignorados e podem ser usadas para melhorar a formatação do arquivos e melhorar a organização das informações.

Vamos a uma descrição geral das opções disponíveis. Abra o arquivo /etc/X11/xorg.conf ou /etc/X11/XF86config-4 da sua máquina e acompanhe o exemplo; prestando atenção nas diferenças entre o exemplo e o arquivo da sua máquina e tentando entender a função de cada seção:

Section “ServerLayout”
Identifier “X.Org do Kurumin”
Screen 0 “Screen0″ 0 0
InputDevice “Keyboard0″ “CoreKeyboard”
InputDevice “USB Mouse” “CorePointer”
EndSection

Nesta seção vai a configuração geral. Ela é uma espécie de “índice” das seções abaixo. O campo “Identifier” pode conter qualquer texto, é apenas uma descrição. O “USB Mouse” indica o nome da seção que será usada. Abaixo deve existir uma seção com este mesmo nome, contendo a configuração do mouse propriamente dita. Esta organização permite que você (ou o utilitário de configuração usado) adicione várias configuração diferentes, onde você pode trocar rapidamente entre elas modificando esta linha.

Nas distribuições que usam o Kernel 2.6, é possível usar a mesma configuração para mouses PS/2, mouses USB e também mouses touchpad (notebooks), pois todos utilizam um driver comum. É possível até mesmo usar dois mouses simultaneamente (o touchpad do notebook e um mouse USB externo, por exemplo), sem precisar alterar a configuração.

Apenas os antigos mouses seriais ainda precisam de uma configuração própria. Caso você tenha simultaneamente mais de um mouse conectado, você pode duplicar a configuração do mouse, como abaixo. Isso faz com que o X tente ativar ambos os mouses na inicialização, ativando apenas os que estiverem realmente presentes:

Section “ServerLayout”
Identifier “X.Org do Kurumin”
Screen 0 “Screen0″ 0 0
InputDevice “Keyboard0″ “CoreKeyboard”
InputDevice “USB Mouse” “CorePointer”
InputDevice “Serial Mouse” “CorePointer”
EndSection

Na seção “ServerFlags” vão opções gerais. É aqui que colocamos, por exemplo, a opção que inicializa o Xinerama, que dá suporte a uma segunda placa de vídeo e monitor. Neste exemplo, está sendo usada apenas a opção “AllowMouseOpenFail” “true” que permite que o modo gráfico abra mesmo que o mouse esteja desconectado.

Section “ServerFlags”
Option “AllowMouseOpenFail” “true”
EndSection

Seria estúpido parar toda a abertura do modo gráfico e voltar para o modo texto por que o mouse não foi detectado, pois você ainda pode usar o mouse virtual do KDE como uma solução temporária até que consiga solucionar o problema. Para ativar o mouse virtual, pressione a tecla Shift junto com a tecla NumLock do teclado numérico. A partir daí as teclas 1, 2, 3, 4, 6, 7, 8 e 9 ficam responsáveis pela movimentação do mouse, enquanto a tecla 5 simula o clique do botão esquerdo (pressionando 5 duas vezes você simula um duplo clique). Para arrastar arrastar e soltar pressione a tecla 0 para prender e depois a tecla 5 para soltar.

Para simular os outros botões você usa as teclas / (botão direito), * (botão central) e – (para voltar ao botão esquerdo), que funcionam como teclas modificadoras. Para desativar o mouse virtual basta pressionar Shift + NumLock novamente.

Voltando ao arquivo de configuração, temos a seguir as seções “Files” e “Modules“, que indicam respectivamente as pastas com as fontes TrueType, Type 1 e outras que serão usadas pelo sistema e os módulos de extensões do Xfree que serão usados.

Section “Files”
RgbPath “/usr/X11R6/lib/X11/rgb”
ModulePath “/usr/X11R6/lib/modules”
FontPath “/usr/X11R6/lib/X11/fonts/misc:unscaled”
FontPath “/usr/X11R6/lib/X11/fonts/misc”
FontPath “/usr/X11R6/lib/X11/fonts/75dpi:unscaled”
FontPath “/usr/X11R6/lib/X11/fonts/75dpi”
FontPath “/usr/X11R6/lib/X11/fonts/100dpi:unscaled”
FontPath “/usr/X11R6/lib/X11/fonts/100dpi”
FontPath “/usr/X11R6/lib/X11/fonts/PEX”
FontPath “/usr/X11R6/lib/X11/fonts/cyrillic”
FontPath “/usr/share/fonts/truetype/openoffice”
FontPath “/usr/X11R6/lib/X11/fonts/defoma/CID”
FontPath “/usr/X11R6/lib/X11/fonts/defoma/TrueType”
EndSection
Section “Module”
Load “ddc”
Load “Glcore”
Load “dbe”
Load “dri”
Load “extmod”
Load “glx”
Load “bitmap”
Load “speedo”
Load “type1″
Load “freetype”
Load “record”
EndSection

Estas duas seções geralmente não precisam ser alteradas, a menos que você instale algum novo conjunto de fontes TrueType e queira habilitá-lo manualmente ou caso instale um novo driver de vídeo (como o driver da nVidia) e o read-me diga para desativar algum dos módulos. Você poderia mexer aqui caso quisesse intencionalmente desativar algum
recurso, ou para tentar solucionar problemas.

O módulo “dri“, por exemplo, habilita o suporte a 3D para a placa de vídeo. As placas onboard com chipset Intel (i810, MGA 900, etc.), placas ATI Rage e ATI Radeon e as antigas Voodoo 2 e Voodoo 3 possuem suporte 3D nativo no X.org.

Mas, ao instalar o driver 3D da nVidia você precisa remover esta opção pois o driver do Xfree conflita com o que é instalado junto com o driver. Pode ser também que por algum motivo você quiser desabilitar o 3D da sua i810 onboard (para evitar que fiquem jogando TuxRacer durante o expediente, por exemplo ;) . Em qualquer um dos casos, você poderia comentar a linha “Load “dri”.

Em seguida vem a configuração do teclado. O “abnt2″ indica o layout de teclado que será usado por padrão. No KDE e Gnome o layout indicado aqui perde o efeito, pois eles possuem ferramentas próprias para configurar o teclado. No caso do KDE é usado o kxkb, que você configura na seção Regional & Acessibilidade do Kcontrol. Mas, esta configuração de teclado do X é útil para quem usa outras interfaces.

Estes são dois exemplos de configuração para (respectivamente) um teclado ABNT2 e um teclado US Internacional. Você só pode incluir uma das duas no arquivo:

# Teclado ABNT2
Section “InputDevice”
Identifier “Keyboard0″
Driver “kbd”
Option “CoreKeyboard”
Option “XkbRules” “xorg”
Option “XkbModel” “abnt2″
Option “XkbLayout” “br”
Option “XkbVariant” “abnt2″
EndSection
# Teclado US Internacional
Section “InputDevice”
Identifier “Keyboard0″
Driver “kbd”
Option “CoreKeyboard”
Option “XkbRules” “xorg”
Option “XkbModel” “pc105″
Option “XkbLayout” “abnt2″
EndSection

Você deve lembrar que acima, na seção “ServerLayout” informamos que o X iria usar o “USB Mouse”. Este é apenas um nome que indica a seção (com a configuração do mouse propriamente dita) que será usada. Isso permite que você tenha várias seções com configurações de mouses diferentes. Basta indicar a correta na seção de cima e as demais serão ignoradas.

Estas são as seções com as configurações usadas no Kurumin. Dentro de cada seção vai a porta e driver usados pelo mouse e outras opções necessárias em cada caso. Você pode usá-las como modelos para configurar o mouse em
outras distribuições:

Section “InputDevice”
Identifier “USB Mouse”
Driver “mouse”
Option “Protocol” “auto”
Option “Device” “/dev/input/mice”
Option “SendCoreEvents” “true”
Option “ZAxisMapping” “4 5″
Option “Buttons” “5″
EndSection
Section “InputDevice”
Identifier “Serial Mouse”
Driver “mouse”
Option “Protocol” “Microsoft”
Option “Device” “/dev/ttyS0″
Option “Emulate3Buttons” “true”
Option “Emulate3Timeout” “70″
Option “SendCoreEvents” “true”
EndSection

A linha “Option “ZAxisMapping” “4 5″ ativa a rodinha do mouse, quando disponível. Do ponto de vista do sistema operacional, a rodinha é um conjunto de dois botões extras (botões 4 e 5) e os giros da roda correspondem a cliques nos botões extra.

É seguro usar esta linha sempre, pois ela é ignorada ao usar um mouse sem a rodinha. O mais importante no caso é o protocolo usado. Com relação a mouses PS/2 e USB no Kernel 2.6, recomendo que use sempre a opção “Option “Protocol” “auto”, que detecta corretamente o protocolo do mouse na grande maioria dos casos.

Em casos específicos, onde o mouse não funcione corretamente, você pode substituir o “Option “Protocol” “auto” por “Option “Protocol” “IMPS/2″, que é o protocolo padrão para mouses de três botões, com roda, ou “Option “Protocol” “PS/2″, que é o protocolo para mouses PS/2 antigos, sem roda.

No caso de mouses com 5 botões, com uma ou duas rodas, o protocolo usado muda para “ExplorerPS/2 e você precisa especificar a configuração dos botões extras. Para um mouse com 5 botões e uma roda, a seção fica:

Section “InputDevice”
Identifier “Mouse”
Driver “mouse”
Option “Protocol” “ExplorerPS/2″
Option “ZAxisMapping” “4 5″
Option “Buttons” “7″
Option “Device” “/dev/input/mice”
EndSection

Se a função dos dois botões extra e da roda ficarem trocadas, substitua a linha “Option “ZAxisMapping” “4 5″ por “Option “ZAxisMapping” “6 7″.

No caso dos mouses com duas rodas, a configuração fica:

Section “InputDevice”
Identifier “Mouse”
Driver “mouse”
Option “Protocol” “ExplorerPS/2″
Option “ZAxisMapping” “6 7 8 9″
Option “Buttons” “9″
Option “Device” “/dev/input/mice”
EndSection

Note que, ao usar o Kernel 2.6, não existe necessidade de especificar se o mouse é PS/2 ou USB, pois a porta “/dev/input/mice” é compartilhada por ambos. As versões atuais do Firefox e outros aplicativos atribuem funções para os botões extras automaticamente. Os dois botões laterais assumem as funções dos botões para avançar e voltar no Firefox, por exemplo.

Continuando, temos a configuração do monitor e placa de vídeo, que afinal são os componentes mais importantes neste caso. Ela é dividida em três seções, com a configuração do monitor, da placa de vídeo e uma seção “screen” que, com base nas duas anteriores indica qual resolução e profundidade de cores será usada.

A configuração do monitor precisa incluir apenas as taxas de varredura horizontal e vertical usadas por ele. Você pode encontrar estes dados no manual do monitor ou no site do fabricante. As opções Identifier, VendorName e ModelName são apenas descritivas, podem conter qualquer texto:

Section “Monitor”
Identifier “Monitor0″
VendorName “GSM”
ModelName “GSM3b60″
HorizSync 30 – 63
VertRefresh 50 – 75
EndSection

Se você não souber as taxas de varredura usadas pelo seu monitor e quiser alguma configuração genérica que funcione em qualquer monitor contemporâneo, experimente usar esta, que permite trabalhar a até 1024×768 com 60 Hz de atualização:

Section “Monitor”
Identifier “Meu Monitor”
HorizSync 31.5 – 50.0
VertRefresh 40-90
EndSection

Em geral os configuradores incluem várias seção “Modeline” dentro da seção Monitor, com as resoluções e taxas de atualização suportadas pelo monitor.

Estes dados são fornecidos pelo próprio monitor, via DDC (uma espécie de plug-and-play para monitores) e não é necessário alterá-los a menos que você esteja escrevendo o arquivo manualmente do zero, o que não é muito aconselhável já que é sempre muito mais fácil usar um arquivo copiado de outro micro como base. Esta configuração dos modelines não é obrigatória no XFree 4.x ou X.org, pois o X é capaz de deduzir a configuração a partir das taxas de varredura do monitor, informadas dentro da seção.

Este é um exemplo de configuração para um monitor de 17″, incluindo modelines para usar 1280×1024, 1024×768 e 800×600. Note que cada seção “Modeline” ocupa uma única linha:

Section “Monitor”
Identifier “Monitor0″
VendorNam “GSM”
ModelName “GSM3b60″
HorizSync 30 – 63
VertRefresh 50 – 75
ModeLine “1280×1024″ 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync
ModeLine “1024×768″ 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync
ModeLine “800×600″ 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync
EndSection

Em seguida vem a seção “Device” que indica a configuração da placa de vídeo. As opções Identifier, VendorName e BoardName são apenas descrições, o que interessa mesmo é o Driver usado.

Section “Device”
Option “sw_cursor”
Identifier “Card0″
Driver “nv”
VendorName “nVidia”
BoardName “GeForce4 MX”
EndSection

Finalmente, vai a configuração da seção “Screen”, que indica a resolução que será usada. As várias seções determinam as resoluções disponíveis para cada configuração de profundidade de cor, enquanto a opção “DefaultColorDepth” determina qual será usada:

Section “Screen”
Identifier “Screen0″
Device “Card0″
Monitor “Monitor0″
DefaultColorDepth 16
SubSection “Display”
Depth 8
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 16
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
SubSection “Display”
Depth 24
Modes “1024×768″ “800×600″ “640×480″
EndSubSection
EndSection

Neste exemplo o vídeo está configurado para usar 16 bits de cor mas, se você quisesse usar 24 bits, bastaria mudar o número na opção “DefaultColorDepth”. Dentro de cada uma das três seções (Depth 8, Depth 16 e Depth 24), vai a resolução que será usada para cada uma.

Na linha que começa com “Modes” vão as resoluções de tela. A primeira da lista (1024×768 no exemplo) é a default. As outras duas, 800×600 e 640×480 são usadas apenas caso a primeira falhe (se a placa de vídeo ou monitor não a suportarem) ou caso você alterne manualmente, pressionando “Ctrl Alt +” ou “Ctrl Alt -” .

Sempre que você fizer alterações no arquivo e quiser testar a configuração, reinicie o X pressionando “Ctrl+Alt+Backspace”. Não é preciso reiniciar o micro.

Na próxuma aula veremos configuração de rede. Até lá!

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes