问题描述
我在某处看到Ubuntu One只在Ubuntu上运行,这是一个惊喜(我想这只是一个官方立场)。在Debian上运行它需要什么?
最佳解决思路
只是为了记录,你可以在任何你想要的地方运行Ubuntu One,但我们没有资源来测试它并让它在任何地方都能顺利运行。
话虽如此,Ubuntu One由几个部分组成;在Debian中运行最有问题的是syncdaemon,我认为这就是你的意思;假小子,desktopcouch和funambol插件应该不是问题(至少,没有特定于Debian的问题:-))。
@ajmitch正在努力将syncdaemon(“ubuntuone-client”)包装到Debian中。
同时,你可以让它运行。一些库的版本略微偏离挤压,因此现在需要一些修补。以下是您在”running”的最基本版本中可以执行的操作(从安装了’desktop’任务的基本安装开始):
sudo apt-get install bzr python-lazr.restfulclient python-oauth python-pyinotify python-protobuf gnome-common gobject-introspection xutils-dev libnautilus-extension-dev libgconf2-dev libebook1.2-dev gnome-settings-daemon-dev python-twisted-names python-libproxy python-distutils-extra python-setuptools
mkdir ~/u1; cd ~/u1
bzr branch lp:ubuntuone-client/stable-1-4 client
bzr branch lp:ubuntuone-storage-protocol/stable-1-4 protocol
bzr branch lp:ubuntu-sso-client/stable-1-0 sso
bzr branch lp:configglue
sed -i~ -e 's/Spinner()/Label("...")/; /spinner.start/D' sso/ubuntu_sso/gui.py
(cd protocol; python setup.py build)
(cd client; ./autogen.sh --with-protocol=../protocol --with-sso=../sso --prefix=/usr; make)
PYTHONPATH=sso sso/bin/ubuntu-sso-login &
PYTHONPATH=configglue:sso:client:protocol client/bin/ubuntuone-syncdaemon client/data/syncdaemon.conf --debug
PYTHONPATH=sso:client client/bin/u1sdtool -c
虽然上面的syncdaemon在线和同步(假设你正在使用网络管理器),它不包括dbus激活和nautilus集成,这有帮助。如果你想要那些,你可以试试
(cd sso && sudo python setup.py install --prefix=/usr)
(cd configglue && sudo python setup.py install --prefix=/usr)
(cd protocol && sudo python setup.py install --prefix=/usr)
(cd client && sudo make install)
sudo mkdir /etc/xdg/ubuntuone; sudo cp client/data/syncdaemon.conf /etc/xdg/ubuntuone
这应该使整个堆栈工作。如果您收到导入错误,请检查dist-packages
中是否安装了内容,而不是site-packages
(如果它们位于后者中,请移动它们:-))
看到? One-click安装。
次佳解决思路
您需要ubuntuone-client
和ubuntu-sso-client
(单点登录)及其各种依赖项。它主要是python,因此只需拖动包就不会有任何二进制兼容性问题。
但您可以在此处开始跟踪依赖项:http://packages.ubuntu.com/maverick/ubuntuone-client
问:为什么不给出将Ubuntu存储库添加到Debian的说明呢?
答:除非你找到一个只需要所需东西的PPA,否则最终可能会将一大堆软件包替换(读取:升级)到事情变得非常不稳定的程度。只需要提供你需要的东西就更安全了。
像apt-get install --no-install-recommends ubuntuone-client
这样的东西不起作用,因为只要你将Ubuntu存储库添加到Debian安装,就会尝试将所有软件包升级到最新版本。如果Maverick仓库中的任何软件包比该系统上使用的Debian repo中的软件包更新,它会要求您升级到它们。如果这些软件包包含(因为它们可能)任何Debian-incompatible补丁,它将会破坏Debian系统。只需通过packages.ubuntu.com(甚至只是源代码)下载所需的deb并手动安装,这样无限安全。
使用apt pinning可以减少或可能避免自动升级不需要的软件包的问题,但这超出了我的答案范围。
第三种解决思路
这肯定是可能的,但Debian中还没有包。虽然有一个ITP bug,这意味着提交该bug的人正在或正在打包它(ITP = Intent To Package)。