Jeg er en ny Linux-bruger, der prøver at ændre skærmopløsningen, da der ikke er nogen valgmulighed under visning. Jeg har med succes formået at tilføje nye opløsninger ved fluke ved at følge onlineguiden. Jeg har ikke en GPU , Jeg ved ikke, om dette er problemet? Nedenfor er min xrandr -q
output.
root@kali:~# xrandr -q xrandr: Failed to get size of gamma for output default Screen 0: minimum 1280 x 1024, current 1280 x 1024, maximum 1280 x 1024 default connected 1280x1024+0+0 0mm x 0mm 1280x1024 0.0* 1920x1200_60.00 (0x145) 193.2MHz h: width 1920 start 2056 end 2256 total 2592 skew 0 clock 74.6KHz v: height 1200 start 1203 end 1209 total 1245 clock 59.9Hz 1440x900_59.90 (0x156) 106.3MHz h: width 1440 start 1520 end 1672 total 1904 skew 0 clock 55.8KHz v: height 900 start 901 end 904 total 932 clock 59.9Hz
Kommentarer
- xrandr -q er ikke angivet i deres manual.
Svar
Her er de trin, du har brug for for at tilføje en ny brugerdefineret opløsning og anvende den. Følgende trin er for at tilføje en opløsning på 1920×1080, men du kan bruge den til enhver anden opløsning, du ønsker. Men sørg for, at din skærm og indbygget grafik understøtter denne opløsning.
# First we need to get the modeline string for xrandr # Luckily, the tool "gtf" will help you calculate it. # All you have to do is to pass the resolution & the- # refresh-rate as the command parameters: gtf 1920 1080 60 # In this case, the horizontal resolution is 1920px the # vertical resolution is 1080px & refresh-rate is 60Hz. # IMPORTANT: BE SURE THE MONITOR SUPPORTS THE RESOLUTION # Typically, it outputs a line starting with "Modeline" # e.g. "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync # Copy this entire string (except for the starting "Modeline") # Now, use "xrandr" to make the system recognize a new # display mode. Pass the copied string as the parameter # to the --newmode option: xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync # Well, the string within the quotes is the nick/alias # of the display mode - you can as well pass something # as "MyAwesomeHDResolution". But, careful! :-| # Then all you have to do is to add the new mode to the # display you want to apply, like this: xrandr --addmode VGA1 "1920x1080_60.00" # VGA1 is the display name, it might differ for you. # Run "xrandr" without any parameters to be sure. # The last parameter is the mode-alias/name which # you"ve set in the previous command (--newmode) # It should add the new mode to the display & apply it. # Usually unlikely, but if it doesn"t apply automatically # then force it with this command: xrandr --output VGA1 --mode "1920x1080_60.00"
Original s ource: https://gist.github.com/debloper/2793261
Jeg skrev også et script, der udfører alle disse trin automatisk. Du kan prøve det, hvis ovenstående trin virker for komplicerede for dig: https://gist.github.com/chirag64/7853413
Kommentarer
- Det sidste trin mislykkedes …
- Hvilken fejl fik du? Prøv det automatiske script, som jeg linkede i slutningen af svaret.
- Når jeg kører din fil
chmod +x Desktop/xrandr.sh
Jeg føler ingen fejl eller ingen ændringer. -
chmod +x Desktop/xrandr.sh
giver dig kun tilladelse til at køre filen. Du skal køre det ved at køreDesktop/xrandr.sh
. - I stedet for
gtf
kan man brugecvt
, f.ekscvt 1920 1080
, der producerer den samme output somgtf
, men den beregner også gyldig opdateringshastighed. (At give opdateringshastighed tilgtf
med hånden giver muligvis ikke altid understøttede outputværdier).
Svar
Indstillingen --size
/ -s
kan bruges:
xrandr -s 1440x900
Skal fungere med RandR
version 1.1 eller nyere.
Kommentarer
- Når jeg gør dette, er svaret: størrelse 1440×900 ikke fundet i tilgængelige tilstande
- @nick Fra det output, som du inkluderede i det spørgsmål, jeg udledte, skulle det være tilgængeligt. Hvad ‘ er output for
xrandr --verbose
? - xrandr: Kunne ikke hente størrelsen på gamma til output-standardskærm 0 : minimum 1024 x 768, strøm 1024 x 768, maksimum 1024 x 768 standardforbundet 1024×768 + 0 + 0 (0x138) normal (normal) 0 mm x 0 mm Identifikator: 0x137 Tidsstempel: 5048 Underpixel: ukendt Kloner: CRTC: 0 CRTCer: 0 Transform : 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter:
- 1024×768 (0x138) 0.0MHz * strøm h: bredde 1024 start 0 slut 0 i alt 1024 skæv 0 ur 0.0KHz v: højde 768 start 0 slut 0 i alt 768 ur 0.0Hz
- Så det ser ud til, at den eneste tilgængelige opløsning er 1024×768. Er denne opløsning det, du vil indstille?
Svar
Jeg havde det samme problem. I skærmindstillingen var den maksimale opløsning 1280×720. Så:
- ved hjælp af kommandoen xrandr Jeg har set navnet på denne skærm og opløsningslisten.
- Jeg har udført scriptet: xrandr –output {navn på skærm} – -tilstand {opløsning}
For eksempel:
xrandr --output DP-2-1 --mode 2560x1440
Svar
Dette var hvad jeg skulle gøre på en #IntelMaker
#Joule
for at få det til at fungere i den oprindelige opløsning med en SUNFOUNDER 7 INCH TFT COLOR MONITOR, som er angivet som 1024 * 600 opløsning, men blev plukket op som 1280×720 i stedet.
For det første ser Intel Joule med Linux 4.4.15-yocto-standard x86_64 ikke ud til at have gtf(1)
, så jeg var nødt til at bruge en anden maskine til at beregne de relevante tal:
$ gtf 1024 600 60 # 1024x600 @ 60.00 Hz (GTF) hsync: 37.32 kHz; pclk: 48.96 MHz Modeline "1024x600_60.00" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +Vsync $
Opret derefter en fil med de relevante kommandoer:
# cat > 1024x600.sh xrandr --newmode "1024x600_60.00" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +Vsync xrandr --addmode HDMI1 "1024x600_60.00" xrandr --output HDMI1 --mode "1024x600_60.00" ^D # chmod +x 1024x600.sh
Derefter startx
eller startxfce4
og kør ./1024x600.sh
, hvorefter følgende vil blive rapporteret af xrandr(1)
.
# xrandr Screen 0: minimum 8 x 8, current 1024 x 600, maximum 32767 x 32767 DP1 disconnected (normal left inverted right x axis y axis) HDMI1 connected 1024x600+0+0 (normal left inverted right x axis y axis) 697mm x 392mm 1280x720 60.00 + 50.00 59.94 1920x1080 60.00 50.00 59.94 1920x1080i 60.00 50.00 59.94 1280x1024 75.02 1440x900 74.98 59.90 1024x768 75.08 70.07 60.00 1024x600 60.00 800x600 72.19 75.00 60.32 56.25 720x576 50.00 720x576i 50.00 720x480 60.00 59.94 720x480i 60.00 59.94 640x480 75.00 72.81 60.00 59.94 720x400 70.08 1024x600_60.00 60.00* HDMI2 disconnected (normal left inverted right x axis y axis) VIRTUAL1 disconnected (normal left inverted right x axis y axis) #
Kommentarer
- Svaret inkluderer irrelevante personlige bruger- og værtsnavne og ‘ t adskiller klart kommandoer fra deres output – som alle kan være forvirrende for læserne. En standardmetode til at formidle, at noget er en kommando, ville være at forud for det blot med
$
. Kali ‘ s standard WM er også GNOME, ikke XFCE, måske skal det gøres klart, at startxfce4-kommandoen kun er for brugere, der kører XFCE version 4.Sandsynligheden for at mange andre brugere kører nøjagtigtLinux 4.4.15-yocto-standard x86_64
virker ikke ‘ for mig, så jeg ‘ d i stedet for atgtf
(ellercvt
) muligvis først skal installeres.
Svar
Gem scriptet og start det (bash script.sh 1024 720 60 ) du kan indstille den brugerdefinerede opløsning med det script, men det er en midlertidig løsning, hver gang du logger ud og logger ind igen, du skal køre scriptet igen. du kan tilføje 2 linier kode i din bash.bashrc-profil. for at køre scriptet direkte fra terminal.
#!/bin/bash # xrandr.sh #If no argument is specified, ask for it and exit if [[ -z "$@" ]]; then echo "An argument is needed to run this script"; exit else arg="$@" #Basic check to make sure argument number is valid. If not, display error and exit if [[ $(($(echo $arg | grep -o "\s" | wc --chars) / 2 )) -ne 2 ]]; then echo "Invalid Parameters. You need to specify parameters in the format "width height refreshRate"" echo "For example setResolution "2560 1440 60"" exit fi #Save stuff in variables and then use xrandr with those variables modename=$(echo $arg | sed "s/\s/_/g") display=$(xrandr | grep -Po ".+(?=\sconnected)") if [[ "$(xrandr|grep $modename)" = "" ]]; then xrandr --newmode $modename $(gtf $(echo $arg) | grep -oP "(?<="\s\s).+") && xrandr --addmode $display $modename fi xrandr --output $display --mode $modename #If no error occurred, display success message if [[ $? -eq 0 ]]; then echo "Display changed successfully to $arg" fi fi
Svar
Jeg løb:
xrandr --verbose
hvilket gav mig en liste over størrelseskoder og tilsvarende pixelværdier
så brugte jeg
xrandr -s 6
for at vælge 1920×1080 opløsning
A nswer
Mit problem er den bærbare computers opløsning:
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767 eDP1 connected 1920x1080+0+0 ... 1366x768 60.00*+ 47.98 <=== MaxResolution (Default/Primary) 1360x768 59.80 59.96 1280x720 60.00 ...
Min primære / standardskærm er 1366×768.
Men jeg vil gerne teste en opløsning 1920×1080 (DesireResolution) i min notesbog.
Jeg prøvede alt.
Jeg kunne ikke finde en løsning, fordi min notesbog ikke accepterer addmode- eller newmode-kommandoer fra xrandr for at øge opløsningen, som denne anmodning om stackexchange-spørgsmål.
Så jeg lavede matematik!
1920/1366 = 1.4055636896 1080/768 = 1.40625
dybest set DesireResolution / MaxResolution
og kør denne kommando
xrandr --output eDP1 --mode 1366x768 --panning 1920x1080 --scale 1.40556369x1.40625
Hvis du har brug for gendannelse af den originale opløsning
xrandr --output eDP1 --mode 1366x768 --panning 1366x768 --scale 1x1
Du kan tilpasse den ønskede opløsning.