|
I denna möjlighet förklarar vi hur man använder xrandr, ett terminalverktyg som används för att korrekt la upplösning av din bildskärm, deras förfriskningar, etc. och det tjänar till och med att manipulera mer än en bildskärm. |
Den normala användaren, främst Windows eller Apple, förstår inte så bra människor som brinner för Linux och som tillbringar mycket tid i kommandokonsolen och skriver "konstiga saker".
Vad jag ska berätta för dig idag är en av de dagar då du känner dig särskilt stolt över Linux. Det här är historien:
Min kära gamla HP Pavilion mx70 CRT-skärm, den erbjuder mig ett brett utbud av upplösningar, men min Linux Mint LXDE känner inte igen den och den visar mig en bra upplösning på 1024 × 768 men med bara 60 hz förfriskning, vilket inte är mycket bra för ögonen. I teorin kan skärmen nå 85 Hz med den upplösningen.
Och vad gör jag nu? Tja, det vanliga, gå till kommandoraden och SPELA!
Använda xrandr
För att ändra upplösningarna finns kommandot "xrandr" (X Ändra storlek och rotera). Med det här kommandot konfigurerar du skärmupplösningen, men du kan också lägga till nya upplösningar så länge som skärmen stöder dem.
För att se de upplösningar som upptäcks av systemet, ring bara detta kommando och se resultatet, i mitt fall:
informiguel ~ $ xrandr Skärm 0: minimum 320 x 200, ström 1024 x 768, max 4096 x 4096 VGA-0 ansluten 1024x768 + 0 + 0 (normal vänster inverterad höger x axel y-axel) 0mm x 0mm 1024x768 60.0 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video frånkopplad (normal vänster inverterad höger x axel y-axel)
Som du kan se, för en upplösning på 1024 × 768 erbjuder den bara 60.0 Hz.
Tja, jag ska lägga till den upplösning där jag är bäst och som min bildskärm erbjuder: 1024 × 768 vid 85 Hz. Naturligtvis har varje bildskärm sina egna egenskaper som måste konsulteras.
Problemet är att för att skapa en ny upplösning behöver du lite "väldigt konstiga" data som vertikal, horisontell, maximal, minimal, total frekvens, ... Men Linux har också lösningen med kommandot "cvt", ett verktyg att beräkna VESA-lägen krävs för att uppnå upplösning. Tja, om jag vill ha 1024 × 768 vid 85 Hz skriver jag:
informiguel ~ $ cvt 1024 768 85 # 1024x768 84.89 Hz (CVT 0.79 M3) hsync: 68.68 kHz; pclk: 94.50 Mhz Modeline "1024x768_85.00" 94.50 1024 1096 1200 1376 768 771 -hsync + vsync
Du kan också prova "gtf" som gör ungefär samma:
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
Och på detta sätt visas "Modeline" som jag måste använda med "xrandr". Var inte panik om hzs inte riktigt matchar (94.50 istället för 85).
Steg för att lägga till den upplösningen genom att kopiera den "erhållna" modellinen: (en detalj, när du lägger till ett alternativ med dess långa namn som "newmode" föregås det av två bindestreck, kanske de märks inte mycket, medan andra gånger bara 2 bindestreck är som i fallet med "hsync")
informiguel ~ $ xrandr --newmode "1024x768_85.00" 94.50 1024 1096 1200 1376 768 771 -hsync + vsync
Om vi kontrollerar resultatet:
informiguel ~ $ xrandr Skärm 0: minimum 320 x 200, ström 1024 x 768, max 4096 x 4096 VGA-0 ansluten 1024x768 + 0 + 0 (normal vänster inverterad höger x axel y-axel) 0 mm x 0 mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video frånkopplad (normal vänster inverterad höger x axel y-axel) 1024x768_85.00 (0x137) 94.5MHz h: bredd 1024 start 1096 slut 1200 totalt 1376 skev 0 klocka 68.7KHz v: höjd 768 start 771 slut 775 totalt 809 klocka 84.9Hz
Du kan se den nya "Modeline" skapad. Jag gillar hur “Modeline” låter! Om jag en dag har en katt kommer jag att kalla det så.
Tja, vi fortsätter, nu måste jag lägga till det här nya läget i listan över tillgängliga lägen:
informiguel ~ $ xrandr --addmode VGA-0 1024x768_85.00
"VGA-0" sak, om du tittar på resultaten av "xrandr", är vad mitt grafikkort heter. Vi ser resultatet, perfekt!
informiguel ~ $ xrandr Skärm 0: minimum 320 x 200, ström 1024 x 768, max 4096 x 4096 VGA-0 ansluten 1024x768 + 0 + 0 (normal vänster inverterad höger 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 1024x768_85.00 84.9 S -video frånkopplad (normal vänster inverterad höger x axel y-axel)
Nu återstår bara att tillämpa den upplösningen på bildskärmen:
informiguel ~ $ xrandr --output VGA-0 --läge 1024x768_85.00
En blinkning och monitorn ser snyggare ut än någonsin.
Vad händer om jag vill lägga till en upplösning på 800 × 600 med en uppdateringsfrekvens på 60 hz (jag ser att det finns 2 förfriskningar tillgängliga i det här läget, 60.3 och 56.2)? Det kan göras på detta sätt:
informiguel ~ $ xrandr -s 800x600 -r 60
Observera att läsk användes 60 istället för 60.3, eftersom den senare inte erkände det. Låt oss nu gå tillbaka till den vackra upplösningen:
reportiguel ~ $ xrandr -s 1024x768_85.00
Om jag tog förfriskningen vid 60 Hz som standard skriver vi:
informiguel ~ $ xrandr -s 1024x768_85.00 -r 85
Vad händer om jag har fel och vill ta bort allt? Nåväl ingenting, låt oss åka dit. För att radera denna upplösning från listan över tillgängliga lägen:
informiguel ~ $ xrandr --delmode VGA-0 1024x768_85.00
Om jag ser resultatet:
informiguel ~ $ xrandr Skärm 0: minimum 320 x 200, ström 1024 x 768, max 4096 x 4096 VGA-0 ansluten 1024x768 + 0 + 0 (normal vänster inverterad höger x axel y-axel) 0 mm x 0 mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video frånkopplad (normal vänster inverterad höger x axel y-axel) 1024x768_85.00 (0x136) 94.5MHz h: bredd 1024 start 1096 slut 1200 totalt 1376 skev 0 klocka 68.7KHz v: höjd 768 start 771 slut 775 totalt 809 klocka 84.9Hz
Det har redan tagits bort från listan, men nu visas data när de skapades (–newmode) tidigare. För att ta bort detta också:
informiguel ~ $ xrandr --rmmode 1024x768_85.00
Vi ser resultatet:
informiguel ~ $ xrandr Skärm 0: minimum 320 x 200, ström 1024 x 768, max 4096 x 4096 VGA-0 ansluten 1024x768 + 0 + 0 (normal vänster inverterad höger x axel y-axel) 0mm x 0mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S-video frånkopplad (normal vänster inverterad höger x axel y-axel)
Allt var som i början av artikeln ...
Och slutligen vet jag att du är en joker, så prova det här:
Skriv först detta, vilket inte gör några ändringar just nu:
informiguel ~ $ xrandr --output VGA-0 --rotera normalt
Och försök nu följande med hänsyn till att för att ta bort skämtet måste du upprepa föregående instruktion (välj det bara med markörknapparna):
informiguel ~ $ xrandr --output VGA-0 - rotera vänster
Hittills är allt väldigt trevligt men det finns ett problem när du startar om datorn går inställningarna förlorade. Jag tycker inte att det är en bra idé att justera skärmuppdateringen varje gång vi går in i datorn, det måste finnas ett sätt att låta den fixas. Gör det.
I Linux finns en konfigurationsfil som lite efter lite och eftersom hårdvaran kändes bättre av distributionerna glömdes den bort. Dess fullständiga sökväg är "/etc/X11/xorg.conf". Konfigurationsfilen för alla parametrar som får den grafiska miljön att fungera.
I LXDE (lätt X11-skrivbordsmiljö) finns inte filen, så den måste skapas, vilket inte är lätt. En möjlig lösning är att göra följande:
Vi lämnar den grafiska miljön, vi går till en terminal genom att trycka på CTRL + ALT + F1, kom ihåg att den grafiska miljön är CTRL + ALT + F7). Vi validerar och "stänger av" den grafiska miljön:
informiguel ~ $ sudo /etc/init.d/lxdm stopp
Därefter kör vi X-konfigurationen:
informiguel ~ $ sudo X -konfigurera
En fil med namnet "xorg.conf.new" skapas som är den som vi måste flytta till din webbplats och ändra:
informiguel ~ $ mv xorg.conf.new /etc/X11/xorg.conf
Om allt är korrekt och vi vill starta om den grafiska miljön:
informiguel ~ $ sudo /etc/init.d/lxdm start
Det finns en annan lösning som kan vara bättre, du börjar med en Linux-distribution på "CD Live" och kopierar filen vars fullständiga sökväg är "/etc/X11/xorg.conf" och klistrar in den i din distribution. Om distributionen upptäckte bildskärmen väl är problemen över, annars måste du retuschera filen med data för den skärmuppdatering och upplösning du vill ha. Som ett exempel var jag tvungen att lägga till följande så att läsket var tillräckligt:
Avsnitt "Monitor" Identifier "Generisk monitor" Alternativ "DPMS" HorizSync 30-70 VertRefresh 50-120 Modeline "1024x768_85.00" 94.39 1024 1088 1200 1376 768 769 772 807 -HSync + Vsync Option "PreferredMode" "1024x768_85.00" EndSection Avsnitt "Skärm" Identifier "Standardskärm" Enhet "ATI Technologies, Inc. Radeon RV250 Om [Radeon 9000 Pro]" Övervaka "Allmän bildskärm" StandardDjup 24 Alternativ "AddARGBGLXVisuals" "True" Option "Metamode" "1024x768_85.00 +0+ 0 "Alternativ" UseEdid "" Falsk "Underavsnitt" Display "Djup 1-lägen" 1024x768 "" 800x600 "" 640x480 "EndSubSec ................... etc
Mycket viktigt, leta efter bildskärmens tekniska egenskaper för att känna till vertikal och horisontell synkronisering. Som framgår av bilden är "Modeline" den som beräknas med kommandot "cvt".
När nödvändiga ändringar har gjorts är allt klart att köras automatiskt nästa gång du startar datorn. Problemet löst.
Hur förklarar du för en av Windows eller Mac vilka känslor som känns när man känner "kontrollen" över maskinen (och inte tvärtom)?
Det verkar för mig att vi är en utrotningshotad art...
De som vill fortsätta fördjupa sina kunskaper om xrandr, slutar inte läsa dessa gamla föremål publiceras på den här bloggen.
Du måste bara skicka oss en post inklusive ditt eget trick eller minitutorial.