Запуск Альтератора
alterator -c <layout> -l ...
Параметры:
- -c <layout> выбрать режим работы, layout
- -l режим отладки (добавление ./ к директориям, ALTERATOR_DATADIR, ALTERATOR_LIBDIR, не-демонизирование в layout'е configd)
Также сделаны скрипты типа alterator-cmdline, alterator-standalone, acc, configd и т.д., просто вызывающие alterator -c <соответствующий layout>.
Для поиска файлов Альтератор использует две директории: ALTERATOR_DATADIR и ALTERATOR_LIBDIR. В соответствующие переменные окружения можно записывать несколько директорий через “:". Если переменные пусты – устанавливаются значения по умолчанию (/usr/share/alterator и /usr/lib/alterator), если дан ключ -l, к ним спереди добавляется ".". Исключение — поиск desktop-файлов – только в /usr/share/alterator. См. также текст про отладку модулей.
Кроме того, configd.layout использует переменную окружения ALTERATOR_HTMLDIR (по умолчанию /var/www) — для поддержки старых модулей с template-* backend'ами, шаблоны которых лежат в /var/www...
Layout'ы — список
см. /usr/share/alterator/layouts/
- configd — HTML интерфейс с выбором модулей через меню
- acc — QT-интерфейс с выбором модулей через меню
- wizard — QT-интерфейс с последовательностью модулей
- standalone — QT-интерфейс для показа одного модуля
- cmdline — общение с модулями через command line
- autoinstall
- configd-cmdline — Дать команду работающему configd (для перезапуска ahttpd из-под alterator-ahttpd)
- fbi-stdin — для alterator-ovz
- attach
Layout'ы — устройство
Каждый layout собирает несколько модулей на шину woo-bus (см transport.scm)
Команды на шине: woo.scm. Описание команд (не всех).
- configd.layout:
- (server-socket «/var/run/configd/.sock» “root” “_configd”)
- (configd) — заполнение html-шаблонов и обработка запросов от ahttpd
- (ensign) — общение с бекэндами
- acc.layout:
- (pipe-in «/usr/bin/alterator-browser-x11») — (через /etc/alternatives – на /usr/bin/alterator-browser-qt)
- (lookout) — работа с qt-frontend'ами
- (ensign) — общение с бекэндами
- — acc.smap
- wizard.layout
- (pipe-in «/usr/bin/alterator-browser-qt» «/tmp»)
- (lookout)
- (logfile «/tmp/wizard.log»)
- (ensign) — общение с бекэндами
- — wizard.smap
- standalone.layout
- (pipe-in «/usr/bin/alterator-browser-x11»)
- (lookout)
- (ensign) — общение с бекэндами
- — (define-operation add-view)
- — standalone.smap
- cmdline.layout
- (cmdline-in (option-ref options '() '()))
- (ensign) — общение с бекэндами
- autoinstall.layout
- (autoinstall *profile*)
- (ensign) — общение с бекэндами
- configd-cmdline
- (lambda (cmds next) (write (next (list (cons “woo” (option-ref options '() '() ))))) (newline))
- (client-socket «/var/run/configd/.sock»))
- fbi-stdin
- (std-in #t)
- (css-embed)
- (client-socket «/var/run/configd/.sock»))
- attach.layout
- (pipe-in «/usr/bin/qtbrowser») — gate to qtbrowser
- (client-socket) — gate to other alterator
qtbrowser, alterator-browser-qt, alterator-browser-x11 — одно и тоже :)
Таким образом, на шине встречаются следующие штуки:
- (ensign) — общение с бекэндами ensign. Через ensign/backend3.scm — работа с backend3, ensign/midshipman.scm — работа с backend2
- (lookout) — работа с qt-frontend'ами
- (server-socket “<socket name>" “<user>" “<group>") — создать сокет (transport/server-socket.scm)
- (client-socket «/var/run/configd/.sock»))
- (configd) — заполнение html-шаблонов и обработка запросов от ahttpd
- (pipe-in «/usr/bin/alterator-browser-qt» «/tmp»)
- (logfile «/tmp/wizard.log»)
- (cmdline-in (option-ref options '() '()))
- (autoinstall *profile*)
- (lambda (cmds next) (write (next (list (cons “woo” (option-ref options '() '() ))))) (newline))
- (std-in #t)
- (css-embed)
- (pipe-in «/usr/bin/qtbrowser») — gate to qtbrowser