LINUX.ORG.RU

загрузка программы при старте


0

0

Здравствуйте!

Пытаюсь при старте запустить аудио-проигрыватель ( в текстовом режиме).

По манулу написал /etc/init.d/moc, вот он:

#--------------------------------------------------
#! /bin/sh
# /etc/init.d/moc
#

case «$1» in
start)
echo «Starting script moc»
mocp
;;
stop)
echo «Stopping script moc»
;;
*)
echo «Usage: /etc/init.d/moc {start|stop}»
;;
esac

exit 0
#--------------------------------------------------

добавил скрип в single-user-mode, который runlevel 1 (в следующей жизни использую какой-нибудь 3ий runlevel):

update-rc.d moc start 50 1 . stop 50 1 .

проверил симлинк в /etc/rc1.d/, перезагрузился в single-user mode - нифига :( ввёл пароль рута, команду init 1, так оно запустилось. А само - нет. Как мне сделать, чтоб при включении появилась программа mocp?


Запускать каких-либо демонов на первом ранлевеле — это _очень_ плохая идея.

Идея пользоваться ранлевелами по назначению в debian-based дистрах, впрочем, еще хуже.

nnz ★★★★
()
Ответ на: комментарий от nnz

Объясните, пожалуйста, чем плоха идея, и какая правильная.

Хочу вместо гнома запустить консольную программу. Ранлевел 1 использовал потому как grub уже настроен на два варианта - 1 и 2.

pjotar
() автор топика

Я у себя на «плеере» (отдельной машинке, выполняющей эту функцию) в inittab его прописал для первой консоли для нужного ранлевела, чтобы он в любом случае там висел и был запущен и чтобы работали кнопки клавиатуры, выведенные на переднюю панель.

YAR ★★★★★
()
Ответ на: комментарий от pjotar

rain@audioplayer:~$ grep moc /etc/inittab
1:2345:respawn:/sbin/getty 38400 tty1 -n -l /usr/bin/mocstart.sh
rain@audioplayer:~$ cat /usr/bin/mocstart.sh
#!/bin/bash

/bin/su -l rain -c /usr/bin/mocp

YAR ★★★★★
()
Ответ на: комментарий от YAR

Спасибо! Работает!

Собственно, я только заменил в inittab команду «sulogin», на «mocp».

pjotar
() автор топика
Ответ на: комментарий от pjotar

>Объясните, пожалуйста, чем плоха идея, и какая правильная.

Идея плоха тем, что на первом ранлевеле по определению не должно быть демонов, только процессы, необходимые для работы системы, и шелл рута.

Правильным решением, на мой взгляд, было бы добавление mocp на одну из консолей на ранлевелах 2-5 и чистка этих ранлевелов от всего лишнего (воспринимай 2 3 4 5 ранлевелы как один, этот интуитивно понятный ход обусловлен кривизной рук разработчиков дебиана). Первый ранлевел по определению является аварийным режимом, и использование его для других задач является ошибкой.

nnz ★★★★
()
Ответ на: комментарий от nnz

Вообщем сделал runlevel 3 без gdm, поставил его дефолтным в grub.

Фраза «воспринимай 2 3 4 5 ранлевелы как один» меня поначалу напугала... Они ни сколько не один, а шаблоны для создания разных режимов.

pjotar
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.