Запустите скрипт при старте в терминальном окне (и держите его открытым), используя стартовые приложения (20.04)
================================================================================================================

Я пытаюсь получить сценарий для запуска при старте с помощью Startup Applications. Я хочу, чтобы он выполнялся в терминальном окне (и оставался открытым). Это контрольный скрипт. 

Мне удалось заставить окно терминала открыться при запуске без команды "gnome-terminal", но я не могу получить синтаксис --command правильно, и я не вижу ошибок, если окно не открывается, когда оно неправильно. 

gnome-terminal --command /path/to/script.sh

Кто-нибудь может исправить то, что я делаю неправильно?

Спасибо

 

 Ваш синтаксис как таковой правильный. Разработчики Gnome указывают, что они удалят его, и теперь выступают за использование  `-`  для завершения всех параметров, чтобы все, что было после этого, оценивалось как команда. Этот синтаксис будет  `gnome-terminal - /path/to/script.sh`. Однако они забыли, что этот новый синтаксис не позволяет вам открывать сразу несколько вкладок или окон, например для автоматического подключения к разным  `ssh`  серверам при запуске. 

 Почему вы не видите терминал, это означает, что ваш скрипт высвобождает приглашение терминала сразу после его запуска. Это могло произойти, если скрипт запускает процессы в фоновом режиме. Если вы хотите, чтобы терминал оставался открытым, добавьте инструкцию «bash» или что-нибудь вроде  `read -n 1 -s -r -p «Нажмите любую клавишу, чтобы продолжить»` . Вы можете добавить это в сценарий или в качестве второй команды, как в  `gnome-terminal - /path/to/script.sh; bash` . 

 Другой способ добиться этого из стартовой программы запуска не отображается в пользовательском интерфейсе: вам нужно отредактировать программу запуска .desktop вручную. Он находится в папке  `.config / autostart` .С помощью этого метода вы только вводите путь к исполняемому сценарию в качестве команды, но указываете, что он должен запускаться в терминале: 

```
...
Exec=/path/to/script.sh
...
Terminal=true
...

```

 При обоих подходах этот терминал закроется после завершения сценария. 

 

 Просто запустите  `gnome-terminal - /path/to/script.sh` внутри другого gnome-terminal, чтобы узнать, что происходит. Параметр  `- команда`  устарел. Также убедитесь, что ваш файл сценария имеет правильные разрешения  `chmod u + x YourScriptFileName.sh`  и что ваш сценарий имеет shebang  `#! / Bin / bash` .