Я пытаюсь создать скрипт, который отключает монитор ноутбука и устанавливает разрешение моего внешнего монитора на 3440x1440 @ 44fps. Я использую 44fps, потому что это максимальная частота обновления, которую поддерживает моя видеокарта. Это вывод xrandr:
$ xrandr
Screen 0: minimum 8 x 8, current 3440 x 1440, maximum 16384 x 16384
eDP-1-1 connected (normal left inverted right x axis y axis)
1920x1080 60.02 + 60.01 59.97 59.96 59.93
1680x1050 59.95 59.88
1600x1024 60.17
1400x1050 59.98
1600x900 59.99 59.94 59.95 59.82
1280x1024 60.02
1440x900 59.89
1400x900 59.96 59.88
1280x960 60.00
1440x810 60.00 59.97
1368x768 59.88 59.85
1360x768 59.80 59.96
1280x800 59.99 59.97 59.81 59.91
1152x864 60.00
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
800x512 60.17
700x525 59.98
800x450 59.95 59.82
640x512 60.02
720x450 59.89
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
680x384 59.80 59.96
640x400 59.88 59.98
576x432 60.06
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
HDMI-1-1 connected primary 3440x1440+0+0 (normal left inverted right x axis y axis) 819mm x 346mm
3840x2160 30.00 30.00 25.00 25.00 24.00 24.00 29.97 23.98
2560x1080 60.00 59.94
1920x1080 60.00 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98
1920x1080i 60.00 50.00 59.94
1680x1050 59.88
1600x900 60.00
1280x1024 75.02 60.02
1280x800 59.91
1152x864 75.00
1280x720 60.00 60.00 50.00 59.94
1024x768 75.03 60.00
832x624 74.55
800x600 75.00 60.32
720x576 50.00
720x480 60.00 59.94
640x480 75.00 60.00 59.94 59.94
720x400 70.08
Я устанавливаю разрешение моего внешнего монитора с помощью следующих трех команд:
$ sudo xrandr --newmode "3440x1440_44.00" 299.75 3440 3664 4024 4608 1440 1443 1453 1479 -hsync +vsync
$ sudo xrandr --addmode HDMI-1-1 "3440x1440_44.00"
$ xrandr --output HDMI-1-1 --mode "3440x1440_44.00"
И я также пытался создать скрипт bash в /usr/share/X11/xorg.conf.d/45-custom_xrandr_settings
:
EXTERNAL_OUTPUT="HDMI-1-1"
INTERNAL_OUTPUT="eDP-1-1"
xrandr |grep $EXTERNAL_OUTPUT | grep " connected "
if [ $? -eq 0 ]; then
xrandr --output $INTERNAL_OUTPUT --off
xrandr --newmode "3440x1440_44.00" 299.75 3440 3664 4024 4608 1440 1443 1453 1479 -hsync +vsync
xrandr --addmode HDMI-1-1 "3440x1440_44.00"
xrandr --output HDMI-1-1 --mode "3440x1440_44.00"
else
xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --off
fi
Я также пытался создать файл /usr/share/X11/xorg.conf.d/10-monitor.cfg
со следующим содержанием:
Section "Monitor"
Identifier "HDMI-1-1"
Modeline "3440x1440_44.00" 299.75 3440 3664 4024 4608 1440 1443 1453 1479 -hsync +vsync
Option "Primary" "true"
Option "PreferredMode" "3440x1440_44.00"
EndSection
Section "Screen"
Identifier "Screen0"
Monitor "HDMI-1-1"
DefaultDepth 24
SubSection "Display"
Modes "3440x1440_44.00"
EndSubSection
EndSection
Но это также не сильно помогло. Честно говоря, я предпочитаю полагаться на скрипт, который при загрузке машины проверяет, подключен ли я к внешнему дисплею или нет, а затем отключает внутренний дисплей, если я подключен. Для справки я использую Ubuntu 19.04
и Intel HD4200 и Nvidia GTX 860M.
Я также хочу, чтобы это переключение мониторов происходило во время загрузки, чтобы экран первоначального входа в систему и экран выбора загрузки отображались на моем внешнем дисплее, когда он подключен.