You are here: Foswiki>Gnumed Web>GmManualCustomizingClientStartupRu (04 Feb 2013, IvanLykov)EditAttach

Настройка запуска и отключения клиента GNUmed

Имеется несколько встроенных обработчиков для настройки процесса запуска/завершения. Это дополнение к любым пользовательским файлам сценариев/пакетов shell, в которых для запуска клиента и/или освоенного исходного кода Python для достижения любого необходимого поведения.

Запуск

командная строка shell

Клиент GNUmed принимает несколько опций командной строки. Они описаны на странице руководства man. Параметры передаются в сценарий пускателя shell /usr/bin/gnumed и, в конечном итоге, в сценарий пускателя Python gnumed.py.

В частности, может быть удобно использовать --conf-file для указания использования файла конфигурации, кроме используемого GNUmed по умолчанию. Этот вопрос рассматривается далее в GmManualConfigFiles.

Пускатель сценария shell: /usr/bin/gnumed

Клиент, обычно, запускается сценарием shell /usr/bin/gnumed, который включен в tar-архив релиза. Этот сценарий ищет

  • /etc/gnumed/gnumed-startup-local.sh
    • можно использовать для "локальной" общесистемной настройки

  • ~/.gnumed/scripts/gnumed-startup-local.sh
    • можно использовать для пользовательской настройки

и выполняет их (в таком порядке), если они существуют. Оба сценария могут сделать все, чтобы выполнить пользовательский пуск /usr/bin/gnumed (если только он не root). GNUmed, как проект, никогда не будет перезаписывать эти файлы (но ваш менеджер пакетов время от времени может предоставлять обновленные /etc/gnumed/gnumed-startup-local.sh).

Пускатель сценария Python: gnumed.py

При вызове этого скрипта клиент запускается, как таковой. При запуске предусмотрено два обработчика настройки:

  • средство startup-before-GUI
    • вызывается до инициализации GUI wxPython

  • средство startup-post-GUI-init
    • вызывается после инициализации GUI wxPython, но до того, как управление потоком будет передано для пользовательского ввода

Среди прочего, подключение к бэкэнду (который также может быть настроен) происходит между этими двумя обработчиками.

другая настройка клиента запуска (плагины, рабочие места)

Дополнительные настройки могут включать выбор плагинов, которые должны загружаться из панели инструментов GNumed, и их порядок. Это рассматривается далее WorkPlaces.

загружаемый виджет: Gnumed/wxGladeWidgets/

Код пускателя клиента GNUmed gnumed.py проверяет директорию ~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/wxGladeWidgets. Если она существует, он будет доступным для импорта всякий раз, когда GNUmed импортирует код из пакета Gnumed.wxGladeWidgets. Некоторые условия должны выполнять:

  • права доступа ~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/wxGladeWidgets должны быть 0700 (rwx------)
  • никакие другие файлы или директории, кроме wxGladeWidgets, __init__.py, и __init__.pyc не могут быть в ~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/
  • (пустые) файлы __init__.py должны иметься в ~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/ и ~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/wxGladeWidgets/

Путь CLIENT_BRANCH существует для размещения с ветвью, в которой кто-нибудь захочет переопределить виджеты wxGlade, потому что может понадобится разный код между ветвями.


Завершение

Во время выключения вызывается обработчик shutdown-post-GUI, когда закрыт GUI wxPython.
Topic revision: 04 Feb 2013, IvanLykov
 
Download.png
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
Powered by Olark