У меня есть 3 разных монитора, подключенных к моему компьютеру. У меня есть 3 пользовательских макета Терминатора. До сих пор мне приходилось вручную открывать 3 разных окна Terminator, перемещать их на соответствующие мониторы, переключать их на полноэкранный режим и применять их соответствующие макеты по отдельности.
Есть ли способ, которым я мог бы автоматизировать эту задачу? Сценарий оболочки, безусловно, сможет добиться цели. Поскольку я обладаю чрезвычайно элементарными знаниями в области сценариев оболочки, может ли кто-нибудь указать мне необходимые ресурсы для этого? Или у кого-то другой взгляд на это?
Для открытия Terminator в предопределенном расположении, сначала необходимо определить расположение. Окно конфигурации может помочь Вам с этим. Можно также настроить и назвать несколько различных разметок там. Я не покрою, как сделать это и внимание на то, как запустить Терминатора с существующих разметок после входа в систему вместо этого.
Давайте запустимся простой с единственного экземпляра. Я предположу, что у Вас есть предопределенное расположение Терминатора, названное "простым макетом". Можно запустить новый экземпляр Терминатора с этого расположения со следующими параметрами командной строки:
terminator -l simple-layout
Если Вы хотите максимизируемое, полноэкранное или безграничное окно, можно использовать подходящие дополнительные опции, как описано в руководстве Терминатора (выполненный man terminator
просмотреть его).
Общий процесс объяснен экстенсивно в том, Как я запускаю приложения автоматически на входе в систему? и я не собираюсь повторять его здесь.
Однако существуют некоторые специфические особенности относительно Терминатора: Я нашел, что Терминатор только помнит свое предыдущее положение размера, когда он запускается, после того как менеджер окон полностью под управлением. Вот почему я задерживаю запуск на несколько секунд (10 в этом примере). Вместо вышеупомянутой команды я принимаю решение автоматически запустить команду:
sh -c "sleep 10 && exec terminator -l simple-layout"
sh -c
вызывает (Оболочка Bourne) интерпретатор команд, который может выполнить несколько команд в последовательности, как объяснено ниже.sleep 10
ожидает 10 секунд прежде, чем выполнить следующую команду.exec
заменяет текущий процесс интерпретатора команд последующей программой (вместо того, чтобы породить новый процесс и потратить впустую ресурсы ни по какой причине).terminator ...
– посмотрите выше.В этой точке это должно быть тривиально для повторения процесса для дополнительных экземпляров Терминатора и разметок. Я не уверен, будет ли Терминатор помнить положение каждого окна нескольких экземпляров. Если не необходимо искать вокруг или задать последующий вопрос и включать менеджер окон в вопрос, так как это влияет на ответ.