linux 投影仪
注:文章转自http://goo.gl/aI9Ycd如果侵权,请原作者留言,立即删除
之前在 R219 做 C++ 演講的時候,發現 Ubuntu 沒有辦法使用 VGA 輸出,臨時改用 Windows Vista 結果我覺得用起來很不順,而且有些範例沒有辦法展示,覺得相當捥惜。今天我用桌機的螢幕測試看看,結果發現 Ubuntu 是可以自動偵測螢幕,雖然結果不是很令人滿意(自動選用的解析度對二個螢幕而言都不是最佳解析度),但也還算是堪用。
那之前的演講是怎麼一回事呢?我在想有可能是因為投影機的解析度和我的筆電的解析度八字不合,所以 Ubuntu 沒有辦法自動選出最合適的解析度組合,所以當天就沒有辦法正常使用投影機。
早期要更改解析度,一定要修改 xorg.conf 然後重新開啟 X server。不過現在我們可以用 xrandr 來重新設定解析度,而且可以像 Windows 那樣立刻生效,甚至還可以做一些特別的設定。
首先我們要下面的指令來觀察目前的設定:
xrandr --current
在我的電腦會看到有 VGA 與 LVDS 二種輸出方式,前者是 VGA 輸出端子,後者是筆電本身的螢幕;同時 xrandr 也會顯示每種輸出方式可以使用的解析度與更新頻率。
如果我想要調整 LED panel (筆電內建) 的解析度我們可以使用 --mode 來設定:
xrandr --output LVDS --mode 1280x800
當然如果我要調整 VGA output 的解析度我們可以用下面的指令:
xrandr --output VGA --mode 1024x768
如果我們要關閉一種輸出,我們可以用 --off 來關閉。off 很重要,因為二種輸出有時候會互相干擾,我們可以先關閉一個,調整好再開啟不同的輸出。
接下來,我們可以讓不同的螢幕有不同的解析度。之所以會有這樣的需求是因為 LCD 螢幕的解析度是不能動態調整的,所以對於「非出廠內定值」通常只是把輸入訊號用內差法放大,效果都不甚理想,所以我希望可以讓筆電的螢幕是「出廠內定值」。
我的做法是:
xrandr --output LVDS --mode 1280x800 --output VGA --off
先把 LCD panel 的解析度調整好,再開啟 VGA output 的解析度:
xrandr --output VGA --mode 1024x768
此時,我們還可以稍做修改,例如我不想要顯示 GNOME 上層的選單,我就可以用 --pos 來移動我的 VGA output 的顯示區:
xrandr --output VGA --mode 1024x768 --pos 0x25
我想在一般的演講,這些指令就很夠用了。不過我在研究 xrandr 的時候發現了一個有趣的參數:panning。我們可以用 panning 模擬比較大的螢幕。有人可能會很好奇它是如何「模擬」的?事實上使用了 panning 就有點像顯微鏡,我們的「可視區」還是只有螢幕的大小,隨著滑鼠的移動,「可視區」的範圍也會隨之移動。也就是說如果我剛才修改一下 VGA 的設定,VGA output 就可以隨著滑鼠的移動看到不同的部分。
xrandr --output VGA --mode 1024x768 --panning 1280x800
當然 xrandr 的功能不止如此,他還可以把二個螢幕串起來,一左一右,不過我就懶得試了,因為還要修改 xconf 的 Virtual 值以加大 Virtual Screen 的大小。
补充:扩展屏幕,即上文的两个屏幕串起来,左扩展和右扩展
xrandr --output VGA-0 --auto --left-of LVDS
xrandr --output VGA-0 --auto --right-of LVDS
linux 投影仪的更多相关文章
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- [Mac A]为什么国外程序员爱用 Mac?
from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...
- 如何用Linux外接显示器或投影仪
在Windows下使用Win+P键或者定制屏幕选项,可以让自己用多个显示器工作或者外接投影仪进行演讲.在Linux下,Gnome与KDE这样的“重量级”桌面环境同样提供了类似的功能与操作方式.但是像我 ...
- Linux服务器开机没响应,BIOS信息都没有
于2015-10-16,记得是4月份装的服务器,上边ineedle都部署完毕,当时没有派上用场,这次华为测试需要一台ineedle测试机,便把这个安装好的ineedle请出来了,插上电源后,接上网线, ...
- [异常解决] 奇巧淫技——VirtualBox中的linux无显示启动,并在win7上远程控制
楼主是资深技术宅(癖),由于感觉手上的老笔记本太卡,遂狠心买了个性能至强的主机同时配了个投影仪(满足躺着打代码的意淫场景).但是体验了大概一个月发现还是坐着打代码舒服,但是如下图坐着打代码总是要抬头看 ...
- linux之重定向命令
1.shell重定向概念:shell重定向包含输出重定向和输入重定向 何为输入输出方向?何为标准输入输出方向? 标准输入方向:从键盘读取用户输入的数据,然后再把数据拿到程序(C语言程序.Shell 脚 ...
- linux下不错的小软件
1.Shutter截图软件 可以完成基本截图功能,而且还有图片编辑功能,可以涂鸦添加水印等. 以下的截图全部归功于shutter软件. 2.VLC media player 媒体播放器 3.Termi ...
- Linux 软件大全
应用 音频 Airtime - Airtime 是一款用于调度和远程站点管理的开放广播软件 Ardour - 在 Linux 上录音,编辑,和混音 Audacious - 开源音频播放器,按你想 ...
- 海量的超赞 Linux 软件 (转载)
海量的超赞 Linux 软件 作者: VoLuong 译者: LCTT Mo | 2016-08-24 16:01 评论: 27 收藏: 38 这个仓库收集了对任何用户/开发者都超赞的 Linux ...
随机推荐
- 201521123004 《Java程序设计》第 14 周学习总结
0. 本周课程设计发布 Java课程设计 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 1.思维导图如下: 2.补充: 数据库 为了实现一定目的按某种规则组织 ...
- java第九次学习总结
1. 本周学习总结 2.. 书面作业 1.常用异常 题目5-1 1.1 提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 以前编写的代码经常出现异 ...
- JAVA课程设计-学生信息管理系统(个人博客)
1. 团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模块或任务说明 负责person类的编写,建立person对象, 完成M ...
- lintcode.44 最小子数组
最小子数组 描述 笔记 数据 评测 给定一个整数数组,找到一个具有最小和的子数组.返回其最小和. 注意事项 子数组最少包含一个数字 您在真实的面试中是否遇到过这个题? Yes 哪家公司问你的这个题 ...
- 框架应用:Spring framework (四) - 事务管理
事务控制 事务是什么?事务控制? 事务这个词最早是在数据库中进行应用,讲的用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位. 事务的管理是指一个事务的开启,内容添加, ...
- Hadoop的safeMode
当集群启动的时候,会首先进入到安全模式.系统在安全模式下,会检查数据块的完整性.假设我们设置的副本数(即参数dfs.replication)是5,那么在dataNode上就应该有5个副本存在,假设只存 ...
- PuTsangTo-单撸游戏开发01 Flag与计划
先立下flag,至少1年之内坚持并2年之内完成自己的一个梦想--游戏开发. 没有参加培训也不打算参加培训,就纯靠业余时间自学并用自己的思路完成一整套游戏体系.做出此决心时也已经做好准备烂尾了,但是有种 ...
- 比较JqGrid与XtraGrid
此只能比较两者的功能优劣,实现某种功能.效果的方便性和效率.首先分别粗略介绍XtraGrid和jqGrid DevExpress是目前.net下最为强大和完整的UI控件库, XtraGrid是这个控件 ...
- 翻译连载 | 第 10 章:异步的函数式(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...
- java基础——java.util.ConcurrentModificationException
在编写代码的时候,有时候会遇到List里有符合条件的的对象,就移除改对象! 但是这种操作如:使用了 List 的remove,会导致一些很严重的问题! 如下这段代码使用ArrayList: @Test ...