Я нахожусь на Ubuntu 12.04 и использую терминал gnome в качестве терминала по умолчанию. Мне нужно открыть другой терминал из командной строки. Я знаю, что могу сделать это с помощью gnome-терминала, но я хочу запустить команду, которая всегда открывает терминал по умолчанию, чтобы мой скрипт мог запускаться на других дистрибутивах, даже тех, которые не используют gnome.
РЕДАКТИРОВАТЬ: я хочу bash-скрипт, который открывает терминал.
xterm
доступно по умолчанию почти на всех дистрибутивах Linux, если я помню правильно.
, Таким образом, Вы могли выполнить команду в нем, в зависимости от оболочки, в которой записал сценарий с чем-то вроде этого, (пример для сценария оболочки удара)
xterm -e "sh script.sh"
Он породит новое окно оболочки и выполнит Ваш сценарий.
Согласно ответу на этот вопрос , Как я могу установить терминал по умолчанию, используемый в Единице? я написал бы сценарий его следующим образом:
eval "$(gsettings get org.gnome.desktop.default-applications.terminal exec)"
, Если требуется запустить программу в терминале, существует также свойство 'исполнительный аргумент', который указывает, что аргумент должен был выполнить что-то в терминале тем определенным терминалом. Например, когда Вы хотите выполнить 'хвост-f/var/log/messages':
CMD='tail -f /var/log/messages'
eval "$(gsettings get org.gnome.desktop.default-applications.terminal exec) $(gsettings get org.gnome.desktop.default-applications.terminal exec exec-arg) \$CMD"
'оценка' используется, потому что 'gsettings' возвращают команду и аргумент в одинарных кавычках. Это затем было бы универсальным решением для всех рабочих столов, выполняющих GNOME/единица.
Вы могли бы хотеть использовать или это сочетание клавиш CTRL + SHIFT + T
, которое открывает другую вкладку в том же окне терминала, или Вы могли бы хотеть использовать этого: CTRL + ALT + T
, который открывает другое окно терминала (не закрывая тот Вы в настоящее время используете.).