Eu tenho um laptop que eu movo para frente e para trás entre campo e escritório. No meu escritório, tenho uma estação de acoplamento com vários periféricos conectados a ela (tela, teclado, LAN, mouse, etc.).
Meu laptop e minha tela de mesa suportam a mesma resolução, 1920x1080, e eu praticamente nunca preciso de uma resolução ou tela diferente.
Agora, o mais chato é que eu tenho que configurar a tela da área de trabalho toda vez: 1. Definir telas para espelhar 2. Resolução correta para a tela do laptop 3. Resolução correta para a tela do desktop (por algum motivo, ele vai para 1680x1050 toda vez que eu configurá-lo para espelhar)
Não existe uma maneira de detectar se a estação está conectada e, em seguida, definir os parâmetros da tela automaticamente?
Como meio de detectar o dock, descobri que a saída de lsusb
poderia ser útil. É assim que fica sem o encaixe:
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
E com o dock e seus periféricos conectados:
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
Como você pode ver, a detecção deve ser bem direta, eu posso hackear essa parte junto com o perl.
No entanto, como faço para definir o espelhamento e a resolução da tela via linha de comando?
Software:
Hardware:
Existe uma maneira melhor do que escrever um script de detecção e configurar os parâmetros da linha de comando de alguma forma?
Tags multiple-monitors laptop linux