Существует ли в Ubuntu среда рабочего стола с поддержкой нескольких динамических мониторов?

Я пользуюсь ноутбуком и люблю мигрировать в течение дня с одного (физического) рабочего места на другое и подключаться к внешнему монитору, если таковой имеется.

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

Но каждый раз, когда я подключаю / отключаю внешний монитор, все мои тщательные меры исчезают. Это сводит меня с ума .

Существует ли среда рабочего стола, которая просто оставляет окна одни, когда вы подключаете / отключаете второй монитор? Или даже лучше, что помнит расположение окон на расположение монитора? Поэтому, когда я перешел из моего домашнего офиса (17-дюймовый монитор сверху экрана ноутбука) на свое обычное рабочее место (21-дюймовый монитор слева от экрана ноутбука) или на стол моего коллеги (19-дюймовый монитор справа от экрана latop), окна оказываются там, где они были в последний раз, когда монитор был подключен, или остаются на месте, если они никогда не видели этот монитор.

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

14
задан 1 February 2014 в 01:52

2 ответа

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

Вам необходимо установить wmctrl, если у вас его нет. Установить через терминал,

sudo apt-get install wmctrl

Скрипт для сохранения конфигурации окон

# Script_Name: save_window_conf.sh
#!/bin/bash
if [ -f $HOME/.my_windows_config.txt ]; then
    echo -e "Information: Previous configuration file \"$HOME/.my_windows_config.txt\" already exists.\nTo save a new configuration remove it manually using the following command,\n\n\trm $HOME/.my_windows_config.txt"
    exit 1
else
    wmctrl -p -G -l | awk '($2 != -1)&&($3 != 0)&&($NF != "Desktop")' | awk '{print $1}' | while read mywinid
    do
        xwininfo -id "$mywinid" >> $HOME/.my_windows_config.txt
    done
fi

При выполнении вышеописанный скрипт сохранит ваши положение и размер окон для всех ваших открытых окон в файл с именем .my_windows_config.txt в вашем домашнем каталоге. Это скрытый текстовый файл.

Скрипт для перезагрузки конфигурации окон.

# Script_Name: load_window_conf.sh
#!/bin/bash

file=$HOME/.my_windows_config.txt
declare -a mywinid
declare -a x
declare -a y
declare -a width
declare -a height

nl=$(cat "$file" | grep xwininfo |wc -l)

for i in $(seq 1 $nl)
do
    mywinid[i]=$(cat "$file" | grep "xwininfo" | awk -v p="$i" '{if(NR==p) print $4}')
    x[i]=$(cat "$file" | grep "Absolute upper-left X" | awk -v p="$i" '{if(NR==p) print $NF}')
    y[i]=$(cat "$file" | grep "Absolute upper-left Y" | awk -v p="$i" '{if(NR==p) print $NF}')
    width[i]=$(cat "$file" | grep "Width" | awk -v p="$i" '{if(NR==p) print $NF}')
    height[i]=$(cat "$file" | grep "Height" | awk -v p="$i" '{if(NR==p) print $NF}')
done

for it in $(seq 1 $nl)
do
    wmctrl -i -r "${mywinid[$it]}" -e 0,"${x[$it]}","${y[$it]}","${width[it]}","${height[it]}"
done

. Когда вы выполните второй скрипт, он восстановит положение ваших окон с точным размером для всех ваших окон.

Использование

Сохраните эти сценарии в своем каталоге $HOME/bin/. Добавьте $HOME/bin/ в свой PATH. Для этого добавьте эти строки в конце вашего $HOME/.bashrc

PATH=$HOME/bin:$PATH
export PATH

. Это позволит вам выполнять эти сценарии только с их именами. Дайте разрешение на выполнение сценариев,

chmod +x $HOME/bin/save_window_conf.sh
chmod +x $HOME/bin/load_window_conf.sh

Чтобы сохранить конфигурацию в вашем $HOME/.my_windows_config.txt

После того, как вы откроете и настроите все свои окна, запущенные в терминале,

save_window_conf.sh

Чтобы перезагрузить конфигурацию из вашего $HOME/.my_windows_config.txt

load_window_conf.sh

Надеюсь, это решит вашу проблему. Вот снимок экрана,

enter image description here

0
ответ дан 1 February 2014 в 01:52

Общее руководство здесь: Разрешение

Ваши решения о динамическом разрешении близки к Xorg & amp; XrandR или Xinerama

У вас есть:
Четыре способа настройки

  1. По сеансу с. xprofile.

  2. Динамически с помощью инструмента xrandr

  3. Статически путем установки в xorg.conf.

  4. Графический интерфейс Xrandr.

Хороший ответ: Настройки для нескольких мониторов не сохраняются

Чтобы обойти Управление окнами в ваших рабочих пространствах, вы можете использовать систему профилирования дано Compiz Config Manager

0
ответ дан 1 February 2014 в 01:52

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

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