¿Cómo establecer una resolución personalizada?

77

Traté de usar xrandrpara configurar 1680x1050 como un nuevo modo para la salida VGA, pero dice:

sudo xrandr --addmode VGA-0 1680
X Error of failed request:  BadMatch (invalid parameter attributes)
Major opcode of failed request:  140 (RANDR)
Minor opcode of failed request:  18 (RRAddOutputMode)
Serial number of failed request:  35
Current serial number in output stream:  36
usuario216356
fuente

Respuestas:

128

Primero genere una "línea de modelo" usando cvt La
sintaxis es: cvt ancho alto refrescar

cvt 1680 1050 60

esto te da:

# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

Ahora dile esto a xrandr :

xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

Entonces ahora puede agregarlo a la tabla de posibles resoluciones de una salida de su elección:

xrandr --addmode VGA-0 1680x1050_60.00

Los cambios se pierden después del reinicio, para configurar la resolución de forma persistente, cree el archivo ~/.xprofilecon el contenido:

#!/bin/sh
xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
xrandr --addmode VGA-0 1680x1050_60.00
thom
fuente
21
El dispositivo conectado podría no estarlo VGA-0. Si recibe el mensaje xrandr: cannot find output "VGA-0", intente ejecutar el siguiente comando: xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"(fuente: xrandr en ArchWiki ). La salida de ese comando debe ser el identificador de dispositivo correcto.
Thirdender
10
No necesitas sudo con xrandr
Panther
2
Me gustaría agregar que tengo el mismo error, y lo anterior no resuelve el problema en absoluto
TellMeWhy
3
Si está en una máquina virtual, la pantalla generalmente es en Virtual1lugar de VGA-0.
CyberEd
55
Debe reemplazar VGA-0 con la conexión de su monitor. Utilizar xrandr --listmonitors. Consulte Cómo solucionar el error 'xrandr: no se puede encontrar la salida “VGA1”'
Hooman
14

Cómo establecer una resolución personalizada previamente especificada. Después de ejecutar los otros pasos definidos para crear la resolución, ejecute:

xrandr -s 1680x1050
GuiRitter
fuente
4

Cómo establecer una resolución personalizada previamente especificada cuando se ejecutan varios monitores . Después de ejecutar los otros pasos definidos para crear la resolución, ejecute:

xrandr --output DVI-0 --mode 1680x1050

Reemplace DVI-0con su ID de dispositivo, por ejemploVGA-0

pokkie
fuente
3

Gracias a Thom y thirdender esto es básicamente un solo comando de configuración basada en la respuesta más votada .

RES="1920 1200 60" && \
DISP=$(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") && \
MODELINE=$(cvt $(echo $RES) | grep -e "Modeline [^(]" | sed -r 's/.*Modeline (.*)/\1/') && \
MODERES=$(echo $MODELINE | grep -o -P '(?<=").*(?=")') && \
cat > ~/.xprofile << _EOF
#!/bin/sh
xrandr --newmode $MODELINE
xrandr --addmode $DISP $MODERES
_EOF

El comando anterior generará el ~/.xprofilearchivo deseado . Solo asegúrese de usar la resolución (es decir, la RESvariable) de su agrado. Más información aquí .

Tanasis
fuente