Отключить монитор ноутбука и установить пользовательское разрешение для внешнего монитора в Xorg

Я пытаюсь создать скрипт, который отключает монитор ноутбука и устанавливает разрешение моего внешнего монитора на 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.

Я также хочу, чтобы это переключение мониторов происходило во время загрузки, чтобы экран первоначального входа в систему и экран выбора загрузки отображались на моем внешнем дисплее, когда он подключен.

0
задан 2 July 2019 в 19:27

0 ответов

Другие вопросы по тегам:

Похожие вопросы: