Использование скрипта для автоматического запуска программы при загрузке системы (linux, shell)

Вот ситуация, я планирую использовать простой скрипт для запуска вызова программы "STAF", когда система Suse полностью загружена. Я добился этого, поместив его в «/etc/init.d/», но этот скрипт в основном выполняется в фоновом режиме, а это означает, что я не могу видеть его ход.

Когда «STAF» запускается таким образом, он работает, но не показывает никакого рабочего прогресса при работающей службе (например, ping или резервное копирование системы), вместо этого, если я запускаю «STAF» вручную, запустив тот же скрипт с терминал, ход работы "STAF" можно увидеть на терминале. Это похоже на то, что программу нужно запускать с помощью интерактивного терминала, но как я могу сделать этот процесс запуска автоматическим, и он должен имитировать открытие терминала человеком и запуск скрипта?

Извините, если я плохо объяснил, потому что это запутанная ситуация. Спасибо.


person Daniyal    schedule 13.09.2012    source источник


Ответы (2)


Сначала перейдите к параметрам запуска и завершения работы KDE в разделе «Системные настройки». Затем добавьте эту команду в качестве нового сценария запуска:

konsole -e bash nameofyourscript.sh 
person Linuxios    schedule 13.09.2012
comment
извините, не могли бы вы объяснить параметры запуска и завершения работы KDE в разделе «Системные настройки», вы говорите о папках rc.d или? Благодарность - person Daniyal; 13.09.2012
comment
@Daniyal: нет, это не rc.d. Зайдите в приложение системных настроек и в категории «Запуск и завершение работы» вы найдете его. - person Linuxios; 14.09.2012
comment
спасибо за совет, поскольку я использую openSuse, я не думаю, что у меня есть параметры запуска и завершения работы KDE, он использует gnome, и мне интересно, есть ли что-нибудь эквивалентное для gnome? Спасибо! - person Daniyal; 14.09.2012
comment
Извините, что не проверил должным образом, прежде чем комментировать, я нашел настройки автозапуска. Сначала я использовал gnome-terminal -e... и он запустил новый терминал после загрузки, но это не сработало, затем я попытался просто поместить /mySTAFStartScript на вкладке команд и знаете что, это сработало! ! Большое спасибо за вашу помощь, и я надеюсь, что у вас есть хороший день! :) - person Daniyal; 14.09.2012
comment
@Daniyal: конечно, рад, что смог помочь. - person Linuxios; 14.09.2012

Я считаю, что утилита screen может делать то, что вы описываете. Вместо запуска STAF при запуске вы должны запустить screen STAF. Чтобы открыть этот терминал, вы должны запустить screen -ls, чтобы получить идентификатор экрана, и screen -r ..., чтобы открыть его.

(Отказ от ответственности: я не пробовал это.)

person ruakh    schedule 13.09.2012