Bagaimana cara mengatur resolusi khusus?

77

Saya mencoba menggunakan xrandruntuk menetapkan 1680x1050 sebagai mode baru untuk output VGA, tetapi dikatakan:

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
pengguna216356
sumber

Jawaban:

128

Pertama menghasilkan "modeline" dengan menggunakan Sintaks cvt
adalah: cvt lebar tinggi refreshrate

cvt 1680 1050 60

ini memberi Anda:

# 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

Sekarang beritahu ini ke xrandr :

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

Maka sekarang Anda dapat menambahkannya ke tabel kemungkinan resolusi dari output pilihan Anda:

xrandr --addmode VGA-0 1680x1050_60.00

Perubahan hilang setelah reboot, untuk mengatur resolusi terus-menerus, buat file ~/.xprofiledengan konten:

#!/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
mereka
sumber
21
Perangkat yang terhubung mungkin tidak VGA-0. Jika Anda mendapatkan pesan xrandr: cannot find output "VGA-0", coba jalankan perintah berikut: xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"(sumber: xrandr di ArchWiki ). Output dari perintah itu harus menjadi pengidentifikasi perangkat yang benar.
Thirdender
10
Anda tidak perlu sudo dengan xrandr
Panther
2
Saya ingin menambahkan bahwa saya memiliki kesalahan yang sama - dan hal di atas tidak menyelesaikan masalah sama sekali
TellMeWhy
3
Jika Anda menggunakan VM, tampilan biasanya Virtual1bukan VGA-0.
CyberEd
5
Anda perlu mengganti VGA-0 dengan koneksi monitor Anda. Gunakan xrandr --listmonitors. Lihat Bagaimana cara memperbaiki kesalahan 'xrandr: tidak dapat menemukan output "VGA1"'?
Hooman
14

Cara mengatur resolusi khusus yang ditentukan sebelumnya. Setelah menjalankan langkah-langkah lain yang ditentukan untuk membuat resolusi, jalankan:

xrandr -s 1680x1050
GuiRitter
sumber
4

Cara mengatur resolusi khusus yang ditentukan sebelumnya saat menjalankan beberapa monitor . Setelah menjalankan langkah-langkah lain yang ditentukan untuk membuat resolusi, jalankan:

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

Ganti DVI-0dengan id perangkat Anda, misVGA-0

pokkie
sumber
3

Berkat Thom dan thirdender ini pada dasarnya adalah konfigurasi perintah tunggal didasarkan pada jawaban yang paling sebagai .

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

Perintah di atas akan menghasilkan ~/.xprofilefile yang diinginkan . Pastikan Anda menggunakan resolusi (yaitu RESvariabel) yang Anda sukai. Info lebih lanjut di sini .

Tanasis
sumber