Xrandr
RandR(Resize and Rotate)[1] X 协议扩展及其 CLI 工具 xrandr 用于管理 X 中的屏幕分辨率、旋转和多显示屏。
在 1.4 版中引入了对多显卡的支持,未来版本(>1.5)还将支持通过 USB 连接的显示器(这可能会与支持 DisplayLink[2] 的 xorg-server 1.13 合并)。
安装
可以使用以下命令安装 x11-apps/xrandr:
root #
emerge --ask x11-apps/xrandr
此工具应自动安装在大多数 窗口管理器 中,因为它用于管理显示器。
GUI工具
有一些 GUI 工具可以使用 xrandr。以下是 Gentoo 支持的工具列表:
- x11-misc/arandr – Another XRandR GUI (一款独立的 GUI 工具)
- lxde-base/lxrandr – LXDE 的 RandR 扩展 GUI 界面
配置
一种常见的执行 X 相关脚本的方法是在用户的主目录中使用 ~/.xinitrc 或 ~/.xprofile 文件。将 xrandr 的代码行放入这些文件之一,它将在每次 X 启动时执行,以使设置永久生效。例如,对于 i3:
~/.screenlayout/two-displays.sh &
exec dbus-run-session i3
用法
xrandr 使用显示器扩展显示识别数据(EDID)来识别其功能。有故障的硬件可能会报告错误或不良的 EDID,在这些情况下,仍然可以通过反复试验以使用自定义设置。
屏幕查询
不带任何参数运行 xrandr 将列出所有可用的显示输出接口和显示设备及其当前状态和功能:
user $
xrandr
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192 VGA-1 disconnected (normal left inverted right x axis y axis) LVDS-1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 304mm x 190mm 1440x900 60.1*+ 1024x768 60.0 800x600 60.3 640x480 59.9
xrandr 查询结果包含标记为 <interface_name>-<index>
的所有可用接口。每个都显示其连接状态和报告的屏幕模式。 *
提示当前连接设备的模式,+
提示首选模式。
常见显示接口的“RandR”命名方案:
屏幕操作
可以通过 xrandr 查询来发现输出接口。常见任务示例:
如果连接了多个设备,则设置主显示器:
user $
xrandr --output LVDS-1 --primary
扩展连接在已知显示上的外部显示器(left-of, right-of, above, below, same-as):
user $
xrandr --output DVI-1 --auto --left-of LVDS-1
旋转一个显示器(normal, left, right, inverted):
user $
xrandr --output LVDS-1 --rotate left
关闭设备:
user $
xrandr --output LVDS-1 --off
屏幕模式
模式总是由分辨率和刷新率组成。使用 xrandr 查询硬件报告支持哪些模式。如果硬件报告错误信息,则可以定义自己的模式。要更改连接设备的模式:
user $
xrandr --output LVDS-1 --mode 1024x768
它将在该模式下使用最高刷新率,若更改刷新率(以 Hz 为单位):
user $
xrandr --output LVDS-1 --mode 1024x768 --rate 75
更改会立即应用,并且在上面列出的硬件可能会产生错误或屏幕变为空白,这是因为不支持 75Hz。参考下一节来解决,使用 Ctrl+Alt+Backspace 将终止会话并重新启动 X以防出错。
要添加一个 75Hz 的模式,可以使用工具 cvt(x11-libs/libxcvt)来获取合适的配置行:
user $
cvt 1024 768 75
Modeline 之后的所有内容都需要附加到以下命令中:
user $
xrandr --newmode "1024x768_75.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
再次运行查询将会列出新添加的模式。
手动添加模式不会使显示设备在之前无法工作的情况下工作。
另请参阅
- Non root Xorg — describes how an unprivileged user can run Xorg without using suid.
- Xorg — an open source implementation of the X server.
- Xorg/Guide — 解释了什么是Xorg,如何安装它,以及各种配置选项。
- X server — the main component of the X Window system which abstracts the hardware and provides the foundation for most graphical user interfaces, like desktop environments or window managers, and their applications.