Расширенный для дублирования сценарий монитора без функциональной клавиши - PullRequest
0 голосов
/ 20 ноября 2018

Я хотел бы создать bash-скрипт, который позволит мне:

изменить режим моего экрана с расширенного на дублированный и наоборот.

Моя клавиатура не имеет функциональной клавишии я хотел бы создать скрипт, который отключит меня от этой операции, но я не знаю, как это сделать

Большое спасибо!

1 Ответ

0 голосов
/ 20 ноября 2018

Чтобы сформулировать вашу функцию bash, вы должны сначала узнать подключенные экраны с помощью этой команды.

xrandr --current

Он покажет вам вывод, похожий на этот

Screen 0: minimum 8 x 8, current 1600 x 900, maximum 32767 x 32767
eDP1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 380mm x 210mm
   1600x900      60.04*+  59.82    39.99
   1400x900      59.96    59.88
   1368x768      60.00    59.88    59.85
   1280x800      59.81    59.91
   1280x720      59.86    60.00    59.74
   1024x768      60.00
   1024x576      60.00    59.90    59.82
   960x540       60.00    59.63    59.82
   800x600       60.32    56.25
   864x486       60.00    59.92    59.57
   800x450       60.00
   640x480       59.94
   720x405       59.51    60.00    58.99
   640x360       59.84    59.32    60.00
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Как видите, у меня есть 2 выхода eDPI1 (экран моего ноутбука) и HDMI1 мой внешний монитор, который в данный момент отключен.

Теперь с этими переменными я могу написать функцию, которая переключается с зеркала на расширение и обратно.

#!/bin/bash

export SCREEN_STATE="extended"

function screenToggle() {
    if [[ $SCREEN_STATE == "extended" ]]; then
        xrandr --output eDPI1 --output HDMI1 --same-as eDPI1
        export SCREEN_STATE="mirrored"

    else
        xrandr --output eDPI1 --output HDMI1 --left-of eDPI1
        export SCREEN_STATE="extended"

    fi
}

Обратите внимание, что я не тестировал этот код, и при первом запуске дисплеи перейдут в зеркальный режим из-за второй строки, и вы не сможете изменить это поведение.

Дополнительные значения, которые вам, возможно, понадобится передать для управления разрешением, см. man xrandr и этот аналогичный вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...