Причина, по которой сценарий имеет такое поведение, заключается в том, что OpenSuse 12.3 заменил старый sysvinit на systemd, систему управления системой, которая контролирует весь процесс загрузки.
Формат скрипта, описывающего сервисы, которые должен запускать systemd, отличается от формата sysvinit, поэтому неудивительно, что ваш скрипт не работает. Как только скрипт правильно настроен, его работа через systemctl становится тривиальной:
sudo systemctl enable/disable your-service
включает или отключает его, и, как правило,
sudo systemctl start/stop/status your-service
запускает, останавливает, запрашивает его статус.
Типичный скрипт нестандартного сервиса находится в папке /etc /systemd /system, заканчивается суффиксом .service и имеет следующий формат:
[Unit]
Description=sdbarker.com Chiliproject
Requires=mysqld.service nginx.service
Wants=mysqld.service nginx.service
[Service]
User=www-data
WorkingDirectory=/path/to/chiliproject/install
ExecStart=/usr/bin/bundle
PIDFile=/path/to/chiliproject/install/tmp/pids/server.pid
[Install]
WantedBy=multi-user.target
Как видите, большинство записей говорят сами за себя. Не зная больше о вашем скрипте, я не могу оказать дополнительную помощь, но вы найдете на этой странице Arch Linux Wiki информацию, необходимую для написания правильного скрипта пользовательского сервиса.