2016-06-09 2 views
2

Я пытаюсь сделать сценарий bash для запуска другого сценария bash в новом окне терминала.Скрытие окна при открытии его из сценария bash

Я использовал команду:

sudo gnome-terminal -e "bash file_name.sh" 

Это работает, как я хочу его. Но я хочу скрыть открывшееся второе окно терминала. Я попытался работать в фоновом режиме, используя &, но он не работает, как я хочу. Я хочу, чтобы окно терминала было скрыто.

Есть ли способ установить окно терминала, чтобы оно не отображалось?

+0

Не могли бы вы объяснить, почему вам нужно еще одно окно, но это должно быть скрыто? Это кажется интуитивно понятным и может быть проще решить вашу проблему. Кроме того, что вы подразумеваете под скрытым? Минимизация? – Aaron

+0

Я хотел бы указать вам в сторону ресурсов X, которые могут позволить вам назначить класс (или то, что он называется) в новое окно терминала gnome и указать либо его минимизацию, либо положение/размер, что делает его " невидимый "- не может опубликовать точный ответ, хотя, и вы можете указать, почему вы хотите сделать это вообще, может быть более эффективным. Ах, я просто вижу, что вы можете указать геометрию для gnome-терминала с помощью' --geometry = GEOMETRY (См. X manpage), который позволит вам позиционировать/размер окна далеко от пути пользователя. –

+0

@Aaron У меня есть второй код, который соединяет меня с сервером, его сценарий ожидания (для имени пользователя и пароля), но я спросил в случае bash, причина тогда вопрос был бы более общим. Сценарий ожидания должен быть открыт в новом терминале, так как я не могу выполнять дополнительные команды в моем исходном терминале, потому что я должен оставаться подключенным к серверу, когда выполняю другие команды в своей исходной оболочке. – Anubhabchak

ответ

1

Вы можете использовать поЬир, чтобы запустить процесс в фоновом режиме:

$ sudo nohup ./file_name.sh & 

Там будет новый процесс для выполнения file_name.sh, выход будет записан в nohup.out.

1

Хорошо, что я понял о Linux и необязательной команде «&», это уже то, что вы называете скрытым. Вы можете пропустить команду «disown», чтобы вы могли запускать код в фоновом режиме, имея возможность закрыть оболочку.

запустить его в фоновом режиме:

command & 

затем запустить:

disown 

и закрыть терминал.

Вы можете остановить приложение с поддержкой Ctrl + z, а затем запустить его в фон (переднем плане) с помощью команды bg (fg).

Вы можете прочитать здесь источник на Ubuntu Форум: "How to hide terminal window?"

Смежные вопросы