Окно фрагмента более чем два монитора с промежуточным “разрывом”

Я Проверил sed с -E agrs, но не работа, таким образом, я использовал следующие изменения, кажется работой..

CommentAppend() {
        # Comment line and append line below commented line
        local comment="$( echo "$1" | sed 's/\(\/\)/\\\//g' )"  # search this line and comment it
        local append="$( echo "$2" | sed 's/\(\/\)/\\\//g' )"   # Append this line below commented line
        local InputFile="$3"


        sed -i "s/${comment}/#${comment}/g ; s/#${comment}/& \n${append}/" $InputFile
}

Тест

root@router:~# bash -x /tmp/test.sh
+ CommentAppend 'connection = sqlite:////var/lib/keystone/keystone.db' 'connection = mysql://keystoneUser:keystonePass@10.10.10.51/keystone' /tmp/test.conf
++ sed 's/\(\/\)/\\\//g'
++ echo 'connection = sqlite:////var/lib/keystone/keystone.db'
+ local 'comment=connection = sqlite:\/\/\/\/var\/lib\/keystone\/keystone.db'
++ sed 's/\(\/\)/\\\//g'
++ echo 'connection = mysql://keystoneUser:keystonePass@10.10.10.51/keystone'
+ local 'append=connection = mysql:\/\/keystoneUser:keystonePass@10.10.10.51\/keystone'
+ local InputFile=/tmp/test.conf
+ sed -i 's/connection = sqlite:\/\/\/\/var\/lib\/keystone\/keystone.db/#connection = sqlite:\/\/\/\/var\/lib\/keystone\/keystone.db/g ; s/#connection = sqlite:\/\/\/\/var\/lib\/keystone\/keystone.db/& \nconnection = mysql:\/\/keystoneUser:keystonePass@10.10.10.51\/keystone/' /tmp/test.conf
3
31.01.2015, 16:46
1 ответ

Я нашел связанный с этим вопрос по Ask Ubuntu , который вроде как сделал трюк для меня. Инструкции для всего процесса, включая создание "разрыва" между мониторами (работает, по крайней мере, на Ubuntu 14.04):

  • Выяснить текущий общий размер экрана (предполагая, что на данный момент нет виртуального разрыва между мониторами):
    $ xrandr | grep Screen Экран 0: минимум 320 x 200, ток2048 x 1280, максимум 32767 x 32767
  • Добавьте желаемый размер зазора в пикселях к ширине (первое значение отображается после тока - в моем случае 2048). Я выбрал гэп в 136 пикселей, так что у меня будет новый экран шириной 2184.
  • Установите новый размер экрана:
    xrandr --fb 2184x1280
  • Узнайте имя правого монитора:
    $ xrandr | grep ^[^\(]*правый. HDMI3подключил 1024x1280+1024+0 правый (нормальная левая перевернутая правая ось х ось у) 376мм х 301мм
  • Практически сдвиньте правый монитор дальше вправо, чтобы создать зазор. Добавьте размер промежутка к третьему числу, отображаемому вышеприведенной командой (выделено жирным шрифтом). В моем примере это 1024+136=1160:
    xrandr --output HDMI3 --pos 1160x0

Now, make Compiz handle the whole area as one single screen

  • Start CompizConfig Settings Manager (installable with sudo apt-get install compizconfig-settings-manager)
  • Go to "General Options" plugin (e. g. введите это в поле поиска)
  • Выберите закладку "Display Settings"
  • Снимите флажок "Detect Outputs"
  • Если это еще не помогло, щелкните правой кнопкой мыши на каждой строке в списке "Outputs", выберите "Edit" (Редактировать) и удалите их содержимое.

При разворачивании окна он растягивает оба монитора. Полный экран также растягивает оба монитора.

Очевидно, что это не идеально, так как в большинстве случаев желательно, чтобы максимизированные окна заполняли один монитор. Это означает, что опция компиляции "Detect Outputs" должна быть отмечена и снята в зависимости от того, какое поведение желательно в данный момент.

Примечание для пользователя с неанглийской локалью: Если вы не можете найти плагин и настройки CompizConfig, потому что не знаете, как они были переведены, запустите CompizConfig следующим образом:

LANG=C ccsm
4
27.01.2020, 21:19

Теги

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