Перейти к содержимому






Фотография
* * * * * 3 голосов

Автозапуск программ

Написано Fingercomp , в Tutorials, Programming in Lua, OpenComputers 05 Февраль 2017 · 3 255 просмотров

программы OpenComputers OpenOS 1.6

Если до версии 1.6 все использовали файл /autorun.lua и были довольны, то теперь ситуация несколько изменилась. Поэтому я опишу все варианты автозапуска программ в этой небольшой заметке.

 

С версии OpenOS 1.6 файл autorun.lua больше не запускается на rootfs (то есть на файловой системе работающей операционной системы). Вот все пять способов, которые можно использовать для автозапуска программ.

  • Модифицировать /init.lua.
    Это самый плохой и ужасный вариант из всех. Во-первых, программа будет запускаться до запуска шелла и инициализации библиотек, поэтому возможны краши системы. Во-вторых, если сделать ошибку в файле, то придётся переустанавливать этот файл, что не очень удобно.
  • Добавить скрипт в /boot.
    Это не такой плохой вариант, но здесь также возможны ошибки при использовании стандартных библиотек, так как бутскрипты запускаются не в самом конце загрузки.
  • Модифицировать /etc/profile.
    Это файл, каждая строка которого последовательно исполнаяется при запуске программ. Проблема в том, что при переустановке системы этот файл будет перезаписываться. Поэтому не вариант.
  • Модифицировать /home/.shrc.
    Это самый оптимальный вариант. Но программа будет запускаться при каждом запуске шелла. Если прописать exit в шелле, то программа запустится ещё раз. Если для графических всяких программ это самый лучший вариант, то для одноразовых демонов, которые регистрируют листнеры на ивенты и выходят, вариант не очень хороший, так как тогда листнеры зарегистрируются дважды.
  • Использовать систему rc.
    Подробно о ней рассказывал LeshaInc: http://computercraft...-za-zver-takoi/
    Это система, которая позволяет писать своих "демонов" — программ, исполняемых в фоне — и контролировать их из шелла с помощью команд. Графические утилиты так запускать проблематично, потому что возможны всякие артефакты отображения.
Поэтому используйте варианты 4 или 5 в зависимости от программы, которую требуется запустить.






А чем хуже чистый жёсткий диск с один init.lua? По идее его как раз и будет запускать eeprom.

Или сам eeprom переписать.

Тем, что я про OpenOS рассказываю, наверное?

Как понять модифицировать



Как понять модифицировать

Достаём с полки словарь и находим это слово. Этот даже можно.


Обратные ссылки на эту запись [ URL обратной ссылки ]

Обратных ссылок на эту запись нет