Открытие нового gnome-терминала (v3.28 +) с несколькими вкладками и различными командами - PullRequest
0 голосов
/ 11 октября 2018

Кажется, что поведение gnome-терминала изменилось между версией, поставляемой с Ubuntu 14 (v3.6?) И Ubuntu 18 (v3.28).

У меня есть скрипт, который открывает новый gnome-терминал с кучей вкладок, настроенных на разные каталоги для моей разработки, и в настоящее время первая вкладка запускает скрипт.Команда для открытия gnome-терминала с помощью вкладок выглядит примерно так:

gnome-terminal \
   --tab --command="myscript.sh" \
   --tab --working-directory="<some dir 1>" \
   --tab --working-directory="<some dir 2>" \
   ...

Это прекрасно работает в версии gnome-терминала, поставляемой с Ubuntu 14 (v3.6?).

Но в версии терминала gnome, которая поставляется с Ubuntu 18 (v3.28), изменилось несколько вещей:

  1. Если я не добавлю опцию --window, вкладки в текущем гноме открываются-терминал, а не новый.К сожалению, добавление опции --window открывает начальную пустую вкладку.Можно ли открыть новое окно только с указанными мной вкладками?
  2. Теперь я получаю следующее уведомление (хотя оно работает как и раньше):

    # Option “--command” is deprecated and might be removed in a later version of gnome-terminal.
    # Use “-- ” to terminate the options and put the command line to execute after it.
    

    Изменение моегоСценарий согласно этому руководству изменяет поведение так, что команда вводится для всех вкладок, тогда как раньше я мог применить уникальную команду к каждой вкладке.Означает ли это, что возможность запуска отдельной команды для каждой вкладки устарела, или я что-то упустил?

Я ценю предложения о том, как изменить свой сценарий для поддержки старого поведения вболее новый гном-терминал.

1 Ответ

0 голосов
/ 03 января 2019

1) Используйте --window для вашей первой вкладки

gnome-terminal \
   --window -t 'Tab 1' \
   --tab -t 'Tab2' --working-directory="<some dir 1>" \
   --tab -t 'Tab3' --working-directory="<some dir 2>" \
   ...

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

2) Если вас не волнует закрытие вкладки после завершения команды, вы можете сделать это:

$ gnome-terminal --window -- ./mytabs.sh

mytabs.sh

#!/bin/bash
gnome-terminal --tab -t 'Tab 1' -- ./myscript.sh
gnome-terminal --tab -t 'Tab 2' --working-directory="<some dir 1>"
gnome-terminal --tab -t 'Tab 3' --working-directory="<some dir 2>"

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

...