Ubuntu разделить экран на две части
Мониторы LG поставляются с программным обеспечением, которое позволяет разбивать плоскость на несколько виртуальных экранов (увы, только окна и Mac).
Мне нравится идея заменить с несколькими мониторами с большой мускулистой. Каковы варианты достижения такого же результата в Ubuntu (или Linux вообще?).
Я видел ряд предложений, но они утомительны для использования на практике (например, с помощью ярлыка gnome для изменения размера каждого окна) и / или имеют существенные недостатки (например, i3).
Вы можете управлять «виртуальными рабочими столами» с помощью Super + «S», а затем упорядочивать свою рабочую нагрузку, перетаскивая открытые программы на «виртуальный рабочий стол», который вы хотите, чтобы они отображались. Например, у меня есть электронная почта на одном виртуальном рабочем столе, на моих браузерах на другом, на моем файловом менеджере на другом и на том, что я работаю над показанными на моем четвертом виртуальном рабочем столе . Да, это не совсем то же самое, что вы предлагаете - но, если у вас нет довольно большого дисплея, я задаюсь вопросом, насколько полезно иметь одновременно два или более «дисплеев» на экране (плюс, это работа, которая гарантированно работает »из-за -The ящик ").
Насколько я знаю, вы можете разделить экран на два окна за раз. Либо один слева, а один справа, Или один сверху и один внизу. Для этих действий есть сочетания клавиш:
Для вертикального разделения:
Для горизонтального разделения:
Я всегда предпочитаю установку с двойным монитором (такого же размера и разрешения) ультра-широкий монитор.
Я нашел это расширение, которое делает что-то похожее на то, что вы просите, Это для Cinnamon, но, возможно, вы можете найти что-то подобное для Ubuntu
В Ubuntu 16.04
Вы должны сделать это с помощью CCSM (CompizConfig-Settings-Manager) в Ubuntu 16.04. Ubuntu 18.04 будет использовать Gnome 3 Shell вместо Unity, Wayland вместо Xorg и Mutter вместо Compiz, у которых нет простого способа добиться многих хороших настроек производительности, которые Compiz приносит.
Установить CCSM: sudo apt install compizconfig-settings-manager compiz-plugins-extra Перейти к плану General Перейдите на вкладку «Настройки дисплея». Отмените проверку флажка «Обнаружение выходов». Измените настройку в поле «Выходы» на четыре разных области с смещениями, которые составляют область вашего экстремального HD-монитора. Например, 1920x1080 + 1920 + 0 будет означать, что «дисплей» имеет ширину 1920 пикселей, 1080 пикселей и расположен 1920 пикселей справа от левого края и 0 пикселей вниз.
Для монитора 4K, если вы хотите, чтобы он вел себя как четыре монитора 1080p, вы должны настроить его как снимок экрана ниже: (Удачи в поиске «отображения» краев указателем мыши! )
Это никогда не предназначалось для использования таким образом, поэтому, если вы нажмете максимизировать свое окно, панель меню будет находиться на верхнем левом дисплее. Если вы хотите сохранить строку меню для программы на текущем дисплее, используйте Ctrl + Alt + KeypadNumber, чтобы поместить окно на краю, в углу или в полноэкранный режим (клавиатура 5) на текущем дисплее. Вы также можете отключить аэра-привязку к экрану, как параметры плагина Grid для CCSM.
Ниже приведена ссылка на другой пост от меня, объясняя, как настроить Настройки отображения CCSM для нескольких мониторов. Возможно, вы найдете и полезную, связанную с ней информацию.
У моего нового ноутбука большой экран 16: 9, и мне трудно использовать его в полной мере в 95% случаев, когда я не смотрю фильмы HD на нем.
Я хотел бы настроить его как виртуальный двойной экран, разделив физический экран на два рабочих пространства. Я знаю, что мог бы расположить свои окна вручную, но я бы хотел иметь возможность максимизировать окно, чтобы оно занимало только половину монитора, а его всплывающие диалоговые окна были сосредоточены на его половине экрана, такого рода вещи.
Есть ли какой-нибудь плагин для этого?
Если вы используете compiz, вы можете найти плагин сетки более простым, см. Мой ответ ниже.Вы можете использовать « fakexinerama » для достижения желаемого:
Спасибо, это работает отлично, и лучше, чем я надеялся. Мои доки, панели и плавающие окна охватывают физический экран, но развернутые и полноэкранные приложения (включая гостевые экземпляры vmware) вежливо сохраняют свою половину экрана. Я довольно новичок в Linux, так что взломать мои настройки дисплея было немного рискованно, но на самом деле не так много работы. Я документирую свои точные шаги для других любителей Linux (таких как я) в дополнительном ответе ниже. Ссылка не работает. Есть идеи, где я могу найти это программное обеспечение?Чтобы расширить совет Акиры выше по использованию «поддельной ксинерамы» Лубоса Лунака, вот как я это сделал:
- Я скачал этот файл Xinerama.c с поддельного сайта Xinerama .
- Я открыл терминал и перешел в папку, в которой я сохранил Xinerama.c.
- Я выполнил:
gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared - Я открыл nautilus (файловый менеджер gnome) от имени пользователя root, набрав Alt-F2, а затем:
gksu nautilus - Я перешел в / usr / lib, нашел libXinerama.so.1.0.0 и сделал его резервную копию.
- Я скопировал libXinerama.so.1.0.0 из моего каталога загрузки в каталог / usr / lib, переопределив там копию (которую я только что скопировал на шаге 5, так что я могу отменить это позже, если потребуется). Ясно, что было полезно отметить, что размер файла «поддельной» версии был больше (12,6 КБ), чем «реальной» версии, которую я заменял (8,6 КБ).
- Я создал новый текстовый файл с именем .fakexinerama в моем каталоге / home / dave и поместил его в него: (на основе моего физического размера экрана 1440x900)
2
0 0 720 900
720 0 720 900
Поддельный Xinerama позволяет вам определить любой вид виртуального экрана, который вы хотите, но я просто хочу вертикальный разделенный экран. Чтобы добиться этого на вашем мониторе, размер X на Y пикселей, в примере с моим файлом, просто замените 720 на X / 2 и замените 900 на Y.
Вот и все. Я вышел из системы и снова вошел.
Еще раз спасибо Lubos Lunak за создание этого мода и akira за указание на это.
Это очень помогло мне с дисплеем с тремя головами. Xinerama довольно медленно работает с тремя рабочими столами, поэтому использование этого позволило мне разместить два из них в режиме twinview без раздражающего максимизации обеих проблем и получить третий в качестве отдельного экрана X, присоединенного к twinview с Xinerama. Спасибо, что нашли время, чтобы записать шаги Дэвид!В настоящее время существует новый проект под названием FakeXRandR, который работает действительно прямо.
Время от времени я успешно использовал fakexrandr. К сожалению, мой экран становится зашифрованным, когда у меня есть xorg.conf (который мне нужен для настраиваемого разрешения для моего сверхширокого монитора). Я вынужден удалить конфигурацию fakexrandr, перезапустить X и перенастроить fakexrandr.Это инструмент для обмана сервера X11, чтобы полагать, что мониторов больше, чем есть на самом деле. Он подключается к libXRandR и libXinerama и заменяет некоторые настраиваемые конфигурации мониторов несколькими виртуальными мониторами. Инструмент, который поставляется с этим пакетом, можно использовать для настройки разделения мониторов.
Это можно сделать в XRandR 1.5 без дополнительного программного обеспечения. Хотя ни Fakexinerama, ни FakeXRandR не работали для меня в Xubuntu, это решение окончательно разделило экран на две части.
Чтобы разделить монитор, сделайте следующее:
Войдите xrandr в терминал, чтобы проверить имя выхода и текущее разрешение дисплея, который вы хотите разделить.
На моей системе результат был:
Мы видим, что мой монитор подключен к HDMI2, а разрешение установлено на 1920x1080.
Добавьте 2 виртуальных монитора с помощью xrandr --setmonitor команды, гарантирующей, что они перекрываются с вашим физическим дисплеем и расположены рядом друг с другом. Синтаксис команды (без кавычек):
Для моей системы это было:
Хотя вышеприведенное уже настроило виртуальные мониторы в моей системе, изменения не были применены до тех пор, пока я не выполнил (похоже, обновляет xrandr)
Чтобы сохранить изменения после перезагрузки, вы захотите выполнить эти команды при входе в систему. Вы можете сделать это, добавив команды в конец вашего
чтобы можно было переключаться от одной половины к другой (вероятно, чтобы было два списка окон). Т.е. по alt-tab переключаться только между окнами одной половины, а по какому-то другому сочетанию - между половинами.
Т.е. фактически я хочу использовать как бы два монитора, но у меня только один.
Без ножовки по металлу не обойтись.
Попробуй что-нибудь вроде awesome
В настройках оконного менеджера (например в компизе) есть переопределение границ мониторов.
правильно советуешь. :3
не, так только размещение окон на всём экране ограничивается, ТСу же надо разделить экран, как в тайловых манагерах окон.
Перечитал пост. Вроде в такой формулировке подходит любой менеджер окон с поддержкой переключения рабстолов. В Alt-tab и в таскбарах свой список окон на каждый стол, ctrl+alt+→ для переключения между столами.
Как бы так поделить монитор на две половины
фактически я хочу использовать как бы два монитора, но у меня только один
один монитор разделить на две части, чтобы обе были всегда видимы.
Вирт. рабстолами и правилами в оконном менеджере.
Ну точно тайлинг же
эээ, какую howto мне прочитать?
какие команды выполнить из командной строки, чтобы всё начало работать?
какими кнопками потом переключать?
сейчас стоит Ubuntu 12.10 - всё по-умолчанию
у тебя задача тоже непростая, если ты не заметил.
лол, хорошо хоть не ассемблер
Поищи уже готовые конфиги. И кстати, lua, мне, непогромисту, показался довольно простым. Научишься в процессе.
LG мониторы поставляются с программным обеспечением, которое позволяет разделить самолет на несколько виртуальных экранов (увы, только для Windows и Mac).
Мне нравится идея заменить настройку с несколькими мониторами на большую. Какие есть варианты для достижения того же результата в Ubuntu (или Linux в целом?).
Я видел несколько предложений, но их утомительно использовать на практике (например, использовать ярлык gnome для изменения размера каждого окна) и / или они имеют существенные недостатки (например, i3).
4 ответа
В Ubuntu 16.04
Вы должны быть в состоянии сделать это с помощью CCSM (CompizConfig-Settings-Manager) в Ubuntu 16.04. Ubuntu 18.04 будет использовать Gnome 3 Shell вместо Unity, Wayland вместо Xorg и Mutter вместо Compiz, которые не могут легко добиться многих приятных настроек производительности, которые дает Compiz.
- Установить CCSM: sudo apt установить compizconfig-settings-manager compiz-plugins-extra
- Перейти к общему плагину
- Перейдите на вкладку " Настройки дисплея ".
- Снимите флажок " Обнаружить выходы".
- Измените настройку в поле " Выходы", чтобы четыре разных области со смещениями добавлялись к области вашего экстремального HD-монитора. Например, 1920x1080+1920+0 означало бы, что "дисплей" имеет ширину 1920, высоту 1080 и размещен на 1920 пикселей вправо от левого края и на 0 пикселей сверху вниз.
Для монитора 4K, если вы хотите, чтобы он вел себя как четыре монитора 1080p, вы должны настроить его, как показано на снимке экрана ниже: (Удачи в поиске "отображаемых" краев с помощью указателя мыши!)
Это никогда не предназначалось для использования таким образом, поэтому, если вы нажмете максимизировать в своем окне, строка меню будет в левом верхнем углу экрана. Если вы хотите сохранить строку меню для программы на текущем экране, используйте Ctrl+Alt+KeypadNumber, чтобы поместить окно по краю, в углу или на весь экран (клавиатура 5) на текущем экране. Возможно, вы также захотите отключить функцию аэросъемки по краю экрана, как в плагине Grid для CCSM.
Терминал принадлежит к числу наиболее часто используемых инструментов администратора. Нередко во время работы приходится одновременно держать открытыми несколько вкладок терминала: одну — для управления веб-сервером, другую — для управления базой данных, третью — для копирования файлов и т.п. Когда открытых вкладок очень много, отслеживать одновременно все процессы становится трудно, и это существенно усложняет работу. Существуют специальные программы, c помощью которых можно решить проблему множественных терминалов. Они называются терминальными мультиплексорами.
Терминальные мультиплексоры позволяют одновременно работать с несколькими терминальными сессиями в одном окне. Принцип их работы заключается в следующем: терминал с множественными вкладками создается на удаленной машине; на локальной машине окно терминала делится на несколько частей, и в каждой из них могут быть запущены любые приложения и процессы. От удаленной машины можно отключиться (текущая сессия будет сохранена), а затем снова подключиться к ней и продолжать работу.
Самым известным и распространенным терминальным мультиплексором является, конечно же, GNU Screen. При всех своих преимуществах он отличается некоторым неудобством в работе. Неудачно реализована, например, операция разделения экрана на части: при отключении от текущей сессии и последующем ее возобновлении порядок расположения частей не сохраняется.
В последнее время широкое распространение получили и другие терминальные мультиплексоры, более наглядные и удобные в работе — например, tmux и dvtm, которым и посвящена эта статья.
Tmux работает под Linux и под MacOS; он включен в официальные репозитории большинства современных Linux-систем и может быть установлен при помощи стандартного менеджера пакетов.
Запустим tmux при помощи следующей команды:
В нижней части экрана появится строка состояния:
Управление всеми терминальными мультиплексорами осуществляется так: сначала нажимается так называемая префиксная комбинация клавиш, а после нее — клавиша, управляющая той или иной функцией. В tmux по умолчанию в качестве префиксной установлена комбинация Ctrl+B. Чтобы разделить экран терминала на две половины вертикальной чертой, нужно сначала нажать Ctrl+B, а затем — % (т.е. Shift+5):
Каждую из получившихся вкладок можно также разделить на две части горизонтальной чертой при помощи комбинации клавиш Ctrl+B+” (сначала нажимаем Ctrl+B, а затем — “).
Разделить окно на две части можно также при помощи команд:
(разделить на две части горизонтально)
(разделить на две части вертикально)
Чтобы перейти из одной части окна в другую, нажимаем сначала Ctrl+B, а затем — клавиши ←, ↑, → и ↓.
Чтобы создать новое окно, нажмем комбинацию клавиш Ctrl+B+C. В рамках одной сессии может быть задействовано неограниченное количество окон; каждое из них может быть в свою очередь разделено на части. Переключение между окнами осуществляется при помощи следующих комбинаций:
- Ctrl+B 0. 9 — перейти в указанное окно;
- Ctrl+B P — перейти в предыдущее окно;
- Ctrl+B N — перейти в следующее окно;
- Ctrl+B L — перейти в предыдущее активное окно (т.е. в то, из которого ранее был осуществлен переход в текущее окно);
- Ctrl+B X — закрыть окно (это можно также сделать при помощи команды exit).
Текущую сессию tmux можно прервать, нажав комбинацию клавиш Ctrl+B+D. Чтобы возобновить прерванную сессию, нужно ввести команду:
Прерванная сессия будет восстановлена; при этом все данные и процессы будут сохранены.
Эту команду можно ввести и в сокращенном виде:
Чтобы вывести на экран список сессий, нужно выполнить следующую команду:
Завершение открытой сессии осуществляется при помощи команды:
Чтобы завершить все открытые сессии одновременно, нужно ввести команду:
Рекомендации по настройке
Отображение строки состояния в нижней части экрана можно отключить. Для этого введем следующую команду:
А чтобы отключенная строка состояния отображалась снова — команду:
Можно изменить положение строки состояния и сделать так, чтобы она находилась не в нижней, а в верхней части экрана:
Цвет строки состояния изменяется при помощи следующей команды:
Dvtm (dynamic virtual terminal manager) представляет собой терминальный мультиплексор, по функциональности во многом близкий к tmux.
Он также включен в официальные репозитории большинства современных Linux-систем и устанавливается при помощи стандартного менеджера пакетов.
После запуска dvtm в верхней части экрана будет отображена строка состояния:
Управление dvtm организовано по тому же принципу, что и управление tmux. В качестве префиксной используется комбинация клавиш Ctrl+G. Понятие окна в dvtm интерпретируется совершенно иначе по сравнению с tmux. Для создания нового окна используется комбинация клавиш Ctrl+G+C. При нажатии этой комбинации экран будет разделен на две части; при этом каждая из них является отдельным окном:
При помощи той же самой комбинации клавиш можно создавать дополнительные окна:
- вертикальное (Ctrl+G T) — текущее окно расположено в левой половине экрана; все остальные окна расположены в правой половине;
- горизонтальное (Ctrl+G B) — основное рабочее окно занимает верхнюю половину экрана, все остальные окна располагаются внизу;
- режим сетки (Ctrl+G G) — экран делится на части одинакового размера по количество созданных окон;
- полноэкранный режим (Ctrl+G M) — текущее окно занимает весь экран.
Переходить от одного режима расположения окон к другому можно, нажимая омбинацию Ctrl+G+пробел.
- Ctrl+G X — закрыть текущее окно;
- Ctrl+G J — перейти в следующее окно;
- Ctrl+G K — перейти в предыдущее окно;
- Ctrl+G 0…9 — перейти в указанное окно (цифры обозначают номер окна);
- Ctrl+G L — увеличить ширину текущего окна;
- Ctrl+G H — уменьшить ширину текущего окна;
- Ctrl+G Q — закрыть все окна и выйти из dvtm.
Если ввести в текущем окне какую-либо команду, она также будет одновременно выполнена во всех открытых окнах. С помощью этой функции можно, например, осуществлять одновременную настройку нескольких удаленных серверов по одинаковой схеме.
В отличие от tmux, dvtm не поддерживает сохранения и возобновления сессий. Для этого используется dtach — вспомогательная утилита, которая обеспечивает возможность отключения от текущей сессии и последующего подключения к ней для любых консольных приложений. Устанавливается при помощи стандартного менеджера пакетов.
Чтобы получить возможность отключать сессии и снова подключаться к ним, нужно запустить dvtm под dtach:
При работе с dtach нужно явно указывать сокет, с помощью которого идентифицируется сессия. Доступ к сессии целиком и полностью определяется доступом к сокету.
Чтобы покинуть dtach, нужно нажать комбинацию Ctrl+\. Подключение к существующей сессии осуществляется при помощи команды:
Более подробная информация о dtach представлена на официальной man-странице.
В заключение приведем небольшую шпаргалку — таблицу основных команд и клавиатурных комбинаций, используемых в screen, tmux и dvtm.
Сравнительная таблица команд и клавиатурных комбинаций
Управление сессиями
Операция | screen | tmux | dvtm |
---|---|---|---|
Запустить новую сессию | screen | tmux tmux new-session tmux new-session -s [имя сессии] | Возможность сохранения и возобновления сессий не поддерживается — для этого нужно устанавливать утилиту dtach, реализующую такую возможность для всех консольных приложений. Запуск dvtm под dtach осуществляется при помощи команды: dtach -c /tmp/dvtm-session -r winch dvtm |
Подключиться к уже созданной сессии | screen -r | tmux attach tmux attach-session -s [имя сессии] tmux -a | dtach -a /tmp/dvtm-session -r winch |
Отсоединиться от текущей сессии | Ctrl+A D | tmux detach ИЛИ Ctrl+B D | Ctrl+\ |
Просмотреть список активных сессий | screen -ls | tmux ls | ps aux | grep dtach |
Удалить сессию | screen -r [имя сессии] -X quit | tmux kill-session -t [имя сессии] | — |
Удалить все сессии | Ctrl+A \ | tmux kill-server | — |
Управление окнами
Операция | screen | tmux | dvtm |
---|---|---|---|
Cоздать новое окно | Ctrl+A C | Ctrl+B C | Ctrl+G C |
Перейти в указанное окно | Ctrl+A 0. 9 | Ctrl+B 0. 9 | Ctrl+G 0. 9 |
Перейти в предыдущее окно | Ctrl+A P | Ctrl+B P | Ctrl+G J |
Перейти в следующее окно | Ctrl+A N | Ctrl+B N | Ctrl+G K |
Перейти в последнее активное окно | Ctrl+A L | Ctrl+B L | — |
Показать список всех открытых окон | Ctrl+A " | Ctrl+B W | — |
Увеличить ширину окна | — | Ctrl+B Ctrl+N→ или Ctrl+B Alt+→ (увеличивает с большим шагом) | Ctrl+G L |
Уменьшить ширину окна | — | Ctrl+B Ctrl+← | Ctrl+G H |
Воспроизводить нажатия клавиш во всех открытых окнах | - | tmux set synchronize-panes on | Ctrl+G A |
Закрыть текущее окно | Ctrl+A X | Ctrl+B X | Ctrl+G X |
Читателей, не имеющих возможности комментировать посты на Хабре, приглашаем к нам в блог.
Читайте также: