Я выполняю сценарий удара через пользовательский созданный сервис. При пользовательском входе в систему выполняется сценарий. Я могу проверить, что программа выполняет с PS-ef команду.
Единственная вещь, которую я хочу иметь, происходит, я хочу, чтобы Терминал открыл и отобразил вывод выполнения сценария.
Я плохо знаком с Linux. Все еще узнавание вещей. Не очень хороший опыт до сих пор.
Под управлением Ubuntu 18.04.
Позвольте мне использовать этот простой пример для демонстрации одного способа наличия сделанного:
Два сценария:
launcher.sh
, и sample.sh
Содержание сценариев:
launcher.sh
:
#!/usr/bin/env bash
gnome-terminal --working-directory="/home/georgek/Documents/askubuntu" -- '--rcfile ./setup.bash ./launcher.sh'
sample.sh
:
#!/usr/bin/env bash
du -h ./; read line;
Вызов sample.sh
от launcher.sh
как это: launcher.sh
и это передаст файл sample.sh
терминалу, примечание: эти read line
предотвращает gnome-terminal
от closig, пока Вы не нажимаете , ВВОДЯТ ключ. Измените как он, как Вам нравится.
ПРИМЕЧАНИЕ: - --
предпочтен [1 113], как сообщается ударом - --working-directory="/home/georgek/Documents/askubuntu"
, говорит терминал команде выполнения из этого каталога.
- rcfile файл Выполняют команды из файла вместо файла инициализации в масштабе всей системы/etc/bash.bashrc и стандартного персонального файла инициализации ~/.bashrc, если оболочка является интерактивной (см. ВЫЗОВ ниже).
Лучший подход должен был бы установить screen
или byobu
для более хорошего UI и запустить Ваш скрипт там:
screen -S sessionname -d -m /path/to/script
Это позволит Вам повторно прикрепить к сессии с [1 110]
screen -r sessionname
Рассмотрение того, что Вы запускаете его с systemd сервиса, Вы, возможно, должны иметь две сделанные вещи: или позвольте многопользовательскую сессию для всех или настройте отдельный доступ только для Вашего имени пользователя. Это должно будет иметь пользовательский файл конфигурации и передачу что экранировать с -c
флаг.
См. также: