Ubuntu / Gnome: открыть приложение в определенной рабочей области

Как сообщить приложение открыть в определенной рабочей области?


Больше информации:

Мне нравится иметь мою C ++ IDE в рабочей области 2, моей Java IDE в рабочей области 3, а также мой адрес электронной почты, браузер и разное в рабочей области четыре. Я также использую скрипт оболочки, который выполняется при входе в систему:

#!/bin/bash gnome-terminal & # WS 1 netbeans-6-9-1 & # WS2 qtcreator-2-0-1 & # WS 3 firefox & # WS 4 thunderbird & # WS 4 

Конечно, в настоящее время все это открывается в текущем рабочем пространстве … Есть ли способ указать, в каком рабочем пространстве должна начинаться каждая команда?

Заранее спасибо!

3 Solutions collect form web for “Ubuntu / Gnome: открыть приложение в определенной рабочей области”

Вы можете использовать devilspie для установки правил, для которых окна идут в рабочую область.

См. Документы для примера именно этого.

Но у MrStatic есть и хорошее предложение. Сначала попробуйте это, вам даже не понадобится ваш сценарий оболочки.

Если вам нужна эта команда, которую вы можете использовать в сценарии оболочки, посмотрите на wmctrl .

Я попробовал инструмент wmctrl и обнаружил, что самым легким решением для меня было перемещение окна со следующей командой:

 wmctrl -r <WindowName> -t <WorkspaceNumber> 

Обратите внимание, что номера рабочей области начинаются с 0. В последнем случае вы можете перейти к своему рабочему пространству с помощью команды:

 wmctrl -s <WorkspaceNumber> 

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

Devilspie – хорошая идея, но это сопоставление шаблонов (т. Е. Если имя == 'google-chrome'). Итак, что произойдет, если я открою два браузера? Они оба перемещаются в одно рабочее пространство? У меня 6×3 = 18 рабочих пространств, каждый из которых имеет конкретный экземпляр хрома. Это помогло бы, если бы я мог переименовать эти программы (например, «google-chrome1», «google-chrome2» …), но я не могу найти способ сделать это. Поэтому мы должны использовать wmctrl.

Wmctrl немного лучше b / c в дополнение к использованию заголовков окон, вы также можете использовать идентификаторы окон или просто использовать текущее выделенное окно. Идентификаторы окон – это боль, чтобы получить b / c, которые они не сразу генерируют. Смотри ниже

 gedit 1.txt #get window ID by looking at wmctrl -l store in windowID wmctrl -i -r $windowID -e 0,3660,0,-1,-1 

Но затем управление не возвращается в командную строку до выхода из системы после выхода gedit. Все, что нам нужно сделать, чтобы обойти это, положить знак &

 gedit 1.txt & #get window ID by looking at wmctrl -l store in windowID wmctrl -i -r $windowID -e 0,3660,0,-1,-1 

Но теперь контроль – 99,999% времени, возвращен в командную строку ПЕРЕД оконным менеджером запускает окно, и нет способа найти идентификатор окна. Нужно настроить очень сложную технику цикла, чтобы проверить, созданы ли какие-либо новые окна, и угадать, является ли это окно, которое мы ищем.

Проверка активного окна с помощью флага :ACTIVE: имеет ту же проблему, он не дожидается завершения работы программы.

wmctrl поражает меня как очень странную программу. Похоже, он был разработан для людей без мыши или не мог физически перетаскивать свои программы по рабочим пространствам.

  • SSH аутентификация с открытым ключом не выполняется
  • Проблема с беспроводной сетью Ubuntu 9.10
  • Gedit мигает и автоматически выходит при открытии файла
  • Сбой соединения openSSH с помощью одноранговой сети
  • Печать через удаленный сервер CUPS, но просто покажите подмножество принтеров
  • Будет ли производительность моего ноутбука увеличиваться, если я перейду с Ubuntu 14.04 32 бит на 16.04 64 бит?
  • Разрешение sudo запрещено
  • Flash Player не работает в ubuntu
  • Ubuntu - Обновление до 10.04 - общая файловая система с монтированием ошибок
  • Что лучше всего переустанавливать Windows 7 при двойной загрузке с помощью ubuntu 11.04
  • Как вертикально разделить широкоэкранный экран на два виртуальных рабочих пространства на Ubuntu / Gnome?
  • Interesting Posts

    Как проверить, четное или нечетное целое?

    Удаление старого раздела XP, но это активный системный раздел

    Почему компьютер с ОС Windows сразу возвращается после спящего режима / спящего режима?

    Linux – альтернативные места для хранения файла pid вместо / var / run

    См. Доступные диски из Windows CLI?

    Список всех файлов / папок, которые пользователь может удалить? Linux

    Что такое таблица стилей пользовательского агента

    Динамическое предложение where (OR) в Linq для объектов

    Включение драйвера AMD Catalyst в Windows 8 приводит к отключению дисплея ноутбука

    КлассNotFoundException com.mysql.jdbc.Driver

    Dd создает поврежденные образы ISO на Snow Leopard (независимо от того, вызваны ли они из скрипта или оболочки)

    Как я могу увидеть визуальный оверлей клавиш быстрого доступа, которые я нажал?

    SVCHost использует 100% процессор в Windows 7

    Как однопоточная неблокирующая IO-модель работает в Node.js

    Запуск Firefox в «хромированный» режим из командной строки

    Давайте будем гением компьютера.