Кристиан Хергерт, разработчик на Red Hat който е работил в интегрираната среда за разработка на Gnome Builder, представи нов пилотен проект, наречен "Бонсай" който има като основен фокусще се управлявам като a решение на проблема със синхронизирането на съдържанието на различни устройства с помощта на Gnome.
Потребителите могат да използват Bonsai, за да свържат множество устройства с Linux в домашната си мрежа когато имат нужда от достъп до файлове и данни от приложения на всички компютри, но не искат да прехвърлят данните си към облачни услуги на трети страни.
Бонзай трябва да работи подобно на личен облак.
Bonsai е демон и споделена библиотека за предоставяне и консумиране на лични облачни услуги. Целевата аудитория са потребители на работния плот на GNOME с множество устройства, за които искате да синхронизирате съдържанието си.
За бонсай
Bonsai включва фоновия процес на bonsaid и библиотеката с функции libbonsai за предоставяне на подобни на облак услуги.
Процесът на заден план може да бъде стартиран на основната работна станция или на мини компютър Raspberry Pi постоянно се свързва с безжичната мрежа и с устройство за съхранение на данни, което работи постоянно в домашната мрежа.
Библиотеката се използва, за да направи приложенията на GNOME достъп до услугите на Bonsai, използвайки API на високо ниво.
За комуникация с външни устройства (други компютри, лаптопи, телефони, устройства на Internet of Things), предлага се помощната програма bonsai-pair, която позволява генериране на маркер за да се свържете с услуги. След свързването се организира шифрован канал (TLS) за достъп до услуги, използващи сериализирани заявки за D-Bus.
Бонсай не се ограничава само до споделяне на данни y може да се използва и за създаване на обекти, достъпни за множество системи с поддръжка за частична синхронизация между устройства, транзакции, вторични индекси, курсори и възможност за прилагане на специфични локални промени към всяка система върху обща споделена база данни.
Съхранение на общи предмети тя се основава на GVariant API и LMDB.
Приложенията са много по-добри, когато могат да комуникират между устройства. Следователно, библиотека за обект на достъп до данни, с подходящо име libbonsai-dao, осигурява сериализиращо се съхранение на обекти на базата на GVariant и LMDB.
Поддържа първични и вторични индекси, заявки, курсори, транзакции и инкрементална синхронизация между устройствата. Той има способността да променя местните промени на промените, изтеглени от основното устройство на бонсай.
В момента се предлага само една услуга за достъп до хранилището на файлове, но в бъдеще се планира да се внедрят други услуги за достъп до поща, планиране на календари, бележки (чакащи задачи), фотоалбуми, музикални и видео колекции, система за търсене, архивиране, VPN и др
Например, като използвате Bonsai на различни компютри в приложенията на Gnome, можете да организирате работа със синхронизиран планиращ календар или обща колекция от снимки.
Същоs Кристиан Хергерт споменава, че услугата в момента не е сигурна, но ще работи в движение, за да може да изолира приложенията и да подобри тази част, за да направи услугата безопасна.
По-специално, ние трябва да дадем на разработчиците страхотни инструменти за изграждане на приложения, които естествено поддържат синхронизиране на устройства.
Това, което изградих, за да експериментирам с всичко това, е бонсай. Това е страхотен експеримент на този етап, но става достатъчно интересен за сътрудничество с други, които искат да се присъединят към мен.
Как да получите и инсталирате бонсай?
По отношение на проекта, за тези, които се интересуват от това как работи, опитайте или погледнете неговия изходен код, трябва да знаете, че проектният код е написан на C и е под лиценза GPLv3. Това може да се получи от Gitlab В следващия линк.
Изграждането на пакета може да стане с помощта на Meson.
git clone https://gitlab.gnome.org/chergert/bonsai.git cd bonsai/ meson build --prefix=/opt/gnome --libdir=lib cd build/ ninja ninja install
Ако искате да научите повече за тази услуга, можете да се консултирате с оригиналната публикация в следваща връзка.