Xorg (Português)
- O projeto X.Org oferece uma implementação de código aberto do Sistema de janelas X. O desenvolvimento é realizado em conjunto com a comunidade freedesktop.org. X.org é uma corporação educacional sem fins lucrativos, liderada pelo conselho e membros do projeto.
Xorg (normalmente chamado de X) é o servidor de exibição mais popular entre os usuários do Linux. Sua onipresença lhe fez um pré-requisito para programas GUI, Isto resultou em uma massiva adoção na maioria das distribuições Linux. Veja a página do Wikipédia Xorg ou visite o site do Xorg para mais informações.
Instalação
Xorg pode ser instalado com o pacote xorg-server.
Alguns pacotes do grupo xorg-apps são necessários para certas tarefas de configuração, eles serão destacados nas seções relevantes.
O grupo xorg também é uma opção, ele oferece pacotes do servidor Xorg, pacotes do grupo xorg-apps e fontes.
Instalação de driver
O kernel Linux inclui drivers de vídeo de código aberto e suporta aceleração de hardware para framebuffers. No entanto, é necessário suporte para OpenGL e aceleração 2D no X11.
Primeiro, identifique sua placa:
$ lspci | grep -e VGA -e 3D
Então, instale o driver apropriado. Você pode procurar por uma lista completa de drivers de vídeo com:
$ pacman -Ss xf86-video
Xorg procura por drivers de vídeo instalados automaticamente:
- Se ele não achar o driver específico instalado (listados abaixo), ele primeiro procura por fbdev (xf86-video-fbdev).
- Se não for achado, ele procura por vesa (xf86-video-vesa), o driver genérico, que manuseia um grande número de chipsets mas não inclui nenhuma aceleração 2D e 3D.
- Se vesa não é encontrado, Xorg irá fazer uso do kernel mode setting, que inclui aceleração GLAMOR (veja modesetting(4)).
Para aceleração de vídeo funcionar, e geralmente para usar todos os modos configuráveis da GPU, é necessário o driver apropriado:
Marca | Tipo | Driver | OpenGL | OpenGL (multilib) | Documentação |
---|---|---|---|---|---|
AMD / ATI | Código aberto | xf86-video-amdgpu | mesa | lib32-mesa | AMDGPU |
xf86-video-ati | ATI | ||||
Intel | Código aberto | xf86-video-intel | mesa | lib32-mesa | Gráficos Intel |
NVIDIA | Código aberto | xf86-video-nouveau | mesa | lib32-mesa | Nouveau |
Proprietário | nvidia | nvidia-utils | lib32-nvidia-utils | NVIDIA | |
nvidia-390xxAUR | nvidia-390xx-utilsAUR | lib32-nvidia-390xx-utilsAUR |
- Para habilitar NVIDIA Optimus que usa uma placa de vídeo integrada com uma placa GPU dedicada, Veja NVIDIA Optimus.
- Para gráficos Intel da quarta geração e posterior, veja Gráficos Intel#Instalação para drivers disponíveis.
Outros drivers de vídeo podem ser encontrados no grupo xorg-drivers.
Xorg deve rodar suavemente sem drivers de código fechado, que são tipicamente necessários somente para características avançadas como rápida renderização 3D para jogos. As exceções para esta regra são GPUs recentes (especialmente GPUs da NVIDIA), que não são suportadas por drivers de código aberto.
AMD
Arquitetura da GPU | Placas Radeon | Driver de código aberto | Driver proprietário |
---|---|---|---|
GCN 4 e recentes |
vários | AMDGPU | AMDGPU PRO |
GCN 3 | AMDGPU | AMDGPU PRO | |
GCN 2 | AMDGPU* / ATI | não disponível | |
GCN 1 | AMDGPU* / ATI | não disponível | |
TeraScale 2&3 | HD 5000 - HD 6000 | ATI | não disponível |
TeraScale 1 | HD 2000 - HD 4000 | não disponível | |
Mais antigo | X1000 e antigo | não disponível |
- *: Experimental
Iniciando
O comando Xorg(1) não é normalmente iniciado diretamente, ao invés disso o servidor X é iniciado por um gerenciador de exibição ou xinit.
Configuração
/usr/share/X11/xorg.conf.d/
, nenhuma configuração extra é necessária para a maioria dos casos.Xorg usa o arquivo de configuração xorg.conf
e arquivos terminando com o sufixo .conf
para sua inicialização: a lista completa das pastas onde estes arquivos são procurados podem ser encontrados em xorg.conf(5), juntamente com explicações detalhadas de todas as opções disponíveis.
Usando arquivos .conf
O diretório /etc/X11/xorg.conf.d/
guarda configurações específicas do usuário. Você é livre para adicionar arquivos de configuração, mas eles deve ter o sufixo .conf
: os arquivos são lidos na ordem ASCII, e por convenção seus nomes começam com XX-
(dois dígitos e um hífen, e por exemplo, 10 é lido antes de 20). Estes arquivos são analisados pelo servidor X e são tratados como parte do arquivo de configuração tradicional xorg.conf
. Note que em caso de configuração conflitante, o arquivo lido por último será processado. Por esta razão os arquivos de configuração genéricos devem ser ordenados primeiro por nome. As configurações no arquivo xorg.conf
são processadas no final.
Para opções de configuração, veja também a página da wiki do Fedora.
Usando xorg.conf
Xorg pode ser configurado modificando /etc/X11/xorg.conf
ou /etc/xorg.conf
. Você também pode gerar um esqueleto do para xorg.conf
com:
# Xorg :0 -configure
Isto deve criar um arquivo xorg.conf.new
em /root/
que você pode copiar para /etc/X11/xorg.conf
.
Xorg :2 -configure
.Alternativamente, seu driver proprietário pode vir com uma ferramenta para automaticamente configurar o Xorg: veja o artigo do seu driver de vídeo, NVIDIA ou AMDGPU PRO, para mais detalhes.
Dispositivos de entrada
Para dispositivos de entrada o servidor X usa o driver libinput (xf86-input-libinput), mas xf86-input-evdev e drivers relacionados estão disponíveis como alternativa.[1]
Udev, oferecido como dependência do systemd, irá detectar o hardware e ambos os drivers irão agir dinamicamente como driver de entrada para quase todos dispositivos, como definido nos arquivos de configuração padrão 10-quirks.conf
e 40-libinput.conf
no diretório /usr/share/X11/xorg.conf.d/
.
Depois de iniciar o servidor X, o arquivo de log irá mostrar que driver foi selecionado para dado dispositivo (note que o nome do arquivo de log mais recente pode variar):
$ grep -e "Using input driver " Xorg.0.log
Se ambos não suportam um dispositivo particular, instale o driver necessário do grupo xorg-drivers. O mesmo se aplica, se você quiser usar outro driver.
Para influenciar a troca dinâmica entre os drivers, Veja #Configuração.
Para instruções específicas, veja também o artigo libinput, as seguintes páginas abaixo, ou a wiki do Fedora para mais exemplos.
Identificação de entrada
Veja Keyboard input#Identifying keycodes in Xorg.
Aceleração do mouse
Veja Mouse acceleration.
Botões adicionais do mouse
Veja Mouse buttons.
Touchpad
Toque de tela
Veja Touchscreen.
Configurações do teclado
Veja Keyboard configuration in Xorg.
Configurações do monitor
Configuração manual
- Novas versões do Xorg são automaticamente configuráveis, então configurações manuais não devem ser necessárias.
- Se Xorg não é capaz de detectar qualquer monitor ou para evitar automaticamente configuração, um arquivo de configuração pode ser usado. Um exemplo de uso, é em um servidor, que liga sem um monitor e inicia o Xorg automaticamente, com console virtual no login, ou por um gerenciador de exibição
Para configuração headless o driver xf86-video-dummy é necessário; instale e crie um arquivo de configuração, como o seguinte:
/etc/X11/xorg.conf.d/10-headless.conf
Section "Monitor" Identifier "dummy_monitor" HorizSync 28.0-80.0 VertRefresh 48.0-75.0 Modeline "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 EndSection Section "Device" Identifier "dummy_card" VideoRam 256000 Driver "dummy" EndSection Section "Screen" Identifier "dummy_screen" Device "dummy_card" Monitor "dummy_monitor" SubSection "Display" EndSubSection EndSection
Múltiplos monitores
Veja o artigo Múltiplos monitores para informações gerais.
Veja também as instruções específicas da GPU:
Mais de uma placa de vídeo
Você deve definir o driver correto a ser usado e botar o bus ID de sua placa de vídeo (em notação decimal).
Section "Device" Identifier "Screen0" Driver "intel" BusID "PCI:0:2:0" EndSection Section "Device" Identifier "Screen1" Driver "nouveau" BusID "PCI:1:0:0" EndSection
Para descobrir os bus IDs (em hexadecimal):
$ lspci | grep -e VGA -e 3D
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04) 01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)
Os bus IDs desse exemplo são 0:2:0 e 1:0:0.
Tamanho da tela e DPI
O DPI do servidor X é determinado da seguinte maneira:
- A opção da linha de comando
-dpi
tem a maior prioridade. - Se ela não é usada, a configuração
DisplaySize
no arquivo de configuração do X é usada para entregar o DPI, dado o tamanho de resolução da tela. - Se nenhum
DisplaySize
é dado, os valores de tamanho do monitor da DDC são usados para definir o DPI, dado a resolução de tela. - Se DDC não especifica um tamanho, é usado por padrão 75 DPI.
Para conseguir pontos por polegada (DPI) correto, o tamanho da tela deve ser reconhecido ou configurado. Ter o DPI correto é um requisito quando detalhes finos são necessários (como renderização de fontes). Antigamente, fabricantes tentaram criar um padrão para 96 DPI (um monitor de 10.3" deveria ser 800X600, um monitor de 13.2" deveria ser 1024X768). Atualmente, DPIs variam e podem não ser iguais horizontalmente e verticalmente. Por exemplo, uma tela panorâmica LCD de 19" 1440X900 poderia ter um DPI de 89X87. Para configurar o DPI, o servidor Xorg tenta a auto detecção do tamanho de tela físico através da placa gráfica com DDC. Quando o servidor Xorg sabe o tamanho físico da tela, ele será capaz de configurar o DPI corretamente baseado no tamanho da resolução.
Para ver se o tamanho da sua tela e DPI são detectados/calculados corretamente:
$ xdpyinfo | grep -B2 resolution
Verifique se as dimensões correspondem ao tamanho da sua tela. Se o servidor Xorg não é capaz de corretamente calcular o tamanho de tela, o DPI será definido como 75X75 e você terá que calcular isto você mesmo.
Se você tem especificações do tamanho físico da tela, pode colocá-los no arquivo de configuração do Xorg para então o DPI apropriado ser calculado (ajuste o Identifier de acordo com a saída do xrandr
):
Section "Monitor" Identifier "DVI-D-0" DisplaySize 286 179 # Em milímetros EndSection
Se você somente quer colocar sua especificação de monitor sem criar um novo arquivo xorg.conf. Por exemplo (/etc/X11/xorg.conf.d/90-monitor.conf
):
Section "Monitor" Identifier "<monitor padrão>" DisplaySize 286 179 # Em milímetros EndSection
Se você não tem as especificações físicas de altura e largura da tela, (a maioria das especificações atualmente somente listam o tamanho diagonal) você pode usar a nativa resolução do monitor (ou aspecto de proporção) e comprimento diagonal para calcular a dimensão horizontal e vertical física. Usando o Teorema de Pitágoras em uma tela diagonal de 13.3" com uma resolução nativa de 1280X800 (ou aspecto de proporção 16:10):
$ echo 'scale=5;sqrt(1280^2+800^2)' | bc # 1509.43698
Isto dará o comprimento do pixel diagonal e com este valor você pode descobrir o comprimento horizontal e vertical físico (e converter eles para milímetros):
$ echo 'scale=5;(13.3/1509)*1280*25.4' | bc # 286.43072 $ echo 'scale=5;(13.3/1509)*800*25.4' | bc # 179.01920
Definindo o DPI manualmente
Para drivers compatíveis com RandR (por exemplo, o driver ATI de código aberto), você pode configurá-lo da seguinte maneira:
$ xrandr --dpi 144
Para torná-lo permanente, consulte Inicialização automática#Na inicialização de Xorg.
Driver proprietário NVIDIA
O DPI pode ser configurado manualmente se você deseja usar somente uma resolução (calculadora de DPI):
Section "Monitor" Identifier "Monitor0" Option "DPI" "96 x 96" EndSection
Você pode configurar manualmente o DPI adicionando as opções abaixo no arquivo /etc/X11/xorg.conf.d/20-nvidia.conf
(dentro da seção Device):
Option "UseEdidDpi" "False" Option "DPI" "96 x 96"
Correção manual do DPI
GTK frequentemente sobrescreve o DPI do servidor com o Xresource opcional Xft.dpi
. Para descobrir se isto está acontecendo com você, verifique:
$ xrdb -query | grep dpi
A partir da versão 3.16 do GTK quando esta variável não é explicitamente definida, GTK define como 96. Para os programas GTK obedecerem o DPI do servidor você deve explicitamente definir Xft.dpi. O recurso Xft.dpi é o metodo pelo qual alguns ambientes desktop opcionalmente forçam o DPI para um valor específico. Dentre estes KDE e TDE.
Gerenciamento de energia do monitor
DPMS (Gerenciamento de energia do monitor baseado em sinalização) é uma tecnologia que habilita o modo de economia de energia para monitores quando o computador não está em uso. Isto permite que os monitores vão para o modo standby automaticamente depois de determinado período de tempo.
Composição
A extensão de Composição para X gera uma completa subárvore hierárquica de janelas a serem renderizadas para um buffer off-screen (renderização fora da tela). Programas então pegam o conteúdo desse buffer e fazem o que quiser com ele. O buffer off-screen pode ser automaticamente fundido com a janela pai ou com programas externos, chamados gerenciadores de composição. Veja o seguinte artigo para mais informações: gerenciador de janelas compositor
Alguns gerenciadores de janela (por exemplo: compiz, Enlightenment, KWin, Marco, Metacity, Muffin, Mutter, Xfwm) fazem composição. Para outros gerenciadores de janela, um gerenciador de composição pode ser usado.
Lista de gerenciadores de composição
- Picom — Compositor (um fork do Compton)
- Xcompmgr — Gerenciador de efeitos de janela de composição
- Unagi — Um modular gerenciador de composição escrito em C baseado no XCB
Dicas e truques
Automação
Esta seção lista utilitários para automatizar a entrada do teclado ou mouse e operações de janela (como mover, redimensionar e iniciar).
Ferramenta | Pacote | Manual | Entrada Keysym |
Operações de janela |
Nota |
---|---|---|---|---|---|
xautomation | xautomation | xte(1) | Sim | Não | Também contém ferramentas de screen scraping. Não pode simular F13+. |
xdo | xdo | xdo(1) | Não | Sim | Pequena ferramenta do X para ações elementárias em janelas. |
xdotool | xdotool | xdotool(1) | Sim | Sim | Muitos bugs e não está em desenvolvimento ativo, exemplo: tem parseamento da linha de comando quebrado.[2][3] |
xvkbd | xvkbdAUR | xvkbd(1) | Sim | Não | Teclado virtual para Xorg, também tem a opção -text para envio de caracteres.
|
Veja também Clipboard#Tools e uma visão geral de ferramentas de automação do X (em inglês).
Sessão X aninhada
Para executar uma sessão aninhada de outro ambiente de desktop:
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
Isso vai iniciar uma sessão de Window Maker em uma janela 1024 por 768 dentro de sua sessão X atual.
Isso precisa do pacote xorg-server-xnest para ser instalado.
Iniciando programas GUI remotamente
Veja o artigo principal: OpenSSH#X11 forwarding.
Habilitando e desabilitando em demanda dispositivos de entrada
Com a ajuda de xinput você pode temporariamente desabilitar ou habilitar dispositivos de entrada. Isto pode ser útil, por exemplo, em sistemas que tem mais de um mouse, como os ThinkPads, e você prefere usar somente um para evitar clicks indesejados.
Instale o pacote xorg-xinput.
Encontre o nome ou ID do dispositivo que você quer desabilitar:
$ xinput
Por exemplo, em um Lenovo ThinkPad T500, a saída parece com isto:
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)]
Desabilite o dispositivo com xinput --disable dispositivo
, onde o dispositivo é o ID ou nome do dispositivo que você quer desabilitar. Neste exemplo nós iremos desabilitar o Synaptics Touchpad, com o ID 10:
$ xinput --disable 10
Para habilitar novamente o dispositivo, execute o comando:
$ xinput --enable 10
Alternatively using the device name, the command to disable the touchpad would be:
Alternativamente, usando o nome do dispositivo, o comando para desabilitar o touchpad seria:
$ xinput --disable "SynPS/2 Synaptics TouchPad"
Atalho para matar um programa
Faça um atalho com o seguinte script:
#!/bin/bash windowFocus=$(xdotool getwindowfocus); pid=$(xprop -id $windowFocus | grep PID); kill -9 $pid
Dependências: xorg-xprop, xdotool.
Impeça acesso ao TTY
Para impedir o acesso ao TTY no X, adicione no xorg.conf:
Section "ServerFlags" Option "DontVTSwitch" "True" EndSection
Impeça um usuário de matar o X
Para prevenir um usuário de matar uma sessão X quando ela está rodando, adicione o seguinte no xorg.conf:
Section "ServerFlags" Option "DontZap" "True" EndSection
Xorg sem root
Xorg pode ser executado com privilégios de usuário comum ao invês do root (conhecido em inglês como "rootless" Xorg). É uma melhora significativa na segurança quando comparado com executar como root. Note que a maioria dos gerenciadores de login não suportam Xorg sem root.
Você pode verificar que usuário está executando o Xorg com ps -o user $(pgrep Xorg)
.
Veja também Xorg.wrap(1), systemd-logind(8), Systemd/User#Xorg as a systemd user service, [4] e FS#41257.
Usando xinitrc
Para configurar Xorg sem root usando xinitrc:
- Executar startx como um subpprocesso do shell de login; executar
startx
diretamente e não usarexec startx
. - Se usa certos drivers de vídeo proprietários, a detecção automática do kernel mode setting vai falhar. Em tais casos, você deve definir
needs_root_rights = no
em/etc/X11/Xwrapper.config
.
Usando GDM
GDM vai executar o Xorg sem privilégios root por padrão quando o kernel mode setting é usado.
Redirecionamento do log da sessão
Quando Xorg é executado sem privilégios root, os logs do xorg são armazenados em ~/.local/share/xorg/Xorg.log
. No entanto, as saídas stdout e stderr da sessão Xorg não são redirecionadas para este arquivo. Para habilitar o redirecionamento, inicie o Xorg com a opção -keeptty
e redirecione a saída stdout e stderr para um arquivo:
startx -- -keeptty &> ~/.xorg.log
Ou copie /etc/X11/xinit/xserverrc
para ~/.xserverrc
, e adicione -keeptty
. Veja [5].
Solução de problemas
Geral
Se um problema acontecer, veja o log armazenado em /var/log/
ou, se executa o servidor X como usuário comum (possível desde v1.16), em ~/.local/share/xorg/
. Usuários do GDM devem verificar os registros do systemd. [6]
Os arquivos de log estão na forma de Xorg.n.log
com n
sendo o número de exibição($DISPLAY
). Para uma maquina de único usuário com configuração padrão, o arquivo de log é frequentemente Xorg.0.log
, mas isto pode variar. Para ter certeza de qual é o arquivo certo você pode olhar o log da inicialização da sessão X e de qual console ele foi iniciado. Por exemplo:
$ grep -e Log -e tty Xorg.0.log
[ 40.623] (==) Log file: "/home/archuser/.local/share/xorg/Xorg.0.log", Time: Thu Aug 28 12:36:44 2014 [ 40.704] (--) controlling tty is VT number 1, auto-enabling KeepTty
- No arquivo de log você pode procurar por qualquer linhas começando com
(EE)
, que representam erros, e também(WW)
, que são avisos que podem indicar outros problemas. - Se o arquivo
xinitrc
estiver vazio em seu$HOME
, exclua ou edite ele para o X iniciar apropriadamente. Se você não fizer isto X irá mostrar uma tela vazio sem erros aparentes no seuXorg.0.log
. Ao exclui-lo a próxima vez que for iniciado o X será executado com o ambiente X padrão. - Se a tela ficar preta, você pode ainda tentar trocar para um diferente console virtual (por exemplo,
Ctrl+Alt+F6
), e entrar como root. Você pode fazer isto ao digitarroot
(pressionandoEnter
depois) e entrar com a senha do usuário root (denovo, pressioneEnter
depois).
- Você pode querer matar o servidor X com:
# pkill -x X
- Se isto não funcionar, pode reiniciar cegamente com:
# reboot
- Veja páginas específicas na Categoria:Dispositivos de entrada se você tiver problemas com o teclado, mouse, Touchpad e etc, considere verificar a pagina em inglês se não achar o que procura.
- Procure por problemas comuns nos artigos da ATI, Intel e NVIDIA.
Tela preta, nenhum protocolo especificado.., recurso temporariamente não disponível para todos ou alguns usuários
X cria configuração e arquivos temporários no diretório do usuário ($HOME). Tenha certeza que existe espaço de disco disponível na partição utilizada. Infelizmente, o servidor X não informa isso de maneira óbvia.
DRI com placas Matrox parou de funcionar
Se você usa um cartão Matrox e DRI parou de funcionar depois de atualizar o Xorg, tente adicionar a seguinte linha:
Option "OldDmaInit" "On"
Na seção Device
que referência a placa de vídeo em xorg.conf
.
Problemas no modo renderizador de quadros (framebuffer mode)
Se X falha para iniciar com a seguinte messagem de 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
Desinstale o pacote xf86-video-fbdev.
Programa requer "font '(null)'"
Messagem de erro: unable to load font `(null)'
.
Alguns programas somente funcionam com fontes bitmap. Os dois maiores pacotes com fontes bipmap disponíveis são xorg-fonts-75dpi e xorg-fonts-100dpi. Você não precisa de ambos, um deve ser o bastante. Para descobrir qual o mais apropriado para sua situação, tente xdpyinfo
, do pacote xorg-xdpyinfo, desse jeito:
$ xdpyinfo | grep resolution
Use o que for mais próximo do valor mostrado.
Recuperação: Desabilitar o Xorg antes do login GUI
Se o Xorg está configurado para iniciar automaticamente e por alguma razão você precisa evitar isto antes de iniciar o login/gerenciador de exibição Aparecerem (e o sistema está mal configurado e o Xorg não reconhece o mouse ou teclado, por exemplo), você pode fazer isto com dois métodos.
- Mude o alvo padrão para rescue.target. Veja Systemd#Alterar target padrão para inicializar.
- Se você além de ter um sistema com falhas que fazem o Xorg não usável, tem o menu do GRUB sem tempo de espera, e não pode usar o GRUB para prevenir o Xorg de iniciar. Você pode usar um live CD do Arch Linux. Veja no guia de instalação sobre como montar e chroot o sistema Arch Linux instalado.Você também pode tentar trocar para outro tty com
Ctrl+Alt
+ a tecla de função (normalmente doF1
paraF7
, use um que não está sendo usado pelo X), logue como root e siga os passos abaixo.
Dependendo da configuração, você vai precisar fazer um ou mais desses passos:
- Desabilite o gerenciador de exibição.
- Desabilite o Inicio automático do X no login.
- Renomeie o
~/.xinitrc
ou comente a linha que contémexec
dentro dele.
Cliente X começando com falha "su"
Se você está ecebendo "Client is not authorized to connect to server", tente adicionar essa linha:
session optional pam_xauth.so
Em /etc/pam.d/su
e /etc/pam.d/su-l
. pam_xauth
irá então apropriadamente definir as variáveis de ambiente e cuidar das chaves xauth
.
X falhou para iniciar: Inicialização do teclado falhou
Se o sistema de arquivos, especificamente se /tmp
está cheio, startx
irá falhar. /var/log/Xorg.0.log
irá terminar com:
(EE) Error compiling keymap (server-0) (EE) XKB: Could not compile keymap (EE) XKB: Failed to load keymap. Loading default keymap instead. (EE) Error compiling keymap (server-0) (EE) XKB: Could not 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
Libere espaço no sistema de arquivos e X irá iniciar.
Tela verde toda vez que tenta ver um vídeo
Sua profundidade de cor está errada. Pode ser 24 ao invés de 16, por exemplo.
Erro SocketCreateListener
Se X termina com a mensagem de erro "SocketCreateListener() failed", você pode precisar deletar os arquivos de socket em /tmp/.X11-unix
. Isto pode acontecer se você antes tenha rodado o Xorg como superusuário (Por exemplo, para gerar uma xorg.conf
).
Chave inválida MIT-MAGIC-COOKIE-1 enquanto tenta executar um programa como root
Este erro significa que somente o atual usuário tem acesso ao servidor X. Para resolver, dê acesso ao superusuário:
$ xhost +si:localuser:root
Esta linha também pode dar acesso a outros usuários.
Xorg-server Fatal server error: (EE) AddScreen/ScreenInit
Se o servidor do Xorg estiver apresentando um problema intermitente e no log do Xorg você vê:
systemd-logind: failed to take device /dev/dri/card0: Operation not permitted ... AddScreen/ScreenInit failed for driver 0
Então este problema pode ser causado pelo issue 13943 do systemd. Configure um início antecipado de KMS.
Veja também
- Xplain - Explicação detalhada do sistema de janelas X.
- Xorg(1) - Página manual do Xorg.
- Gentoo/Xorg#Configuration - Página de configuração do Xorg da Wiki do Gentoo.