С помощью модуля запуска для приложения терминала, как я могу держать терминал открытым после завершения программы?
24
У меня есть команда терминала, которую я запускаю из панели запуска приложений. Это прекрасно работает, однако иногда команда не выполняется, поэтому я хотел бы, чтобы терминал оставался открытым, чтобы я мог видеть результаты. Как я могу это сделать?
Предполагая, что ваша команда называется mycommand , я бы изменил мой модуль запуска для запуска этого:
gnome-terminal -e "mycommand|less"
Если вы хотите более постоянное, возможно, более чистое решение, откройте gnome-терминал, перейдите в меню «Правка», «Параметры профиля» и перейдите на вкладку «Заголовок и команда». Измените параметр «Когда команда выходит» на «Держать терминал открытым».
Когда вы выполняете команды, он должен оставить терминал открытым, когда что-то запускается.
Редактировать: Если вы действительно не заботитесь о терминале, вы можете просто использовать флаг удержания xterm:
Чтобы сохранить действие терминала по умолчанию «при выходе из команды», я предлагаю создать новый профиль терминала, оставить его открытым после выхода команды и передать --tab-with-profile=PROFILENAMEопции gnome-терминал . Вы можете иметь много профилей для разных поведений таким образом :-)
инвертировать
1
xterm -hold -e mycommand
8
Ваш лаунчер запускает скрипт правильно?
В конце вашего сценария добавьте
read -p "Press any key to exit > " -n1 junk
echo
Тогда ваш сценарий будет ждать, пока вы не решите его завершить.
Немного отличается от других ответов: запустите команду и, если это не удастся, создайте оболочку. Таким образом, вам не нужно держать терминал открытым (что не различает успех или неудачу команды), и вы можете найти эту оболочку особенно полезной при сбое. Чтобы закрыть его, просто используйте Ctrl-D (EOF), «выход», Alt-F4 (или все, что ваш оконный менеджер использует для закрытия окон) и т. Д.
Этот ответ дает лучший ответ, который я когда-либо видел, делать то, что вы хотите. Они рекомендуют создать скрипт с командами для выполнения и использовать его с параметром --init-file (специфично для bash, но вы, вероятно, могли бы сделать то же самое для csh / tcsh / zsh и т. Д.):
#!/bin/bash --init-file
commands to run
... и выполнить его как:
xterm -e /path/to/script
# or
gnome-terminal -e /path/to/script
# or
the-terminal -e bash --init-file /path/to/script/with/no/shebang
Формат: watch -n60 myCommandилиwatch -n60 "my command string"
-nуказано количество секунд ожидания между вызовами МояКоманды ; Пример : вышеупомянутая команда будет вызывать myCommand каждые 60 секунд, навсегда.
Если команда из нескольких слов, поставить его в двойные кавычки: "my command string".
Допустим, вы хотите Launcher, который отображает использование диска и остается открытым для просмотра читателем. Я бы просто использовал эту команду внутри Launcher:, watch -n60 "df -h"которая df -hтеперь вызывается каждые 60 секунд.
Мне больше нравится этот ответ, gnome-terminal -e "mycommand|less"потому что я использую Xubuntu, который по умолчанию использует другой терминал.
--tab-with-profile=PROFILENAME
опции gnome-терминал . Вы можете иметь много профилей для разных поведений таким образом :-)xterm -hold -e mycommand
Ваш лаунчер запускает скрипт правильно?
В конце вашего сценария добавьте
Тогда ваш сценарий будет ждать, пока вы не решите его завершить.
источник
command || read -n1 -p "Command failed. Press any key to exit..."
В вашем ярлыке .desktop используйте это
После того, как ваш скрипт завершится, процесс Bash заменит себя новым вызовом самого себя.
Если вам нужно передать аргументы в кавычках в ваш скрипт, вы должны экранировать кавычки:
источник
Немного отличается от других ответов: запустите команду и, если это не удастся, создайте оболочку. Таким образом, вам не нужно держать терминал открытым (что не различает успех или неудачу команды), и вы можете найти эту оболочку особенно полезной при сбое. Чтобы закрыть его, просто используйте Ctrl-D (EOF), «выход», Alt-F4 (или все, что ваш оконный менеджер использует для закрытия окон) и т. Д.
Успех или скорлупа
Поместите этот файл где-нибудь, например, ~ / bin, затем используйте «success-or-shell your original command» в своей панели запуска.
источник
Этот ответ дает лучший ответ, который я когда-либо видел, делать то, что вы хотите. Они рекомендуют создать скрипт с командами для выполнения и использовать его с параметром --init-file (специфично для bash, но вы, вероятно, могли бы сделать то же самое для csh / tcsh / zsh и т. Д.):
... и выполнить его как:
источник
Используйте
watch
команду.Формат:
watch -n60 myCommand
илиwatch -n60 "my command string"
-n
указано количество секунд ожидания между вызовами МояКоманды ; Пример : вышеупомянутая команда будет вызывать myCommand каждые 60 секунд, навсегда."my command string"
.Допустим, вы хотите Launcher, который отображает использование диска и остается открытым для просмотра читателем. Я бы просто использовал эту команду внутри Launcher:,
watch -n60 "df -h"
котораяdf -h
теперь вызывается каждые 60 секунд.Мне больше нравится этот ответ,
gnome-terminal -e "mycommand|less"
потому что я использую Xubuntu, который по умолчанию использует другой терминал.источник
Попробуйте щелкнуть правой кнопкой мыши на панели запуска и ввести свойства.
Должна быть возможность держать окно терминала открытым
В файле .desktop должна быть запись
X-KeepTerminal=true
источник