Я разламываю это на 3 отличных фазы. Встроенное микропрограммное обеспечение, где Вы узнаете об аппаратных средствах, Ядре, которое берет информацию, предоставленную встроенным микропрограммным обеспечением, и использует его, чтобы найти и загрузить драйверы, модули, в конечном счете ведя к фазе ОС, которая включает все шаги, необходимые для взятия Вас полностью к полностью под управлением пакету ОС и приложению, которое способно к предоставлению указанных услуг.
1) встроенное микропрограммное обеспечение
2) ядро
3) ОС
svc.startd
. Вы могли думать об этом как о 'прикладном уровне' процесса начальной загрузки. Это - то, где SSH запустился бы, или Apache, или Weblogic или Sendmail, или безотносительно других приложений, Вы используете. Это сервисы, которые считают требуемыми Администратором, а не требуемыми ядром, как в предыдущем маркере.Это не может быть вполне столь детализировано, как Вы надеетесь на, но это должно служить довольно хорошей основой для запущения Вас. У Oracle и других есть документы онлайн, которые входят в очень большой уровень детализации на отдельных частях процесса начальной загрузки. Хорошим началом могла бы быть Глава 7 SPARC и Начальная загрузка на базе x86, затем быстрый поиск Google 'solaris последовательность начальной загрузки' найдет Вас документами, которые можно использовать для сравнения последовательностей начальной загрузки более старых версий Соляриса к последнему выпуску.
Записи в системах crontab (/etc/crontab
) или к каталогам (/etc/cron.d
- или - /etc/cron.hourly
, и т.д.) выполненный как корень. Вероятно, имеет место, что корень не имеет способности получить доступ к дисплею данного пользователя по умолчанию.
Я предложил бы делать crontab записи с помощью способности пользователя добавить crontabs. Это может быть выполнено при помощи команды crontab -e
в оболочке вошел в систему как указанный пользователь.
Команда crontab -e
откроет текстовый редактор (обычно vi
или vim
) где можно добавить записи с помощью того же синтаксиса, который Вы использовали бы для добавления записей в системы /etc/crontab
файл.
Это учебное руководство касается основ добавления crontab записи.
Также при добавлении crontab пользователя через crontab -e
и для Вашего сценария нужен доступ к Вашему дисплею (скажите запуск GUI) необходимо будет установить переменную среды (export DISPLAY=:0.0
) так, чтобы GUI добрался, направил к требуемому дисплею.
% crontab -e
И добавьте следующую строку:
53 07 * * * export DISPLAY=:0.0;/home/username/bin/alarming
Для запущения программы GUI необходимо установить DISPLAY
переменная среды, и возможно XAUTHORITY
также. Посмотрите Открытый окно на удаленном X дисплеев (почему "Не может открыть дисплей")? для получения дополнительной информации.
~
значение Вашего корневого каталога является функцией оболочки, Вы не можете использовать его в crontab. По той же причине Вы не можете использовать HOME
. Используйте полный путь для своего корневого каталога:
PATH=/home/username/bin:/usr/bin:/bin
С ударом как Ваша оболочка, ~
на самом деле работы, потому что удар расширяется ~
в значении PATH
. Но это - причуда удара, никакая другая оболочка или другая программа не прокладывают себе путь.
Команда env DISPLAY=:0
отображает текущую среду, кроме с DISPLAY
набор к :0
. Это не полезно. Вы, по-видимому, имели в виду export DISPLAY=:0
.
Ваше расположение очень сложно. Крон разработан для повторения задач. Если Вы хотите запланировать фоновое задание только однажды, используйте в.
at 7:53 <<EOF
firefox --new-window http://www.bbc.co.uk/radio/player/bbc_world_service
EOF
В сохраняет DISPLAY
переменная среды, поэтому если Вы работаете at
команда от GUI, где Вы хотите, чтобы Firefox отобразил окно, Вы не должны устанавливать его вручную.
$ xauth extract - :0 | sudo xauth -f /root/.Xauthority merge -
Они также запускаются с другого tty, поэтому вам нужно
$ DISPLAY=:0 xclock
53 07 * * * export DISPLAY=:0.0;/home/username/bin/alarming
. Но, да, который работал.Спасибо. Идите вперед и сделайте это ответом. – Garrigus Carraig 06.04.2013, 20:34at
команда. – Garrigus Carraig 06.04.2013, 22:27