Пользовательский двойной экранный багги конфигурации

Используя параметры настройки системы Ubuntu для конфигурирования двух экранов (настольный монитор и ТВ с помощью HDMI в моем случае) не является эргономическим.

Следовательно я решил кодировать удобный сценарий переключателя, который позволяет мне выбрать между зеркальным выводом ("зеркало") и или оставленный экран на/исправлять экране прочь или оставленный экран от/исправлять экрана на ("переключателе"). Это на основе xrandr.

Это работает как ожидалось, и мне нравится гибкость при использовании xrandr, НО:

  • установка tearfree необходимого для телевизионного вывода или проигнорирована или неэффективна после использования моего сценария (Почему?)
  • параметры настройки системы повреждаются после использования моего сценария: Если я изменю экранную конфигурацию через параметры настройки системы впоследствии, произведу, то будет скремблирован.

Мой сценарий должен делать что-то ужасно неправильно. Как я могу заставить его работать правильно?

Сценарий:

#!/bin/bash

DESKTOP="DP1" # desktop monitor
DSIZE="1280x1024"

TVPORT="HDMI1" # connection to TV
TVSIZE="1920x1080"

SCALE="1.5" # e.g. 1920/1280

if xrandr | grep "$TVPORT" | egrep "\)$"
then # TV port is turned OFF => turn it on
  selected_mode=`echo -e "mirror\nswitch" | zenity --list --text="Choose Mode:" --column="Mode"`
  if test "$selected_mode" = "mirror"
  then
    xrandr --output "$TVPORT" --auto --left-of "$DESKTOP" --output "$DESKTOP" --panning "$TVSIZE"
    xrandr --output "$DESKTOP" --scale "$SCALE"x"$SCALE" --mode "$DSIZE" --fb "$TVSIZE" --panning "$TVSIZE"
  fi
  if test "$selected_mode" = "switch"
  then
    xrandr --output "$TVPORT" --auto --output "$DESKTOP" --off
  fi
else # TV port is turned ON => turn it off
  xrandr --output "$TVPORT" --off --output "$DESKTOP" --mode "$DSIZE" --fb "$DSIZE" --scale 1x1 --panning "$DSIZE"
fi

exit 0

Tearfree, который работает при использовании Ubuntu обычно, но не после запущения моего скрипта:

$ cat /etc/X11/xorg.conf
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod" "sna"
   Option      "SwapbuffersWait" "true"
   Option      "TearFree" "true"
EndSection
2
задан 7 September 2015 в 01:13

0 ответов

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

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