如何构建 ubuntuone-client 以使其不依赖于 nautilus 和 gnome

如何构建 ubuntuone-client 以使其不依赖于 nautilus 和 gnome

基本上,我想构建 ubuntuone-client,使其不具有 nautilus 和 gnome 相关的依赖项。这可以做到吗?如果可以,怎么做?

答案1

Ubuntu One 文件同步守护程序ubuntuone-syncdaemon和相关的命令行实用程序u1sdtool都是 Python 程序,因此不需要传统意义上的“构建”(ubuntuone-client需要构建的部分是 nautilus 扩展(您不需要它)及其使用的图标)。运行时u1sdtool只需通过 dbus 进行通信syncdaemon,并且syncdaemon对 Ubuntu 桌面提供的一些服务的依赖性非常窄,而且仅通过 dbus 进行通信(因此理论上您可以使用提供相同 API 的其他服务来满足依赖性)。

您需要在会话总线上提供一些org.freedesktop.Secret.Session相关接口。这是由 使用的ubuntu-sso-client,它由 用来syncdaemon提供所需的凭据。

您可能还希望系统总线上提供某些功能org.freedesktop.NetworkManager(通常是网络管理器本身)来告知syncdaemon您是否已连接到网络。然而,这并不是必需的。

您还需要以下 Python 库:configgluedbus(显然)、、、、、、oauth和(pyinotify这又依赖于上面的一些内容以及simplejson) 。twisted您也可以选择拥有、以及一些我假设您不会拥有的 Unity 相关内容。xdgubuntuone.storageprotocolprotobufpynotifyzeitgeist

祝移植顺利,如果我忘记了什么或者你遇到了困难,请告诉我们!

相关内容