Xorg (Português)
Contents
- 1 Introdução
- 2 Instalação do Xorg
- 3 Configurar o xorg
- 4 Editar xorg.conf
- 4.1 Definições do Monitor
- 4.2 Configuração do teclado
- 4.2.1 Atraso e taxa de repetição das teclas
- 4.2.2 Olhando as configurações do Teclado
- 4.2.3 Configurando o layout do teclado (lingua) com Hot-Plugging
- 4.2.4 Configurando o layout do teclado (língua) sem Hot-Plugging
- 4.2.5 Alternar entre layouts de teclado
- 4.2.6 Ativar as teclas do mouse para mover o ponteiro do mouse
- 4.3 Fontes
- 4.4 Ponteiros do mouse
- 4.5 Exemplos de arquivos xorg.conf
- 5 Executando Xorg
- 6 Dicas e truques
- 7 Troubleshooting (Solução de problemas)
- 7.1 Problemas comuns
- 7.2 Ctrl-Alt-Backspace não funciona
- 7.3 Problema no teclado da Apple
- 7.4 Problemas dos tap-click (botões de mouse das laptops) do Touchpad
- 7.5 Botões extras do mouse não são reconhecidos
- 7.6 Os clientes X iniciam com problemas quando se executa o comando "su"
- 7.7 Programa solicita "font '(null)'" (fonte nula)
- 7.8 Problemas no modo Frame-buffer
- 7.9 DRI com placas Matrox deixa de funcionar
- 7.10 Recuperação: desativando Xorg antes do login GUI
- 7.11 X falhou ao iniciar: a inicialização do teclado falhou
- 8 Reconhecimento
- 9 Veja inclusive
1 Introdução
O Xorg é uma implementação pública e software libre do sistema X11 X Window System. (Ver [1] para mais detalhes.) Basicamente, se quer um GUI (Interface Gráfica de Utilizador) no Parabola, vai precisar do Xorg.
2 Instalação do Xorg
Antes de começar, tenha a certeza do seguinte:
# Ter o Pacman atualizado e configurado.
# Se está executando outro servidor X pode fechá-lo agora. ctrl+alt+backspace
Agora vamos instalar o servidor Xorg:
pacman -S xorg-server
Muita gente irá querer ter suporte para o rato e teclado (neste caso o xorg-server oferece o evdev que da o suporte pra este tipo de dispositivos, o xf86-input-mouse e xf86-input-keyboard já estão obsoletos).
É preciso também ter um driver de vídeo. Pode escrever este comando e listar todos os drivers de vídeo disponíveis:
pacman -Ss xf86-video
Procure pelo driver da sua placa. Se não tem a certeza de qual é, instale o vesa, mas lembre-se da sua escolha quando configurar o xorg.
pacman -S xf86-video-vesa
Mesmo assim, se quer ter o driver especifico da sua placa de vídeo, o melhor jeito é usar o comando lspci pra saber exatamente o modelo que está usando
lspci | grep VGA
Para ter o startx e o xinit é necessário fazer
pacman -S xorg-xinit
Os preguiçosos que querem poupar tempo, poderão copiar este comando que faz tudo num so comando:
pacman -S xorg-server xf86-video-vesa xorg-xinit
Se o xorg foi bem instalado, é hora de fazer o xorg.conf
3 Configurar o xorg
Antes de executar o xorg, você necessita configurar-lo sabendo qual é a placa gráfica, monitor, rato e teclado. Existem vários métodos para automatizar este processo:
3.1 xorgconfig
Para iniciar o xorgconfig:
# xorgconfig
Isto irá gerar um xorg.conf.
Responde às perguntas feitas e o programa irá criar o arquivo automaticamente. Este método, na realidade, não é recomendável pra usar diretamente, mas é uma boa base pra poder depois acrescentar/modificar os valores do xorg.conf manualmente.
3.2 Xorg -configure
Pode utilizar
# Xorg -configure
ou
# X -configure
4 Editar xorg.conf
Você tem a opção de editar a configuração depois de ser gerada. Para abrir a configuração do xorg.conf, pode usar o seu editor de texto favorito, como por exemplo o Vim (em root):
# vim /etc/X11/xorg.conf
Se deseja definir suporte à roda do rato, veja Get All Mouse Buttons Working.
4.1 Definições do Monitor
Dependendo do seu hardware, Xorg pode detectar incorretamente as configurações definidas pelo fabricante, ou simplesmente pode reconhecer uma resolução menor suportada pelo seu monitor. Uma boa dica, é ler o manual oficial do fabricante do seu monitor antes de modificar nas configurações do xorg.
As seguintes configurações são especificadas no "Monitor Section":
4.1.1 Horizontal Sync (Sincronização Horizontal)
HorizSync 28-64
4.1.2 Refresh Rate (Taxa de Atualização)
VertRefresh 60
As seguintes configurações são especificadas no "Screen Section":
4.1.3 Colour Depth (Profundidade de Cores)
Depth 24
4.1.4 Resolution (Resolução)
Modes "1280x1024" "1024x768" "800x600"
4.2 Configuração do teclado
Xorg pode errar no momento de detectar seu tipo de teclado. As vezes esse problema pode ser que o idioma do teclado e modelo reconhecido pelo xorg não sejam o correto.
Pode ver a lista completa de modelos de teclados, layout de idiomas, variantes e opções, abrindo /usr/share/X11/xkb/rules/xorg.lst
Para configurar o keymap (mapa de tecla do teclado) pra o sessão atual do Xorg, use:
# setxkbmap dvorak
4.2.1 Atraso e taxa de repetição das teclas
Use xset r rate DELAY RATE pra troca-lo, inclusive use xinitrc para deixar isto permanente.
4.2.2 Olhando as configurações do Teclado
$ setxkbmap -print -verbose 10
Setting verbose level to 10 locale is C Applied rules from evdev: rules: evdev model: pc101 layout: br,es options: grp:alt_shift_toggle,compose:rwin,terminate:ctrl_alt_bksp Trying to build keymap using the following components: keycodes: evdev+aliases(qwerty) types: complete compat: complete symbols: pc+br+es:2+inet(evdev)+group(alt_shift_toggle)+compose(rwin)+terminate(ctrl_alt_bksp) geometry: pc(pc101) xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+es+br:2+inet(evdev)+group(alt_shift_toggle)+compose(rwin)+terminate(ctrl_alt_bksp)" }; xkb_geometry { include "pc(pc101)" }; };
4.2.3 Configurando o layout do teclado (lingua) com Hot-Plugging
Para trocar permanentemente seu layout de teclado (línguas), adicione o seguinte no xorg.conf:
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbLayout" "dvorak" EndSection
Atenção: Isto tem que estar no "InputClass Section" e não no "InputDevice section" para o teclado.
4.2.4 Configurando o layout do teclado (língua) sem Hot-Plugging
Para trocar o layout do teclado pra sua língua, use a opção XkbLayout na sessão "InputDevice". Por exemplo, se tem o teclado em português brasileiro, na sessão "InputDevice" tem que estar assim:
Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbLayout" "br" EndSection
Pra trocar o modelo do teclado, usa a opção "XkbModel" na seção "InputDevice". Por exemplo, se tem o teclado da Microsoft Wireless Multimedia seria assim:
Option "XkbModel" "microsoftmult"
4.2.5 Alternar entre layouts de teclado
Poderá facilmente alternar os layouts do teclado, modificando as opções usadas em qualquer um dos dois métodos acima. Por exemplo, alternar entre o layout do teclado em Inglês Americano, Espanhol e Português Brasileiro usando a tecla Caps Lock; pra isso tem que fazer o arquivo /etc/X11/xorg.conf.d/01-keyboard-layout.conf com o seguinte conteúdo:
Section "InputClass" Identifier "keyboard-layout" MatchIsKeyboard "on" Option "XkbLayout" "us, es, br" Option "XkbOptions" "grp:caps_toggle" EndSection
Você pode obter uma lista das possíveis opções pra grp: no /usr/share/X11/xkb/rules/xorg.lst (esta lista aparece na metade do arquivo).
Como alternativa a isto comentado anteriormente, você também pode adicionar no teu .xinitrc:
setxkbmap -layout "us, es, br" -option "grp:caps_toggle"
Isto é principalmente útil se você quer executar um ambiente gráfico onde não se preocupa da configuração do layout do teclado.
4.2.6 Ativar as teclas do mouse para mover o ponteiro do mouse
Mouse keys está desativo por default no Parabola e tem que ser manualmente ativado pra poder usar-lo:
/etc/X11/xorg.conf.d/20-enable-pointerkeys.conf
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbOptions" "keypad:pointerkeys" EndSection
Inclusive você pode executar:
$ setxkbmap -option keypad:pointerkeys
Ambos vão fazer o atalho Shift+NumLock pra ativar as teclas do mouse.
4.3 Fontes
Uma boa dica é ver a documentação Font Configuration pra ter informação de como configurar as fontes.
4.4 Ponteiros do mouse
Veja X11 Cursors.
4.5 Exemplos de arquivos xorg.conf
Se alguém tem um arquivo xorg.conf editado pessoalmente que funcione bem, pode adicionar um link aqui para os outros poder ver. Por favor não cole o arquivo de configuração completo aqui, so adicione o link do site onde esta guardado a sua configuração.
Por favor coloque somente configurações em modo "hotplugging", do contrario avise que sua configuração não usa esse modo. (Xorg 1.11 = udev)
4.5.1 - Exemplos: sessões xorg em arquivos separados
Isto é um exemplo de arquivos de configurações utilizando as sessões separadas (teclados, monitores, telas, etc).
Advertencia: A sessões estão comentadas de forma separada, porque fica muito mais fácil para configurar, exemplo: o arquivo /etc/X11/xorg.conf.d/50-monitor.conf é encarregada de fazer a tarefa de funcionamento do monitor.
/etc/X11/xorg.conf.d/00-xorg-base.conf: http://pastebin.com/raw.php?i=GdnGQZQk /etc/X11/xorg.conf.d/10-serverlayout-layout0.conf: http://pastebin.com/raw.php?i=0f1rytQf /etc/X11/xorg.conf.d/10-serverlayout-layout1.conf: http://pastebin.com/raw.php?i=PYbmcgtz /etc/X11/xorg.conf.d/10-serverlayout-layout2.conf: http://pastebin.com/raw.php?i=rVrgN8rC /etc/X11/xorg.conf.d/10-serverlayout-layout3.conf: http://pastebin.com/raw.php?i=Rq9CJ5pi /etc/X11/xorg.conf.d/20-inputclass-keyboards.conf: http://pastebin.com/raw.php?i=mqCvaFKv /etc/X11/xorg.conf.d/30-screen-screen0.conf: http://pastebin.com/raw.php?i=XFCvUyuU /etc/X11/xorg.conf.d/30-screen-screen1.conf: http://pastebin.com/raw.php?i=qSr97KhB /etc/X11/xorg.conf.d/30-screen-screen2.conf: http://pastebin.com/raw.php?i=7n5t1gN7 /etc/X11/xorg.conf.d/30-screen-screen3.conf: http://pastebin.com/raw.php?i=nFudQ2tw /etc/X11/xorg.conf.d/40-device-nouveau.conf: http://pastebin.com/raw.php?i=Lk5SM21e /etc/X11/xorg.conf.d/50-monitor.conf: http://pastebin.com/raw.php?i=sR05xAeU /etc/X11/xorg.conf.d/51-modes.conf: http://pastebin.com/raw.php?i=Me6kFgLa
5 Executando Xorg
Inicie o demonio dbus e adicione ele na opção DAEMONS que fica dentro do /etc/rc.conf para iniciar isto automaticamente no boot.
Finalmente, inicie o Xorg:
$ startx
ou
$ xinit -- /usr/bin/X -nolisten tcp
O ambiente X padrão é bastante primitivo para o uso cotidiano, e normalmente é recomendável instalar gerenciadores de janelas ou ambientes de trabalho para poder complementar com o X. Uma lista de opções adequadas está presente em Common Applications#Window Managers (WM).
Se alguma coisa acontecer (a tela ficou preta, ficou congelada, etc), você pode ver o log no /var/log/Xorg.0.log. Preste muita atenção nas linhas que comecem com (EE) que representa os erros, e também (WW) que são avisos de que poderia indicar outras questões de avisos importantes que possam requerer da sua atenção.
5.1 Métodos para iniciar o seu Ambiente Gráfico
A seguir, indicaremos um par de métodos para iniciar um ambiente gráfico a partir da linha de comando.
5.1.1 Usando o runlevels (níveis de execução)
O GNU/Linux pode ser configurado em diferentes níveis de execução runlevels. O Parabola inicia no nível de execução 3 por padrão. O nivel de execução 5 é normalmente usado no GNU/Linux para o carregar o servidor X. Edite o arquivo /etc/inittab. Na parte final, na ultima sessão, descomente a linha correspondente do seu ambiente gráfico. Por exemplo para o XDM (X Display manager), você teria que ter como no exemplo a seguir:
# Example lines for starting a login manager x:5:respawn:/usr/bin/xdm -nodaemon #x:5:respawn:/usr/sbin/gdm -nodaemon #x:5:respawn:/usr/bin/kdm -nodaemon #x:5:respawn:/usr/bin/slim >/dev/null 2>&1
Agora, simplesmente inicie seu ambiente de trabalho:
# init 5
5.1.2 Usando ~/.xinitrc
Este método envolve uma configuração muito complexa.
Primeiro, a gente necessita configurar o ~/.xinitrc.
Uma das principais funções deste arquivo é indicar com qual cliente vai ser invocado com o sistema de janelas X (X Windows System) e/ou o programa /usr/bin/xinit em on a per-user basis que significa "em uma base por usuario". O scriptstartx é apenas um front-end para o comando xinit mais versátil. Você tem um monte de especificações adicionais de configurações e comandos que pode ser inclusive adicionado no ~/.xinitrc para você personalizar ainda mais o seu sistema. Veja em xinitrc para ter mais informação.
Os comandos startx e xinit iniciaram o servidor X e os clientes. Para determinar o cliente que tem que ser executado, o startx/xinit vai fazer o primeiro analise no arquivo ~/.xinitrc na pasta "home" do usuario. Na ausência do ~/.xinitrc, o padrão é o arquivo global /etc/X11/xinit/xinitrc, cujo padrão é usar o gerenciador de janelas Twm. Portanto, se você invocar startx sem o arquivo ~/.xinitrc, a sessão TWM será iniciada. Para maior detalhes, entre no xinitrc.
Agora alterne para o seu usuario normal que não tenha privilegios de root (administrador):
# su - seu_nome_de_usuario
- /etc/skel/ contem os arquivos e diretórios para fornecer padrões de sanidade para contas de usuário recém-criadas. O nome "skel" é derivado do nome em inglês "skeleton" que significa esqueleto, porque estes arquivos contem formas de estruturas básicas para os diretorios "home" dos usuarios.
- Exemplos ~/.xinitrc estão fornecidas aqui
Copy the sample /etc/skel/.xinitrc file to your home directory:
$ cp /etc/skel/.xinitrc ~/
Agora, edite o ~/.xinitrc e descomente a linha correspondente para o teu desktop environment. Por exemplo, se você está usando Xterm, você taria precisando de algo parecido com isto:
#!/bin/sh # # ~/.xinitrc # # Executed by startx (run your window manager from here) # exec gnome-session # exec startkde # exec startxfce4 # exec wmaker # exec icewm # exec blackbox # exec fluxbox # exec openbox-session # ...or the Window Manager of your choice exec xterm
Agora estamos pronto pra iniciar o X. Inicie o X como usuario normal, non-root, com:
$ startx
or
$ xinit
Sua área de trabalho deveria de abrir-se já. Você pode testar seu teclado e seu layout (lingua) no X. Tente mover o mouse em volta e aprecie a vista.
Se tiver problemas com a automontagem, tente usar o seguinte comando no . ~ / Xinitrc. Substitua startxfce4 com o comando que é apropriado para o seu window manager ou ambiente de trabalho.
exec ck-launch-session startxfce4
Isto irá assegurar a várias variáveis de ambiente que estejam configuradas corretamente, iniciando uma limpa sessão de ConsoleKit. ConsoleKit é uma estrutura para manter o controle de diversos usuários, sessões e lugares presentes em um sistema. Ele fornece um mecanismo para software para reagir às mudanças de qualquer um desses itens ou de qualquer dos metadados associados a eles. Ele funciona em conjunto com D-Bus e outras ferramentas.
6 Dicas e truques
6.1 Ajustando a inicialização do X (/usr/bin/startx)
Para melhor referência, veja as opções do servidor X no:
$ man Xserver
As seguintes opções devem ser adicionadas na variável "defaultserverargs" no arquivo {ic|/usr/bin/startx}}:
- Ativar carregamento glifo diferido para fontes de 16 bits:
-deferglyphs 16
ServerArgsLocal=-nolisten tcp ServerCmd=/usr/bin/X
6.2 Sessão virtual X
Para iniciar outra sessão X, por exemplo, CTRL + ALT + F8, você precisa digitar isso em um console:
xinit /path/to/wm -- :1
Troque o "/path/to/wm" pelo seu arquivo gerenciador de inicio de janela ou o teu gerenciador de login como gdm, kdm ou slim.
6.3 Sessão X aninhados
Para executar uma sessão aninhada de outro ambiente de escritorio, é assim:
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
Isso iniciará de uma sessão padrão em uma de 1024 por 768 dentro de sua sessão X atual.
Para ter isto, você necessita ter o pacote xorg-server-xnest xorg-server-xnest instalado no seu sistema.
7 Troubleshooting (Solução de problemas)
7.1 Problemas comuns
Se o Xorg não inicia, a tela fica preta, o teclado e mouse não funcionam, etc., a melhor dica antes de fazer alguma coisa, é seguir estes passos prévios:
- Verifique o archivo log: cat /var/log/Xorg.0.log
- Instale os drivers de dispositivos de entrada do seu computador (teclado, mouse, joystick, tablet, etc...):
- Finalmente, procure informação nos artículos de problemas comuns no ATI, Intel e Nouveau.
7.2 Ctrl-Alt-Backspace não funciona
Há duas maneiras de restaurar Ctrl + Alt + Backspace, com e sem entrada hotplugging. É recomendado usando hot-plugging.
7.2.1 Com a entrada hot-plugging
7.2.1.1 System-wide (Sistema em geral)
Dentro do arquivo /etc/X11/xorg.conf.d/10-evdev.conf, simplesmente adicione a seguinte informação:
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection
7.2.1.2 User-specific (Usuario especifico)
Outra forma é colocar esta linha no xinitrc:
setxkbmap -option terminate:ctrl_alt_bksp
7.2.2 Sem entrada hot-plugging
O novo Xorg desativa o zapping com Ctrl+Alt+Backspace por padrão. Você pode ativar ele adicionando a seguinte linha no /etc/X11/xorg.conf,
Option "XkbOptions" "terminate:ctrl_alt_bksp"
na sessão InputDevice para teclados.
7.3 Problema no teclado da Apple
- Veja: Apple Keyboard
7.4 Problemas dos tap-click (botões de mouse das laptops) do Touchpad
- Veja: Synaptics
7.5 Botões extras do mouse não são reconhecidos
7.6 Os clientes X iniciam com problemas quando se executa o comando "su"
Se você executa o comando "su" e logo obtém uma informação assim "Client is not authorized to connect to server", então adicione esta linha:
session optional pam_xauth.so
no /etc/pam.d/su. Deste jeito o pam_xauth definirá as variáveis de ambiente corretamente e administrará as chaves xauth
7.7 Programa solicita "font '(null)'" (fonte nula)
- Mensagem de erro: "unable to load font `(null)'."
Alguns programas só trabalham com fontes bitmap. Neste caso, dois pacotes grandes com fontes bitmap estão disponíveis no pacman, o xorg-fonts-75dpi-libre xorg-fonts-75dpi-libre e xorg-fonts-100dpi-libre xorg-fonts-100dpi-libre. Você não necessitará ter ambos no sistema, com ter só um é suficiente. Para descobrir qual deles seria melhor no seu caso, tente o seguinte:
$ xdpyinfo | grep resolution
e use o mais próximo segundo a resolução que você tem (75 ou 100 em vez de XX)
# pacman -S xorg-fonts-XXdpi-libre
7.8 Problemas no modo Frame-buffer
Se você inicia o X, mas falha indicando as seguintes mensagens no log...
(WW) Falling back to old probe method for fbdev (II) Loading sub module "fbdevhw" (II) LoadModule: "fbdevhw" (II) Loading /usr/lib/xorg/modules/linux//libfbdevhw.so (II) Module fbdevhw: vendor="X.Org Foundation" compiled for 1.6.1, module version=0.0.2 ABI class: X.Org Video Driver, version 5.0 (II) FBDEV(1): using default device Fatal server error: Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices
...você deverá desinstalar o fbdev do seu sistema:
# pacman -R xf86-video-fbdev
7.9 DRI com placas Matrox deixa de funcionar
Se você usa uma placa Matrox com suporte DRI, e isto deixa de funciona depois de atualizar o Xorg, tente adicionar a linha:
Option "OldDmaInit" "On"
na sessão de dispositivos "Device section" onde indica a placa de vídeo no xorg.conf.
7.10 Recuperação: desativando Xorg antes do login GUI
Se Xorg está definido para iniciar automaticamente e por alguma razão você precisa evitar que ele seja iniciado antes do gerenciador de login/tela aparecer, (por exemplo: o /etc/rc.conf está mal configurado e Xorg não reconhece seu mouse ou teclado), neste caso você pode realizar esta tarefa com dois métodos.
- Desde o menu GRUB, você pode especificar o nivel de execução "runlevel" na linha do kernel, adicionando um numero no final dessa linha especificando o nivel de execução que você quer. No seguinte exemplo se configurará para que se execute no nivel 3:
kernel /boot/vmlinuz-linux-libre root=/dev/disk/by-uuid/..ro 3
- Vamos supor, que você não tem somente o problema de ter o rc.conf defeituoso, e que além disso, como outro problema, você tem o menu GRUB no tempo de espera em 0, e não tem outro jeito de acessar nele para poder evitar executar o Xorg; neste caso como alternativa, você pode usar o CD Live do Parabola.
- pode usar o comando,
# fdisk -l
- para ver suas partições. Pelo general, o que se usa é semelhante a /dev/sda1. Então, neste exemplo para montar esta partição ao /mnt, use
# mount /dev/sda1 /mnt
- Então seu sistema de arquivos vai aparecer sob o /mnt. Portanto, o seu arquivo /etc/rc.conf, por exemplo, estaria em /mnt/etc/rc.conf. A partir daqui você pode excluir o demônio gdm para evitar o Xorg iniciar normalmente ou ajeitar outras opções na configuração.
7.11 X falhou ao iniciar: a inicialização do teclado falhou
Se o HD estiver cheio, startx irá falhar. O archivo var/log/Xorg.0.log mostrará:
(EE) Error compiling keymap (server-0) (EE) XKB: Couldn't compile keymap (EE) XKB: Failed to load keymap. Loading default keymap instead. (EE) Error compiling keymap (server-0) (EE) XKB: Couldn't compile keymap XKB: Failed to compile keymap Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config. Fatal server error: Failed to activate core devices. Please consult the The X.Org Foundation support at http://wiki.x.org for help. Please also check the log file at "/var/log/Xorg.0.log" for additional information. (II) AIGLX: Suspending AIGLX clients for VT switch
Faça algum espaço livre na partição raiz e o X será iniciado.