14

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

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

Я экспериментировал с терминалом xfce, и я получил некоторый способ с командой как это:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab

Но если я добавлю аргумент команды, вкладка больше не будет использоваться, когда она открывается:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab --command="cd ~/folder1"

http://docs.xfce.org/apps/terminal/command-line

В настоящее время я использую Red Hat Linux с GNOME 2.28.2.

3 ответа3

18

Вы можете сделать это, используя GNOME terminator который является отличным терминалом с возможностью, помимо прочего, разделять панели по горизонтали или вертикали.

После того, как вы установили terminator вы можете настроить профиль с желаемыми настройками (инструкции адаптированы отсюда):

  1. Запустите terminator и настройте макет, который вы хотите. Вы можете использовать Ctrl+Shift+E, чтобы разделить окна по вертикали, и Ctrl+Shift+O (это O, как в oodles, а не ноль), чтобы разделить по горизонтали. Для этого примера я создал макет с 6 панелями:

  2. Щелкните правой кнопкой мыши на окне terminator и выберите "Настройки". Когда окно настроек открыто, перейдите в "Макеты" и нажмите "Добавить":

  3. Это заполнит список макетов новым макетом:

  4. Найдите каждый из терминалов, которые вы создали в макете, и нажмите на них, затем справа введите команду, которую вы хотите запустить в них при запуске:

    ВАЖНО: обратите внимание, что за командой следует ; bash Если вы этого не сделаете, терминалы не будут доступны, так как они будут выполнять команду, которую вы даете, и выходить. Вам нужно запускать оболочку после каждой команды, чтобы иметь возможность использовать терминалы.

    После того, как вы установили все команды, нажмите "Закрыть" и выйдите из terminator .

  5. Откройте файл конфигурации terminator ~/.config/terminator/config и удалите раздел под макетами для конфигурации по умолчанию. Затем измените имя макета, который вы создали, по умолчанию. Это должно выглядеть примерно так:

    [global_config]
    [keybindings]
    [profiles]
      [[default]]
    [layouts]
      [[default]]
        [[[child0]]]
          position = 446:100
          type = Window
          order = 0
          parent = ""
          size = 885, 550
        [[[child1]]]
          position = 444
          type = HPaned
          order = 0
          parent = child0
        [[[child2]]]
          position = 275
          type = VPaned
          order = 0
          parent = child1
        [[[child5]]]
          position = 219
          type = HPaned
          order = 1
          parent = child1
        [[[child6]]]
          position = 275
          type = VPaned
          order = 0
          parent = child5
        [[[child9]]]
          position = 275
          type = VPaned
          order = 1
          parent = child5
        [[[terminal11]]]
          profile = default
          command = 'df -h; bash'
          type = Terminal
          order = 1
          parent = child9
        [[[terminal10]]]
          profile = default
          command = 'export foo="bar" && cd /var/www/; bash'
          type = Terminal
          order = 0
          parent = child9
        [[[terminal3]]]
          profile = default
          command = 'ssh -Yp 24222 cchapple@139.124.66.43'
          type = Terminal
          order = 0
          parent = child2
        [[[terminal4]]]
          profile = default
          command = 'top; bash'
          type = Terminal
          order = 1
          parent = child2
        [[[terminal7]]]
          profile = default
          command = 'cd /etc; bash'
          type = Terminal
          order = 0
          parent = child6
        [[[terminal8]]]
          profile = default
          command = 'cd ~/dev; bash'
          type = Terminal
          order = 1
          parent = child6
    [plugins]
    

В конечном итоге, когда вы запустите terminator он откроется с 6 панелями, каждая из которых запустила или выполняет указанные вами команды:

2

Чтобы запустить Terminator cd в каталог при запуске, необходимо настроить следующую команду:

cd ~/someFolder; bash

Это открывает терминал в папке cd ed.

На самом деле, Тердон упоминает об этом в своем посте, но это скрыто в его замечательном мини-учебнике. Не после того, как я понял это, я заметил, что это похоронено в его посте, поэтому я оставляю этот ответ, чтобы подчеркнуть.

0

Команда должна сопровождаться "; bash" . Отдых должен быть в соответствии с ответами Тердона https://superuser.com/a/610048

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .