Я некоторое время оглядывался по сторонам и не мог найти ответ на мою следующую проблему:
У меня есть шесть рабочих столов на Ubuntu 12.04 с Unity. При запуске каждое утро я выполняю процедуру открытия одних и тех же пяти или шести программ. Я открываю каждый на определенном рабочем пространстве. Я бы хотел, чтобы это было автоматизировано. Есть ли способ, чтобы сценарий или настроить это?
Дополнительный вопрос : чтобы еще больше усложнить ситуацию, я запускаю два экрана в режиме двойного просмотра. Мне действительно нужно запускать каждую программу на определенном экране, желательно на полном экране.
unity
xorg
workspaces
x11
Jahn
источник
источник
Ответы:
Идея jdp407 об использовании compizconfig будет связывать конкретное приложение с определенной рабочей областью, чтобы КАЖДЫЙ РАЗ, когда приложение открывалось, помещалось в соответствующую рабочую область. Если это не нужно, вы можете сделать следующее:
1) Установить
wmctrl
2) Создайте файл со следующим содержимым и сделайте его исполняемым
3) Вызовите этот скрипт из
.xsessionrc
вашего домашнего каталога [если вам, возможно, придется создать этот файл], чтобы автоматизировать процесс при каждом входе в систему. Или вы можете просто позвонить из терминала, когда это необходимо. РЕДАКТИРОВАТЬ: поместите его в «Startup Applications», а не .xsessionrc. .xsessionrc будет выполняться даже до завершения загрузки среды рабочего стола.Возможно, вы захотите создать пользовательскую xsession в соответствии с предложением jdp407, чтобы у вас было на выбор две сессии, одна из которых автоматически открывает эти приложения, а другая - нет. Но это кажется ненужным для меня.
Если вы чувствуете, что переключение в рабочее пространство, открытие соответствующих приложений, а затем переключение на следующее занимает много времени, вы можете открыть все приложения за один раз, а затем переместить окна с помощью
wmctrl
. Напримерсместит окно с Firefox в его заголовке на рабочую область 1. Если существует более одного окна,
wmctrl
будет перемещено первое в списке управляемых окон . Вам нужно будет знать заголовок окон, которые будут созданы приложениями, чтобы использовать это. Вот почему я не предложил это в качестве основного варианта. Если названия будут однозначными, как в случае с наиболее часто используемыми приложениями, то это путь.Открытие приложений в полноэкранном режиме:
Некоторые приложения, такие как gnome-терминал, имеют аргументы командной строки, чтобы открыть окно в развернутом состоянии или в полноэкранном режиме. Если такие варианты существуют, используйте их. В противном случае используйте
wmctrl
следующееЭто максимизирует мое (уже существующее) окно терминала.
Это отправляет окно в полноэкранный режим.
Пройдите через
wmctrl
справочную страницу. Вы можете найти использование для большей его функциональности.источник
wmctrl
отлично работает здесь (LXDE и XFCE, композитинг через xcompgr включен)wmctrl -o X,Y
для перехода к определенному окну просмотра. Если у вас есть несколько мониторов, вы можете перемещать приложения на другой монитор с помощьюwmctrl -r "App name" -e G,X,Y,W,H
. Прекрасно работает с единством визуальных эффектов.Здесь есть две «проблемы»: первая заключается в открытии определенного набора программ при входе в систему; вторая включает их открытие в определенных рабочих пространствах. Я буду иметь дело с обоими по отдельности:
Создание пользовательского сеанса X
Это довольно легко сделать. Вам просто нужно создать X Session Script, а затем указать LightDM использовать его. Вам нужно будет знать команды для запуска нужных вам программ из терминала.
touch ~/.customxsession
и нажмите ввод.gedit ~/.customxsession
и нажмите ввод.touch /usr/share/xsessions/multi.desktop
и нажмите ввод.gedit /usr/share/xsessions/multi.desktop
и нажмите ввод.Назначение программ рабочим областям
Это также довольно просто, но для этого требуется дополнительное программное обеспечение, не установленное в Ubuntu по умолчанию.
sudo apt-get install compizconfig-settings-manager
в Терминале).Вход в систему
Когда вы входите в систему, вы должны сказать Ubuntu, что хотите использовать свой пользовательский сеанс X.
Проблемы
Довольно многое могло пойти не так, если вы допустили небольшую ошибку или я допустил ошибку при написании этого ответа. Если что-то пойдет не так, убедитесь, что вы следовали инструкциям к письму, и исправьте что-нибудь, если вы этого не сделали. Если проблема не устранена, оставьте комментарий.
~ / .Customxsession:
/usr/share/xsessions/multi.desktop:
источник
Добавьте необходимые приложения в программу StarupApplications, а затем добавьте и этот скрипт. Это мой сценарий: ManageWorkSpaces.sh
// сосредоточиться на терминале
Но я понятия не имею об обработке 2 дисплеев.
источник
wmctrl -d
, у меня только один «рабочий стол». Вы проверяли это на Unity в Ubuntu 12.10?