Я использую Thinkpad T510 и часто загружаю его в ThinkPad Mini Dock Plus Series 3 (EU). Проблема в том, что если я загружаю его с закрытой крышкой, я вижу grub, я вижу всплеск загрузки Ubuntu, но после этого мой внешний монитор (подключенный через VGA) выключается, и мне нужно открыть крышку и сообщить Драйвер NVIDIA вручную, чтобы использовать внешний экран и отключить встроенную ЖК-панель. Есть ли способ включить это в правило udev или что-то подобное, чтобы избежать ручного переключения?
Существуют некоторые инструменты для автоматизации, такие как RandR, disper, displex или этот http://gnomefiles.org/content/show.php/Laptop+external+display+hotplugging?content=138742
Я приспособил сценарий, который нашел, к своим потребностям.
Вы можете игнорировать команды wacom. Они просто соответствуют входному слою планшета в соответствии с ориентацией экрана.
#!/bin/bash
#!/bin/sh
# wait for the dock state to change
sleep 2.0
DOCKED=$(cat /sys/devices/platform/dock.0/docked)
case "$DOCKED" in
"0")
#undocked event - lets remove all connected outputs apart from LVDS
for output in $(/usr/bin/xrandr -d :0.0 --verbose|grep " connected"|grep -v LVDS|awk '{print $1}')
do
/usr/bin/xrandr -d :0.0 --output $output --off
done
xrandr --output LVDS1 --rotation normal
xsetwacom set "Wacom ISDv4 90 Pen stylus" MapToOutput LVDS1
xsetwacom set "Wacom ISDv4 90 Pen eraser" MapToOutput LVDS1
# rotates the tablet input to the according position (half=180°, (c)cw=(counter)clockwise, none=normal)
xsetwacom set "Wacom ISDv4 90 Pen stylus" rotate none
# if multiouch present set: xsetwacom set "Wacom ISDv4 E6 Finger touch" rotate half
xsetwacom set "Wacom ISDv4 90 Pen eraser" rotate none
;;
"1")
## rotates internal Laptop Display LVDS1 to inverted
xrandr --output HDMI2 --auto --above LVDS1
xrandr --output LVDS1 --rotation inverted
xsetwacom set "Wacom ISDv4 90 Pen stylus" MapToOutput LVDS1
xsetwacom set "Wacom ISDv4 90 Pen eraser" MapToOutput LVDS1
# rotates the tablet input to the according position (half=180°, (c)cw=(counter)clockwise, none=normal)
xsetwacom set "Wacom ISDv4 90 Pen stylus" rotate half
# if multiouch present set: xsetwacom set "Wacom ISDv4 E6 Finger touch" rotate half
xsetwacom set "Wacom ISDv4 90 Pen eraser" rotate half
;;
esac
exit 0
Он идентифицирует файл состояния в /sys/devices/platform/dock.0, где он имеет значение 1 для состыкованного или 0 для отстыкованного триггера xrandr для настройки вывода на экран расширенного dektop с помощью встроенного дисплея LVDS1 Конфигурация внешнего дисплея HDMI2 выше.