我有一台笔记本电脑,我经常在现场和办公室之间来回携带。我的办公室里有一个扩展坞,上面连接着各种外围设备(屏幕、键盘、LAN、鼠标等)。
我的笔记本电脑和桌面屏幕都支持相同的分辨率,即 1920x1080,而且我几乎不需要连接不同的分辨率或屏幕。
现在,烦人的事情是,我每次都必须设置桌面屏幕:1.将屏幕设置为镜像2.正确的笔记本电脑屏幕分辨率3.正确的桌面屏幕分辨率(由于某种原因,每次我将其设置为镜像时,它都会变成 1680x1050)
有没有办法检测底座是否连接,然后自动设置屏幕参数?
作为检测底座的方法,我发现 的输出lsusb
可能很有用。这是没有底座时的样子:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 027: ID 8087:0a2b Intel Corp.
Bus 001 Device 002: ID 138a:0010 Validity Sensors, Inc. VFS Fingerprint sensor
Bus 001 Device 007: ID 0b97:7772 O2 Micro, Inc. OZ776 CCID Smartcard Reader
Bus 001 Device 004: ID 0b97:7761 O2 Micro, Inc. Oz776 1.1 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
连接底座及其外围设备后:
Bus 002 Device 009: ID 05e3:0743 Genesys Logic, Inc. SDXC and microSDXC CardReader
Bus 002 Device 008: ID 05e3:0743 Genesys Logic, Inc. SDXC and microSDXC CardReader
Bus 002 Device 007: ID 05e3:0616 Genesys Logic, Inc. hub
Bus 002 Device 006: ID 0424:5537 Standard Microsystems Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 024: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 022: ID 0d8c:0170 C-Media Electronics, Inc.
Bus 001 Device 026: ID 05e3:0727 Genesys Logic, Inc. microSD Reader/Writer
Bus 001 Device 025: ID 05e3:0727 Genesys Logic, Inc. microSD Reader/Writer
Bus 001 Device 023: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 021: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 019: ID 0424:2137 Standard Microsystems Corp.
Bus 001 Device 027: ID 8087:0a2b Intel Corp.
Bus 001 Device 002: ID 138a:0010 Validity Sensors, Inc. VFS Fingerprint sensor
Bus 001 Device 007: ID 0b97:7772 O2 Micro, Inc. OZ776 CCID Smartcard Reader
Bus 001 Device 004: ID 0b97:7761 O2 Micro, Inc. Oz776 1.1 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
正如你所见,检测应该相当简单,我可以用 perl 来破解那部分。
但是,如何通过命令行设置屏幕镜像和分辨率?
软件:
- Linux Mint 18,XFCE
硬件:
- 笔记本电脑:东芝 Portege Z30-C-10W
- 基座:东芝 Hi-Speed III
- 屏幕:三星 24 英寸 LED S24F350H
有没有比编写检测脚本并以某种方式从命令行设置参数更好的方法?