5. Все це завантажується в консоль за допомогою init.d-скрипта так, щоб користувач не мав змоги вийти за межі GTK-програми.
Якщо все це можна зробити з GTK, підкажіть, як? PHP взяв як мову, яку більш-менш знаю (хоча заради такої справи ладен вивчити Python). Чи може проблема в тому, що я за це взявся?
Що варто почитати:Міжпроцесова взаємодія. Семафори, пайпи, іменовані пайпи. З вашого посту я роблю висновок, що ви про це нічого не знаєте. Окрім сигналів.glib, в основному gobject, де імплементовано API для роботи з багатопотоковими графічними інтерфейсами.php-біндінги мені не знайомі, тому можу порадити або pygtk, або gtkmm (якщо не бажаєте писати на C).
Враховуючи те, що графічне середовище (програма) для користувача вже є (написана на Pithon'і з вихідними кодами), плюс виробник термометрів підтримує зняття інформації на Пітоні, то буду вчити Пітон.
class UI_Thread(threading.Thread): def __init__(self, args): self.args = args super(UI_Thread, self).__init__() def ui_handler(self): # # Do some UI stuff here # pass def run(self): gobject.idle_add(self.ui_handler, self.args)
Щодо міжпроцесової взаємодії... не знаю всіх деталей проекту, але (для загального випадку) можу запропонувати fifo. Працювати так само як і зі звичайним файлом. Що даже зручно.
І взагалі на PyRo можна зробити так, що термометр буде собі окремим клієнт-сервером, до якого можуть собі чіплятись клієнт-сервери (для обміну внутрішніх повідомлень).
Може бути й інша рахітектура (в залежності що курити і в яких кількостях).
Вже реалізовано: D-Bus.
Щодо ґуя, то для Python єдиний wxPython (для wxWindows) найкращий, бо крім X11 ще-й паше на OSX та віндах (без X11) та додаткових бубнотанців.