Làm cách nào để đặt độ phân giải tùy chỉnh?


77

Tôi đã cố sử dụng xrandrđể đặt 1680x1050 làm chế độ mới cho đầu ra VGA, nhưng nó nói:

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

Câu trả lời:


128

Đầu tiên tạo ra một "modeline" bằng cách sử dụng cvt
Cú pháp là: làm mới chiều cao chiều rộng cvt

cvt 1680 1050 60

cái này cho bạn:

# 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

Bây giờ nói điều này với xrandr :

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

Sau đó, bạn có thể thêm nó vào bảng các độ phân giải có thể có của một đầu ra mà bạn chọn:

xrandr --addmode VGA-0 1680x1050_60.00

Các thay đổi bị mất sau khi khởi động lại, để thiết lập độ phân giải liên tục, tạo tệp ~/.xprofilecó nội dung:

#!/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

21
Thiết bị được kết nối có thể không VGA-0. Nếu bạn nhận được thông báo xrandr: cannot find output "VGA-0", hãy thử chạy lệnh sau: xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"(nguồn: xrandr trên ArchWiki ). Đầu ra của lệnh đó phải là định danh thiết bị chính xác.
thứ ba

10
Bạn không cần sudo với xrandr
Panther

2
Tôi muốn nói thêm rằng tôi có cùng một lỗi - và những điều trên hoàn toàn không giải quyết được vấn đề
TellMeWhy

3
Nếu bạn đang sử dụng máy ảo, màn hình thường Virtual1thay vì VGA-0.
CyberEd

5
Bạn cần thay thế VGA-0 bằng kết nối màn hình của bạn. Sử dụng xrandr --listmonitors. Xem Cách khắc phục lỗi 'xrandr: không thể tìm thấy đầu ra VGA VGA1'?
Hooman

14

Cách đặt độ phân giải tùy chỉnh được chỉ định trước đó. Sau khi thực hiện các bước khác được xác định để tạo độ phân giải, hãy chạy:

xrandr -s 1680x1050

4

Cách đặt độ phân giải tùy chỉnh được chỉ định trước đó khi chạy nhiều màn hình . Sau khi thực hiện các bước khác được xác định để tạo độ phân giải, hãy chạy:

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

Thay thế DVI-0bằng id thiết bị của bạn, vdVGA-0


3

Nhờ thom và người thứ ba , về cơ bản, đây là một cấu hình lệnh duy nhất dựa trên câu trả lời được bình chọn nhiều nhất .

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

Lệnh trên sẽ tạo ~/.xprofiletập tin mong muốn . Chỉ cần chắc chắn rằng bạn sử dụng độ phân giải (tức là RESbiến) theo ý thích của bạn. Thêm thông tin ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.