A execução do Ubuntu One no Debian é 'possível'? [fechadas]


28

Li em algum lugar que o Ubuntu One roda apenas no Ubuntu, o que foi uma surpresa (e suponho que seja apenas uma postura oficial). O que é preciso para rodar no Debian?

Respostas:


21

Apenas para constar, você pode executar o Ubuntu One em qualquer lugar que desejar, mas não temos recursos para testá-lo e fazê-lo funcionar sem problemas em qualquer lugar.

Dito isto, o Ubuntu One é composto de várias partes; o mais problemático para rodar no Debian é o syncdaemon, e eu presumo que é isso que você quer dizer; Os plugins tomboy, desktopcouch e funambol não devem ser um problema (pelo menos, nenhum problema específico para o Debian :-)).

O @ajmitch está trabalhando para obter pacotes do syncdaemon ("ubuntuone-client") no Debian.

Enquanto isso, você pode executá-lo. As versões de algumas das bibliotecas estão um pouco desativadas, então alguns patches são necessários por enquanto. Aqui está o que você pode fazer para a versão mais rudimentar de "running", no squeeze (a partir de uma instalação básica com a tarefa 'desktop' instalada):

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

enquanto o acima exposto coloca o syncdaemon online e sincroniza (supondo que você esteja usando o Network Manager), ele não inclui a ativação do dbus e a integração do nautilus, o que ajuda. Se você quiser, pode tentar

(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

isso deve fazer com que toda a pilha funcione. Se você receber erros de importação, verifique se as coisas foram instaladas nodist-packages ou não site-packages (se houver, mova-as para cima :-))

Vejo? Instalação com um clique.


2
alguma melhoria para isso desde a sua resposta? Obrigado.
FC

1
Alguma chance de você atualizar esta resposta para refletir 2013?
Redsandro 08/04

11

Você precisaria ubuntuone-clienteubuntu-sso-client (logon único) e todas as suas várias dependências. É principalmente python, então não deve haver nenhum problema de compatibilidade binária apenas arrastando os pacotes.

Mas você pode começar a rastrear as dependências aqui: http://packages.ubuntu.com/maverick/ubuntuone-client

P. Por que não dar instruções para adicionar repositórios Ubuntu ao Debian para isso?

UMA. A menos que você encontre um PPA que tenha apenas o material necessário, poderá acabar substituindo (leia-se: atualizando) toda uma carga de pacotes até um ponto em que as coisas se tornem muito instáveis. É muito mais seguro extrair apenas o que você precisa.

Algo como apt-get install --no-install-recommends ubuntuone-client não funcionaria, porque assim que você adiciona o repositório Ubuntu a uma instalação Debian, ele tenta atualizar todos os pacotes para a versão mais recente. Se algum dos pacotes no repositório Maverick for mais novo que aqueles no repositório Debian usado nesse sistema, você deseja que você os atualize. Se esses pacotes contivessem (como provavelmente fazem) quaisquer patches incompatíveis com o Debian, isso prejudicaria o sistema Debian. É infinitamente mais seguro baixar as debs necessárias através de packages.ubuntu.com (ou mesmo apenas a fonte) e instalar manualmente.

O problema de atualizar automaticamente pacotes indesejados pode ser reduzido ou possivelmente evitado usando o apt pinning , mas isso está além do escopo da minha resposta.



1

Bem, é o Ubuntu One, e não o Debian One. :)

Obviamente, você deve poder reconstruir os pacotes do Ubuntu mais recente para as partes do Ubuntu One necessárias, em uma distribuição baseada no Debian que possua as dependências necessárias disponíveis para isso. Se as dependências não estiverem disponíveis, também será necessário portá-las.

Essas distribuições não são suportadas; no entanto, se você tiver algum problema na reconstrução dos pacotes, poderá pedir ajuda no #ubuntuone IRC na rede Freenode.


1

Existe uma maneira muito mais fácil: obter os DEBs no site de pacotes (para o Debian Wheezy obtenha DEBs no UBuntu 12.04), instale um por um usando gdebi (ou similar). Tentativa e erro para obter a ordem certa. Depois de não instalar todos os DEBs, execute o ubuntuone-install a partir da linha de comandos e siga as instruções.

Dica: você deve ter o Network-Manager ativado e gerenciando sua conexão.

Neste site, listo os pacotes necessários:

http://conalambre.wordpress.com/2012/10/15/ubuntu-one-en-debian-wheezy/

Está em espanhol, mas os nomes dos pacotes são os mesmos :-D



0

Consegui fazer a sincronização funcionar usando as informações do link acima e algumas tentativas e erros. As referências são este segmento, https://wiki.ubuntu.com/UbuntuOne/Headless e http://blog.pinguinplanet.de/2012/05/05/ubuntu-one-on-debian-wheezy.html .

Estas são as etapas necessárias:

  1. Alterne para a versão 'testing' substituindo 'wheezy' por 'testing' no arquivo de configuração /etc/apt/sources.list seguido por:

    sudo apt-get update
    sudo apt-get upgrade
    
  2. Pré-requisitos de instalação:

    sudo apt-get install python-twisted pyqt4-dev-tools 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 python-configglue python-oauthlib protobuf-compiler
    
  3. Construa e instale o cliente UbuntuOne:

    mkdir u1
    cd u1
    bzr branch lp:ubuntuone-storage-protocol
    (cd ubuntuone-storage-protocol/ ; sudo python setup.py install )
    bzr branch lp:configglue
    (cd configglue/ ; sudo python setup.py install) 
    bzr branch lp:dirspec
    (cd dirspec/ ; sudo python setup.py install) 
    bzr branch lp:ubuntu-sso-client
    (cd ubuntu-sso-client/ ; sudo python setup.py install) 
    bzr branch lp:ubuntuone-client
    (cd ubuntuone-client/ ; sudo python setup.py install)
    
  4. obtenha e salve o token de login do Ubuntu One:

    wget http://people.canonical.com/~roman.yepishev/us/ubuntuone-sso-login.py
    python ubuntuone-sso-login.py
    Ubuntu SSO Login: **your Ubuntu SSO Login**
    Password: **your Ubuntu SSO Password**
    oauth=hPQWPsH:rhOokmNiRuuoiHe... 
    
    mkdir ~/.config/ubuntuone
    cd ../.config/ubuntuone
    cp ../../u1/ubuntuone-client/data/syncdaemon.conf .
    

    edite syncdaemon.conf:

    [__main__]
    oauth=hPQWPsH:rhOokmNiRuuoiHe... 
    

Agora u1sdtool --startpode ser usado para iniciar o daemon de sincronização e u1sdtool -sfornece:

ERROR:root:Could not find any typelib for Unity
State: QUEUE_MANAGER
connection: With User With Network
description: processing the commands pool
is_connected: True
is_error: False
is_online: True
queues: IDLE

Parece bom ignorar o erro. Eu não tenho o Unity instalado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.