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

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

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

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

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

Спасибо

0
задан 14 April 2021 в 10:42

2 ответа

Ваш синтаксис как таковой правильный. Разработчики 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
...

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

0
ответ дан 23 April 2021 в 23:23

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

0
ответ дан 23 April 2021 в 23:23

Другие вопросы по тегам:

Похожие вопросы: