|
In deze gelegenheid leggen we uit hoe u deze kunt gebruiken xrandr, een terminal-tool die wordt gebruikt corrigeren la resolutie van uw monitor, hun versnaperingen, enzovoort. en het dient zelfs om meer dan één monitor te manipuleren. |
De normale gebruiker, voornamelijk Windows of Apple, begrijpt mensen die een passie hebben voor Linux en die veel tijd in de commandoconsole doorbrengen met het typen van "rare dingen" niet zo goed.
Wat ik je vandaag ga vertellen, is een van die dagen waarop je je bijzonder trots voelt op Linux. Dit is het verhaal:
Mijn lieve oude HP pavilion mx70 merk CRT-monitor, het biedt me een breed scala aan resoluties, maar mijn Linux Mint LXDE herkent het niet en het toont me een goede resolutie van 1024 × 768 maar met slechts 60 Hz aan verversing, wat niet heel goed voor de ogen. In theorie kan de monitor met die resolutie 85 Hz halen.
En wat moet ik nu doen? Nou, het gebruikelijke, ga naar de opdrachtregel en SPEEL!
Met xrandr
Om de resoluties aan te passen is er het commando "xrandr" (X Resize & Rotate). Met dit commando configureer je de schermresolutie, maar je kunt ook nieuwe resoluties toevoegen, zolang de monitor deze ondersteunt.
Om de door het systeem gedetecteerde resoluties te zien, roept u gewoon deze opdracht op en ziet u het resultaat, in mijn geval:
informiguel ~ $ xrandr Scherm 0: minimaal 320 x 200, huidig 1024 x 768, maximaal 4096 x 4096 VGA-0 aangesloten 1024x768 + 0 + 0 (normaal links omgekeerd rechts x as y-as) 0 mm x 0 mm 1024x768 60.0 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video losgekoppeld (normaal links omgekeerd rechts x-as y-as)
Zoals u kunt zien, biedt het voor een resolutie van 1024 × 768 slechts 60.0 Hz.
Nou, ik ga de resolutie toevoegen waarin ik de beste ben en die mijn monitor biedt: 1024 × 768 bij 85 Hz Uiteraard heeft elke monitor zijn eigen kenmerken die moeten worden geraadpleegd.
Het probleem is dat je om een nieuwe resolutie te creëren wat "zeer vreemde" gegevens nodig hebt, zoals de verticale, horizontale, maximum, minimum, totale frequentie, ... Maar Linux heeft ook de oplossing met het "cvt" commando, een hulpprogramma om bereken de VESA-modi die nodig zijn om de resolutie te bereiken. Nou, als ik 1024 × 768 bij 85 Hz wil, schrijf ik:
informiguel ~ $ cvt 1024 768 # 85x1024 768 Hz (CVT 84.89M0.79) hsync: 3 kHz; pclk: 68.68 Mhz Model "94.50x1024_768" 85.00 94.50 1024 1096 1200 -hsync + vsync
Je kunt ook "gtf" proberen, dat min of meer hetzelfde doet:
informiguel ~ $ gtf 1024 768 # 85x1024 @ 768 Hz (GTF) hsync: 85.00 kHz; pclk: 68.60 MHz model "94.39x1024_768" 85.00 94.39 1024 1088 1200 -HSync + Vsync
En op deze manier verschijnt de "Modeline" die ik moet gebruiken met "xrandr". Wees niet bang als de hzs niet helemaal overeenkomen (94.50 in plaats van 85).
Stap om die resolutie toe te voegen door de verkregen "modeline" te kopiëren: (een detail, wanneer je een optie plaatst met zijn lange naam zoals "newmode" wordt deze voorafgegaan door 2 streepjes, misschien zijn ze niet veel merkbaar, terwijl andere keren slechts 1 streepje zoals in het geval van "hsync")
informiguel ~ $ xrandr --newmode "1024x768_85.00" 94.50 1024 1096 1200 1376 -hsync + vsync
Als we het resultaat controleren:
informiguel ~ $ xrandr Scherm 0: minimaal 320 x 200, huidig 1024 x 768, maximaal 4096 x 4096 VGA-0 aangesloten 1024x768 + 0 + 0 (normaal links omgekeerd rechts x as y-as) 0 mm x 0 mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video verbroken (normaal links omgekeerd rechts x-as y-as) 1024x768_85.00 (0x137) 94.5 Mhz h: breedte 1024 start 1096 einde 1200 totaal 1376 scheef 0 klok 68.7 KHz v: hoogte 768 start 771 einde 775 totaal 809 klok 84.9 Hz
U kunt zien dat de nieuwe "Modeline" is gemaakt. Ik hou van de manier waarop "Modeline" klinkt! Als ik op een dag een kat heb, zal ik het zo noemen.
Nou, we gaan verder, nu moet ik deze nieuwe modus toevoegen aan de lijst met beschikbare modi:
informatie ~ $ xrandr --addmode VGA-0 1024x768_85.00
Het "VGA-0" ding, als je naar de resultaten van "xrandr" kijkt, zo heet mijn grafische kaart. We zien het resultaat, perfect!
informiguel ~ $ xrandr Scherm 0: minimaal 320 x 200, huidig 1024 x 768, maximaal 4096 x 4096 VGA-0 aangesloten 1024x768 + 0 + 0 (normaal links omgekeerd rechts 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 1024x768_85.00 84.9 S -video losgekoppeld (normaal links omgekeerd rechts x-as y-as)
Nu rest het alleen nog om die resolutie op de monitor toe te passen:
informatie ~ $ xrandr --output VGA-0 --mode 1024x768_85.00
Eén keer knipperen en de monitor ziet er mooier uit dan ooit.
Wat als ik een resolutie van 800 × 600 wil plaatsen met een verversingssnelheid van 60 hz (ik zie dat er 2 verversingen beschikbaar zijn in deze modus, 60.3 en 56.2)? Het kan op deze manier worden gedaan:
informatie ~ $ xrandr -s 800x600 -r 60
Merk op dat de frisdrank 60 in plaats van 60.3 gebruikte, aangezien de laatste dit niet toegaf. Laten we nu teruggaan naar de mooie resolutie:
reportiguel ~ $ xrandr -s 1024x768_85.00
Als ik standaard de verfrissing op 60 hz nam, dan schrijven we:
informatie ~ $ xrandr -s 1024x768_85.00 -r 85
Wat moet ik doen als ik het mis heb en alles wil verwijderen? Nou, niets, laten we daarheen gaan. Om deze resolutie uit de lijst met beschikbare modi te verwijderen:
informatie ~ $ xrandr --delmode VGA-0 1024x768_85.00
Als ik het resultaat bekijk:
informiguel ~ $ xrandr Scherm 0: minimaal 320 x 200, huidig 1024 x 768, maximaal 4096 x 4096 VGA-0 aangesloten 1024x768 + 0 + 0 (normaal links omgekeerd rechts x as y-as) 0 mm x 0 mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video verbroken (normaal links omgekeerd rechts x-as y-as) 1024x768_85.00 (0x136) 94.5 Mhz h: breedte 1024 start 1096 einde 1200 totaal 1376 scheef 0 klok 68.7 KHz v: hoogte 768 start 771 einde 775 totaal 809 klok 84.9 Hz
Het is al verwijderd uit de lijst, maar nu zien de gegevens eruit zoals ze eerder zijn gemaakt (–newmode). Om dit ook te verwijderen:
informatie ~ $ xrandr --rmmode 1024x768_85.00
We zien het resultaat:
informiguel ~ $ xrandr Scherm 0: minimaal 320 x 200, huidig 1024 x 768, maximaal 4096 x 4096 VGA-0 aangesloten 1024x768 + 0 + 0 (normaal links omgekeerd rechts x as y-as) 0 mm x 0 mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video verbroken (normaal links omgekeerd rechts x-as y-as)
Alles was zoals aan het begin van het artikel ...
En tot slot weet ik dat je een grappenmaker bent, dus probeer dit:
Schrijf dit eerst op, dat op dit moment geen wijzigingen aanbrengt:
informatie ~ $ xrandr --output VGA-0 --draai normaal
En probeer nu het volgende, waarbij u er rekening mee houdt dat u om de grap te verwijderen de vorige instructie moet herhalen (selecteer deze gewoon met de cursortoetsen):
informiguel ~ $ xrandr --output VGA-0 - naar links draaien
Tot nu toe is alles erg mooi, maar er is een probleem, bij het herstarten van de computer gaan de configuraties verloren. Ik denk niet dat het een goed idee is om de schermvernieuwing aan te passen elke keer dat we de computer binnenkomen, er moet een manier zijn om het vast te laten. Ga ervoor.
In Linux is er een configuratiebestand dat beetje bij beetje en omdat de hardware beter werd herkend door de distributies, werd het vergeten. De volledige padnaam is "/etc/X11/xorg.conf". Het configuratiebestand voor alle parameters die de grafische omgeving laten werken.
In LXDE (lichte X11-desktopomgeving) bestaat het bestand niet, dus het moet worden aangemaakt, wat niet gemakkelijk is. Een mogelijke oplossing is om het volgende te doen:
We verlaten de grafische omgeving, we gaan naar een terminal door op CTRL + ALT + F1 te drukken, onthoud dat de grafische omgeving CTRL + ALT + F7 is). We valideren en "schakelen" de grafische omgeving uit:
informiguel ~ $ sudo /etc/init.d/lxdm stop
Vervolgens voeren we de X-configuratie uit:
informiguel ~ $ sudo X -configuratie
Er wordt een bestand met de naam "xorg.conf.new" aangemaakt, het bestand dat we naar uw site moeten verplaatsen en aanpassen:
informiguel ~ $ mv xorg.conf.new /etc/X11/xorg.conf
Als alles klopt en we de grafische omgeving willen herstarten:
informiguel ~ $ sudo /etc/init.d/lxdm start
Er is een andere oplossing die misschien beter is, je begint met een Linux-distributie op "CD Live" en kopieert het bestand waarvan het volledige pad "/etc/X11/xorg.conf" is en plakt het in je distributie. Als die distributie de monitor correct heeft gedetecteerd, zijn de problemen voorbij, anders moet je het bestand retoucheren met de gegevens van de schermvernieuwing en resolutie die je wilt. Als voorbeeld moest ik het volgende toevoegen zodat de frisdrank voldoende was:
Sectie "Monitor" Identifier "Algemene monitor" Optie "DPMS" HorizSync 30-70 VertRefresh 50-120 Modeline "1024x768_85.00" 94.39 1024 1088 1200 1376 768 -HSync + Vsync-optie "PreferredMode" "769x772_807" EndSection Sectie "Scherm" Identificatie "Standaardscherm" Apparaat "ATI Technologies, Inc. Radeon RV1024 If [Radeon 768 Pro]" Monitor "Generieke monitor" DefaultDepth 85.00 Option "AddARGBGLXVisuals" "True" Option "Metamode" "250x9000_24 +1024+ 768 "Optie" UseEdid "" False "Subsectie" Display "Diepte 85.00 Modi" 0x0 "" 1x1024 "" 768x800 "EndSubSec ... enz.
Heel belangrijk, let op de technische kenmerken van de monitor om de verticale en horizontale synchronisatie te kennen. Zoals je in de afbeelding kunt zien, is de "Modeline" degene die werd berekend met de opdracht "cvt".
Nadat de nodige wijzigingen zijn aangebracht, is alles klaar om automatisch te worden uitgevoerd de volgende keer dat u de computer opstart. Probleem opgelost.
Nu, hoe leg je aan een van Windows of Mac de emotie uit die voelt wanneer je de "controle" over de machine voelt (en niet andersom)?
Het lijkt mij dat we een bedreigde diersoort zijn…
Degenen die hun kennis van xrandr willen blijven verdiepen, stoppen niet met het lezen ervan oude items gepost op deze blog.
U hoeft ons alleen maar een mail inclusief de truc of mini-tutorial van jezelf.