Linux下雙屏顯示的設置

标签: linux | 发表时间:2011-08-04 22:16 | 作者:(author unknown) sprite.evan
出处:http://pipes.yahoo.com/pipes/pipe.info?_id=65addca05a2337617d0a4c245f9a3366
版權所有:晴耕雨讀@【牧碼志】,如需轉載,請注明出處。
原文地址:http://sinolog.it/?p=2101

RandR是對X11的一個擴展協議,允許在不重啟X的情況下修改輸出的一些參數並使之生效,xrandr是該協議的命令行界面,它的功能之一就是用來設置雙屏顯示。

缺省情況下,外接顯示器後啟用的是屏幕複製模式,即兩個屏幕顯示完全相同的內容。使用命令xrandr -q查看當前的輸出狀態:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS1 connected 1280×800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm
1280×800 60.0+ 60.0 50.0
1024×768 75.1 70.1 60.0
800×600 72.2 75.0 60.3 56.2
768×576 75.0 72.0 60.0
640×480 72.8 75.0 60.0 59.9
VGA1 connected 1920×1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
1920×1080 60.0
+
1680×1050 60.0
1280×1024 75.0 60.0
1440×900 59.9
1280×960 60.0
1024×768 75.1 70.1 60.0
832×624 74.6
800×600 72.2 75.0 60.3 56.2
640×480 72.8 75.0 66.7 60.0
720×400 70.1
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)

可見,筆記本電腦的屏幕輸出(LVDS1)的顯示分辨率是1280×800,外接顯示器的輸出(VGA1)的分辨率是1920×1080。兩個輸出在整個虛擬屏幕(名稱:Screen 0;當前大小:1920×1080;最大:8192×8192)上的坐標都是+0+0。所以在外接顯示器中可以看到屏幕左上角有一個1280×800分辨率的小屏幕。

屏幕複製模式最常用於外接投影儀,現在我需要兩個屏幕分別顯示在各自的顯示器中,並在兩個屏幕中顯示不同的內容(也就是Windows下設置雙屏顯示時選擇的擴展模式)。

由於我將筆記本電腦放在外接顯示器的左邊,所以為了操作的自然,使用命令xrandr --output VGA1 --right-of LVDS1將外接顯示器的輸出在虛擬屏幕上的位置設置在筆記本電腦的輸出的右邊,示意圖如下:

這樣,兩個顯示器中就可以顯示不同的內容了。由於屬於同一個虛擬屏幕,當然也可以將一個窗口跨過邊界從一個顯示器拖到另一個顯示器中。再使用命令xrandr -q查看現在的輸出狀態:

Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 8192 x 8192
LVDS1 connected 1280×800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm
1280×800 60.0+ 60.0 50.0
1024×768 75.1 70.1 60.0
800×600 72.2 75.0 60.3 56.2
768×576 75.0 72.0 60.0
640×480 72.8 75.0 60.0 59.9
VGA1 connected 1920×1080+1280+0 (normal left inverted right x axis y axis) 509mm x 286mm
1920×1080 60.0
+
1680×1050 60.0
1280×1024 75.0 60.0
1440×900 59.9
1280×960 60.0
1024×768 75.1 70.1 60.0
832×624 74.6
800×600 72.2 75.0 60.3 56.2
640×480 72.8 75.0 66.7 60.0
720×400 70.1
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)

使用xrandr做的設置只對當前的X會話有效,重啟後恢復原樣。使設置持久化的方法為修改xorg.conf或設置自動執行命令。據說有一些圖形界面封裝的xrandr的前端,完善的桌面環境如GNOME和KDE應該也是可以在圖形界面中設置的,不過我所使用的XFCE目前似乎只能啟用/禁用複製模式,而不支持在圖形界面中設置擴展模式。

Posted via UltraBlog.vim.

您也许会对这些感兴趣

相关 [linux] 推荐:

Javascript 里跑Linux

- rockmaple - Shellex's Blog
牛逼到暴的大拿 Fabrice Bellard,用Javascript实现了一个x86 PC 模拟器,然后成功在这个模拟器里面跑Linux(请用Firefox 4 / Google Chrome 11打开,Chome 12有BUG). 关于这个东西… 伊说 “I did it for fun“,大大啊大大啊….

Linux Ksplice,MySQL and Oracle

- Syn - DBA Notes
Oracle 在 7 月份收购了 Ksplice. 使用了 Ksplice 的 Linux 系统,为 Kernel 打补丁无需重启动,做系统维护的朋友应该明白这是一个杀手级特性. 现在该产品已经合并到 Oracle Linux 中. 目前已经有超过 700 家客户,超过 10 万套系统使用了 Ksplice (不知道国内是否已经有用户了.

linux makefile编写

- hl - C++博客-首页原创精华区
在讲述这个Makefile之前,还是让我们先来粗略地看一看Makefile的规则. target也就是一个目标文件,可以是Object File,也可以是执行文件. prerequisites就是,要生成那个target所需要的文件或是目标. command也就是make需要执行的命令. 这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在 command中.

Linux下的VDSO

- 圣斌 - Adam's
VDSO(Virtual Dynamically-linked Shared Object)是个很有意思的东西, 它将内核态的调用映射到用户态的地址空间中, 使得调用开销更小, 路径更好.. 开销更小比较容易理解, 那么路径更好指的是什么呢. 拿x86下的系统调用举例, 传统的int 0×80有点慢, Intel和AMD分别实现了sysenter, sysexit和syscall, sysret, 即所谓的快速系统调用指令, 使用它们更快, 但是也带来了兼容性的问题.

Linux wget命令

- - CSDN博客推荐文章
wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径. 例如: # wget  http://www.linuxsense.org/xxxx/xxx.tar.gz. 简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使用命令接着下载.

linux 小技巧

- - DBA Blog
2:如何限制用户的最小密码长度. 修改/etc/login.defs里面的PASS_MIN_LEN的值. 比如限制用户最小密码长度是8:. 3:如何使新用户首次登陆后强制修改密码. 4:更改Linux启动时用图形界面还是字符界面. 将id:5:initdefault: 其中5表示默认图形界面. 改id:3: initdefault: 3表示字符界面.

Linux iostat命令

- - CSDN博客系统运维推荐文章
iostat用于输出CPU和磁盘I/O相关的统计信息. . iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [. iostat各个参数说明:. -c 仅显示CPU统计信息.与-d选项互斥. -d 仅显示磁盘统计信息.与-c选项互斥.

Linux的架构

- - 博客园_首页
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明. 我们以下图为基础,说明Linux的架构(architecture). (该图参考《 Advanced Programming in Unix Environment》). 最内层是我们的硬件,最外层是我们常用的各种应用,比如说使用firefox浏览器,打开evolution查看邮件,运行一个计算流体模型等等.

linux命令locate

- - 操作系统 - ITeye博客
    locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息. Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.

Linux Namespace 浅析

- - IT瘾-dev
目前Linux内核总共支持以下6种Namespace:. IPC:隔离System V IPC和POSIX消息队列. Network:隔离网络资源. Mount:隔离文件系统挂载点. User:隔离用户ID和组ID. 如果想要给已存在进程设置新的namespace,可通过unshare函数( long unshare(unsigned long flags))完成设置,其入参flags表示新的namespace.