|
Nesta oportunidade, explicamos como usar xrandr, uma ferramenta de terminal usada para corregir la resolução do seu monitor, o taxas de refrescoetc. e ainda serve para manipular mais de um monitor. |
O usuário normal, principalmente Windows ou Apple, não entende muito bem pessoas que são apaixonadas por Linux e que passam muito tempo no console de comando digitando "coisas estranhas".
O que vou dizer a você hoje é um daqueles dias em que você se sente especialmente orgulhoso do Linux. Esta é a história:
Meu caro monitor CRT da marca HP pavilion mx70, ele me oferece uma ampla gama de resoluções, mas meu Linux Mint LXDE não o reconhece e me mostra uma boa resolução de 1024 × 768 mas com apenas 60 Hz de atualização, o que não é muito bom para os olhos. Em teoria, o monitor pode atingir 85 Hz com essa resolução.
E o que eu faço agora? Bem, o de costume, vá para a linha de comando e JOGUE!
Usando xrandr
Para modificar as resoluções existe o comando "xrandr" (X Resize & Rotate). Com este comando, você configura a resolução da tela, mas também pode adicionar novas resoluções, desde que o monitor as suporte.
Para ver as resoluções detectadas pelo sistema, basta chamar este comando e ver o resultado, no meu caso:
informiguel ~ $ xrandr Tela 0: mínimo 320 x 200, atual 1024 x 768, máximo 4096 x 4096 VGA-0 conectado 1024x768 + 0 + 0 (normal esquerdo invertido direito x eixo y eixo) 0mm x 0mm 1024x768 60.0 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video desconectado (normal esquerda invertida direita eixo x eixo y)
Como você pode ver, para uma resolução de 1024 × 768 ele oferece apenas 60.0 Hz.
Pois bem, vou acrescentar a resolução em que sou o melhor e que o meu monitor oferece: 1024 × 768 a 85 Hz. Obviamente cada monitor tem suas características que devem ser consultadas.
O problema é que para criar uma nova resolução são necessários dados "muito estranhos" como vertical, horizontal, máximo, mínimo, frequência total, ... Mas o Linux também tem a solução com o comando "cvt", um utilitário para calcular Modos VESA necessários para alcançar a resolução. Bem, se eu quiser 1024 × 768 a 85 Hz, escrevo:
informiguel ~ $ cvt 1024 768 85 # 1024x768 84.89 Hz (CVT 0.79M3) hsync: 68.68 kHz; pclk: 94.50 Mhz Modeline "1024x768_85.00" 94.50 1024 1096 1200 1376 768 771 775 809 -hsync + vsync
Você também pode tentar "gtf", que faz mais ou menos o mesmo:
informiguel ~ $ gtf 1024 768 85 # 1024x768 @ 85.00 Hz (GTF) hsync: 68.60 kHz; pclk: 94.39 MHz Modeline "1024x768_85.00" 94.39 1024 1088 1200 1376 768 769 772 807 -HSync + Vsync
E assim aparece o "Modeline" que tenho que usar com o "xrandr". Não se assuste se os hzs não corresponderem (94.50 em vez de 85).
Passo para adicionar essa resolução copiando a "modeline" obtida: (um detalhe, quando você coloca uma opção com seu nome longo como "newmode" ela é precedida por 2 traços, talvez eles não sejam muito perceptíveis, enquanto outras vezes apenas 1 traço como no caso de "hsync")
informiguel ~ $ xrandr --newmode "1024x768_85.00" 94.50 1024 1096 1200 1376 768 771 775 809 -hsync + vsync
Se verificarmos o resultado:
informiguel ~ $ xrandr Tela 0: mínimo 320 x 200, atual 1024 x 768, máximo 4096 x 4096 VGA-0 conectado 1024x768 + 0 + 0 (normal esquerda invertida direita x eixo x eixo y) 0mm x 0mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-vídeo desconectado (normal esquerdo invertido x eixo direito x eixo y) 1024x768_85.00 (0x137) 94.5Mhz h: largura 1024 início 1096 final 1200 total 1376 inclinação 0 relógio 68.7KHz v: altura 768 início 771 final 775 total 809 clock 84.9Hz
Você pode ver a nova "Modeline" criada. Gosto do som de “Modeline”! Se um dia eu tiver um gato, vou chamá-lo assim.
Bem, continuamos, agora tenho que adicionar este novo modo à lista de modos disponíveis:
informiguel ~ $ xrandr –addmode VGA-0 1024x768_85.00
A coisa "VGA-0", se você olhar os resultados de "xrandr", é como minha placa de vídeo é chamada. Vemos o resultado, perfeito!
informiguel ~ $ xrandr Tela 0: mínimo 320 x 200, atual 1024 x 768, máximo 4096 x 4096 VGA-0 conectado 1024x768 + 0 + 0 (normal esquerda invertida direita 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 1024x768_85.00 84.9 S -vídeo desconectado (normal esquerda invertida direita eixo x eixo y)
Agora resta apenas aplicar essa resolução ao monitor:
informiguel ~ $ xrandr --output VGA-0 --mode 1024x768_85.00
Uma piscada e o monitor parece mais bonito do que nunca.
E se eu quiser colocar uma resolução de 800 × 600 com uma taxa de atualização de 60 Hz (vejo que há 2 refrescos disponíveis neste modo, 60.3 e 56.2)? Isso pode ser feito da seguinte maneira:
informe ~ $ xrandr -s 800x600 -r 60
Observe que o refrigerante usou 60 em vez de 60.3, já que este último não o admitia. Agora vamos voltar à bela resolução:
reportiguel ~ $ xrandr -s 1024x768_85.00
Se eu tomar por padrão o refresco a 60 Hz, escreveremos:
informe ~ $ xrandr -s 1024x768_85.00 -r 85
E se eu estiver errado e quiser remover tudo? Bem, nada, vamos lá. Para excluir esta resolução da lista de modos disponíveis:
informiguel ~ $ xrandr --delmode VGA-0 1024x768_85.00
Se eu ver o resultado:
informiguel ~ $ xrandr Tela 0: mínimo 320 x 200, atual 1024 x 768, máximo 4096 x 4096 VGA-0 conectado 1024x768 + 0 + 0 (normal esquerda invertida direita x eixo x eixo y) 0mm x 0mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-vídeo desconectado (normal esquerdo invertido x eixo direito x eixo y) 1024x768_85.00 (0x136) 94.5Mhz h: largura 1024 início 1096 final 1200 total 1376 inclinação 0 relógio 68.7KHz v: altura 768 início 771 final 775 total 809 clock 84.9Hz
Já foi removido da lista, mas agora os dados aparecem da forma como foram criados (–newmode) anteriormente. Para excluir isso também:
informar ~ $ xrandr --rmmode 1024x768_85.00
Vemos o resultado:
informiguel ~ $ xrandr Tela 0: mínimo 320 x 200, atual 1024 x 768, máximo 4096 x 4096 VGA-0 conectado 1024x768 + 0 + 0 (normal esquerda invertida direita x eixo x eixo y) 0mm x 0mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video desconectado (normal esquerda invertida direita eixo x eixo y)
Tudo estava como no início do artigo ...
E, finalmente, sei que você é um brincalhão, então tente isto:
Primeiro escreva isso, o que não faz nenhuma alteração no momento:
informar ~ $ xrandr --output VGA-0 --rotate normal
E agora experimente o seguinte levando em consideração que para eliminar a piada é necessário repetir a instrução anterior (basta selecioná-la com as teclas do cursor):
informiguel ~ $ xrandr --output VGA-0 --rodar para a esquerda
Até agora está tudo muito bom mas há um problema, ao reiniciar o computador as configurações são perdidas. Não acho uma boa ideia ajustar a atualização da tela toda vez que entramos no computador, tem que haver uma maneira de deixá-la fixa. Vá em frente.
No Linux existe um arquivo de configuração que aos poucos e como o hardware foi melhor reconhecido pelas distribuições, foi sendo esquecido. Seu nome de caminho completo é "/etc/X11/xorg.conf". O arquivo de configuração de todos os parâmetros que fazem o ambiente gráfico funcionar.
No LXDE (ambiente de desktop leve X11) o arquivo não existe, então ele tem que ser criado, o que não é fácil. Uma solução possível é fazer o seguinte:
Saímos do ambiente gráfico, vamos para um terminal pressionando CTRL + ALT + F1, lembre-se que o ambiente gráfico é CTRL + ALT + F7). Validamos e "desligamos" o ambiente gráfico:
informe ~ $ sudo /etc/init.d/lxdm stop
Em seguida, executamos a configuração do X:
informe ~ $ sudo X -configure
É criado um arquivo denominado "xorg.conf.new", que devemos mover para o seu site e modificar:
informe ~ $ mv xorg.conf.new /etc/X11/xorg.conf
Se tudo estiver correto e quisermos reiniciar o ambiente gráfico:
informe ~ $ sudo /etc/init.d/lxdm start
Existe outra solução que pode ser melhor, você começa com uma distribuição Linux em "CD Live" e copia o arquivo cujo caminho completo é "/etc/X11/xorg.conf" e cola-o em sua distribuição. Se aquela distribuição detectou bem o monitor, os problemas acabaram, caso contrário, você terá que retocar o arquivo com os dados para a atualização da tela e resolução desejada. Como exemplo, tive que adicionar o seguinte para que o refrigerante fosse adequado:
Seção "Monitor" Identificador "Monitor genérico" Opção "DPMS" HorizSync 30-70 VertRefresh 50-120 Modeline "1024x768_85.00" 94.39 1024 1088 1200 1376 768 769 772 807 -HSync + Vsync Opção "PreferredMode" "1024x768_85.00" EndSection Seção "Tela" Identificador "Tela padrão" Dispositivo "ATI Technologies, Inc. Radeon RV250 If [Radeon 9000 Pro]" Monitor "Monitor genérico" DefaultDepth 24 Opção "AddARGBGLXVisuals" "True" Opção "Metamode" "1024x768_85.00 +0+ 0 "Opção" UseEdid "" False "Subseção" Exibir "Modos de profundidade 1" 1024x768 "" 800x600 "" 640x480 "EndSubSec ................... etc.
Muito importante, procure as características técnicas do monitor para saber a sincronização vertical e horizontal. Como pode ser visto na imagem, o "Modeline" é aquele calculado com o comando "cvt".
Assim que as alterações necessárias forem feitas, tudo estará pronto para ser executado automaticamente na próxima vez que você iniciar o computador. Problema resolvido.
Agora, como você explica para um dos Windows ou Mac, a emoção que sente ao sentir o "controle" sobre a máquina (e não o contrário)?
Parece-me que somos uma espécie em extinção…
Quem quiser continuar aprofundando seus conhecimentos sobre o xrandr, não pare de ler estes itens antigos postado neste blog.
Você só precisa nos enviar um correio incluindo o truque ou mini-tutorial de sua preferência.