如何在服务器上配置 Ubuntu?

如何在服务器上配置 Ubuntu?

我希望在我的 11.10 服务器上安装 Ubuntu One,但每次我尝试运行命令时似乎都会遇到错误http://manpages.ubuntu.com/manpages/lucid/man1/u1sdtool.1.html

例如,当我尝试运行时 u1sdtool --start遇到以下错误:

dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

我刚刚安装了 Ubuntu One,迄今为止没有对其进行任何更改。

答案1

Ubuntu One 需要 X 和 dbus 会话。您可以按照以下说明使其无头运行:https://wiki.ubuntu.com/UbuntuOne/Headless

在无头模式下运行 Ubuntu One

  1. 安装 ubuntuone-client 包:

    sudo apt-get install ubuntuone-client 
    
  2. 设置用户目录:

    mkdir -p ~/.config/ubuntuone ~/bin 
    

    如果您登录时没有 ~/bin,则您的路径不包含它,请纠正运行(或者简单地注销并再次登录,ubuntu 将为您设置它):

    export PATH=$HOME/bin:$PATH 
    
  3. 获取您帐户的 OAuth 密钥:

    cd /tmp
    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... 
    
  4. 将以 oauth= 开头的行复制到 ~/.config/ubuntuone/syncdaemon.conf 作为 oauth 参数主要的部分(这是 ini 样式的文件):

    [__main__]
    oauth=hPQWPsH:rhOokmNiRuuoiHe... 
    

    (您最好删除 oauth 字符串中的前两个字段,即 oath=aaa:bbb:ccc:ddd => oath=ccc:ddd )

  5. 下载 u1sdtool 包装器,它将在需要时启动 dbus。默认情况下,Ubuntu 会将 ~/bin/ 添加到您的路径中,因此当您运行 u1sdtool 时,您将运行包装器。

    wget http://people.canonical.com/~roman.yepishev/us/u1sdtool-wrapper -O ~/bin/u1sdtool
    chmod +x ~/bin/u1sdtool 
    
  6. 启动 Ubuntu One,检查 Ubuntu One 状态并连接(从 Oneiric 开始 Ubuntu One 启动时会自动连接):

    u1sdtool --start
    u1sdtool --status
    State: READY
      connection: Not User With Network
      description: ready to connect
      is_connected: False
      is_error: False
      is_online: False
      queues: IDLE
    u1sdtool --connect 
    

    如果您遇到显示管理器错误,请尝试在 u1sdtool 前面添加 ~/bin/,因为最可能的原因是您的 PATH 中上述问题。

  7. 查看“connection”后面的字符串。如果显示“Not User”,则表示您的凭据尚未处理,请停止并启动 syncdaemon:

    u1sdtool --quit
    u1sdtool --start
    

    然后再试一次。

    如果显示“无网络”,则表明您未连接到互联网,我必须通过安装 nmcli(sudo apt-get install network-manager --no-install-recommends)并摆弄 nmcli 来解决这个问题。您可能还需要安装 consolekit。

  8. 开始将文件添加到~/Ubuntu One目录并使用 u1sdtool 添加 UDF、发布文件等。

答案2

我刚刚遇到了这个问题。

事实证明这是因为我正在使用 screen+ssh 连接。

http://www.rootninja.com/dbus-session-bus-address-with-applications-using-ssh/

运行这个可以为我解决这个问题:

eval `dbus-launch --sh-syntax`

答案3

看来 ubuntuone-syncdaemon 只能与托管接口一起使用,因此您需要确保 NetworkManager 正在运行并且至少连接了一个托管网络。

$ sudo nmctl con

如果你的服务器和我的一样,配置了静态 IP 地址,则需要/etc/NetworkManager/NetworkManager.conf按照此处的说明进行修改: http://wiki.debian.org/NetworkManager#Enabling_Interface_Management

相关内容