Linux命令行怎么调整分辨率
Linux命令行怎么调整分辨率详细介绍
在 Linux 命令行中调整分辨率需根据环境类型(图形界面 Xorg/Wayland 或纯文本终端)选择对应工具。以下是详细操作指南:
一、Xorg 环境下的分辨率调整
1. 查看当前显示信息
使用xrandr命令列出所有连接的显示器及其支持的分辨率和刷新率:
bash
xrandr
输出示例:
plaintext
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
1920x1080 60.00*+ 50.00 59.94
1600x900 60.00 59.95
...
其中*表示当前分辨率,+表示默认分辨率。
2. 临时设置分辨率
语法:
bash
xrandr 显示器名称 分辨率
示例:
bash
xrandr HDMI-1 1920x1080
3. 添加自定义分辨率(若默认列表中无所需选项)
步骤 1:生成 Modeline
使用cvt或gtf命令计算自定义分辨率的参数:
bash
cvt
输出示例:
plaintext
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHzModeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
步骤 2:添加新分辨率
bash
xrandr +vsyncxrandr HDMI-1
步骤 3:应用新分辨率
bash
xrandr HDMI-1
4. 永久保存设置
方法 1:编辑 xorg.conf 文件
- 生成初始配置文件:
bash
Xorg
- 将生成的
/root/xorg.conf.new复制到/etc/X11/xorg.conf:
bash
/root/xorg.conf.new /etc/X11/xorg.conf
- 编辑
/etc/X11/xorg.conf,在Section "Monitor"中添加:
plaintext
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsyncOption "PreferredMode" "1920x1080_60.00"
在Section "Screen"中指定分辨率:
plaintext
SubSection "Display"Depth 24
Modes "1920x1080_60.00"
EndSubSection
方法 2:添加到启动脚本
创建脚本文件:
bash
/etc/rc.local
在文件末尾添加:
bash
xrandr HDMI-1 1920x1080_60.00
保存后赋予执行权限:
bash
+x /etc/rc.local
二、Wayland 环境下的分辨率调整
1. 工具推荐
- wlrandr:适用于 wlroots-based compositor(如 Sway、Hyprland):bash
wlrandr 显示器名称 分辨率 - wdisplays:通用 Wayland 工具:bash
wdisplays 显示器名称 分辨率 - kanshi:配置文件驱动的工具,需编辑
~/.config/kanshi/config:bashoutput 显示器名称 resolution 分辨率
2. GNOME Wayland 特殊方法
使用 D-Bus 脚本(需安装gnome-control-center):
bash
gdbus call org.gnome.Mutter.DisplayConfig --object-path /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig.ApplyMonitorsConfig outputs\": [{\"name\": \"<显示器名称>\", \"mode\": {\"width\": <宽度>, \"height\": <高度>, \"refreshRate\": <刷新率>}}]}']"
三、纯文本终端(非图形界面)分辨率调整
1. 内核参数调整
编辑 GRUB 配置文件:
bash
/etc/default/grub
在GRUB_CMDLINE_LINUX中添加:
plaintext
vga=0x36D # 0x36D对应1920x1080,其他参数见下表
更新 GRUB:
bash
分辨率参数对照表:
| 分辨率 | 参数 |
|---|---|
| 640x480 | 0x0300 |
| 800x600 | 0x0310 |
| 1024x768 | 0x031F |
| 1280x1024 | 0x032E |
| 1600x1200 | 0x0337 |
| 1920x1080 | 0x036D |
2. Framebuffer 支持
确保内核编译时启用以下选项(通过make menuconfig配置):
- Device Drivers -> Graphics support -> Frame buffer Devices
- VESA VGA graphics support
- Video mode selection support
- Framebuffer Console support
四、注意事项
- 权限问题:部分操作需
root权限,建议使用sudo。 - 驱动兼容性:NVIDIA/AMD 专有驱动可能需要额外工具(如
nvidia-settings)。 - 多显示器配置:使用
--output指定多个显示器,例如:bashxrandr HDMI-1 1920x1080 DP-1 2560x1440912xrandr HDMI-1 1920x1080 DP-1 2560x1440
- 恢复默认设置:bash
xrandr 显示器名称912xrandr <显示器名称>
- 虚拟机环境:需安装增强工具(如 VirtualBox Guest Additions)以支持分辨率调整。
通过以上方法,可在 Linux 命令行中灵活调整分辨率。根据环境类型选择对应工具,并注意驱动和硬件兼容性。