DropboxをUbuntuで完全にコマンドラインだけで使う方法

前の記事で,ssh -Xで無理矢理入れる方法を紹介しましたが,あれダメですw なんかいまいちうまく動かないことが多いです.それで,ふと調べていたら Dropbox Wikiの方にまったくXを使わずにインストールして使うためのTIPSが 載っていたので紹介します.

まずは必要なファイルのDL

Dropbox本体と,インストールに使うPythonスクリプトをwgetで落とします.

$ cd ~
$ wget -O dropbox.tar.gz http://dl.getdropbox.com/u/17/dropbox-lnx.x86-0.6.427.tar.gz
$ wget http://dl.getdropbox.com/u/6995/dbmakefakelib.py
$ wget http://dl.getdropbox.com/u/6995/dbreadconfig.py

そうしたら,Dropboxのアーカイブを解凍しておきます.

$ tar zxof dropbox.tar.gz

ダミーを使いながら無理矢理Dropboxをインストールする

ということを実際にはやっていますが,こちらがやることはありがたい スクリプトを走らせて待つだけw ただしgccが必要なので,入れてなかったら入れる.

$ sudo apt-get install gcc
$ python dbmakefakelib.py
adding library libgtk-x11-2.0.so.0
adding library libgdk-x11-2.0.so.0
adding library libatk-1.0.so.0
adding library libgdk_pixbuf-2.0.so.0
adding library libpango-1.0.so.0
... lots more of this ...
adding function g_datalist_clear
dropboxd ran for 15 seconds without quitting - success?

けっこう時間かかるので,注意しましょう.最後にメッセージが出て,~/.dropboxが できます(多分w).そうしたら,ここからlinkに必要な情報を読み出します.

$ python dbreadconfig.py
host_id = ************************************
last_revision = None
schema_version = 6

これが上手く表示されたら,以下のURLのHOSTIDをhost_idに置き換えて 適当なブラウザでアクセスします.どのマシンでもOK.

https://www.getdropbox.com/register?host_id=HOSTID

表示されたページの左側で既に作成しているアカウントをリンクさせれば完了!

最後にDropbox用のディレクトリを自分で作成.

$ mkdir ~/Dropbox

デーモン操作用のスクリプトを作成し登録する

Ubuntuしかわかりませんw

以下のファイルを/etc/init.d/dropboxとして作成.書き込みは管理者権限.

# dropbox service
DROPBOX_USERS="user1 user2"
start() {
    echo "Starting dropbox..."
    for dbuser in $DROPBOX_USERS; do
        start-stop-daemon -b -o -c $dbuser -S -x /home/$dbuser/.dropbox-dist/dropboxd
    done
}

stop() {
    echo "Stopping dropbox..."
    for dbuser in $DROPBOX_USERS; do
        start-stop-daemon -o -c $dbuser -K -x /home/$dbuser/.dropbox-dist/dropboxd
    done
}

status() {
    for dbuser in $DROPBOX_USERS; do
        dbpid=`pgrep -u $dbuser dropboxd`
        if [ -z $dbpid ] ; then
            echo "dropboxd for USER $dbuser: not running."
        else
            echo "dropboxd for USER $dbuser: running."
        fi
    done
}


case "$1" in
  start)
    start
    ;;

  stop)
    stop
    ;;

  restart|reload|force-reload)
    stop
    start
    ;;

  status)
    status
    ;;

  *)
    echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
    exit 1

esac

exit 0

最初のユーザ名はDropboxを使いたいユーザにすればいいみたい.そうしたら 次のコマンドを実行.

$ sudo chmod +x /etc/init.d/dropbox
$ sudo update-rc.d dropbox defaults
$ /etc/init.d/dropbox start

これでDropboxが起動しています.既にDropboxを使っていれば勝手にそのファイルが DLされ始めます.起動しているかどうか確認するなら

$ ps -e | grep dropboxd

なんかでいんじゃないでしょうか.

というわけで今度こそ・・・

サーバともDropboxで同期ができるようになりました>< 今回はUbuntu Serverを ゼロから入れた状態で実行してOKだったので,たぶんかなり上手く使えるんじゃない でしょうか.

ちなみに,前回ので失敗が続いていた主な原因は,ViatualBoxのUbuntuでやっていて, ネットワークがMacのインターネット共有でつなげたEthernetにしていたのですが, ここのDNSが壊れているのか,www.getdropbox.comのアドレス解決が全くできない という原因だったりしました.なんなんでしょこれ?別に他のドメインは繋がるのに 特定のドメインだけダメ.しかもhostsに書いてもダメだったし.

ただし,インターネット共有を一旦切断してからすぐつなぎなおせば治るので とりあえず放置.困ったもんだ.

business printing online 11-04-01 (金) 6:53

I’m really loving the theme/design of your blog. Do you ever run into any browser compatibility issues? A couple of my blog readers have complained about my blog not operating correctly in Explorer but looks great in Safari. Do you have any solutions to help fix this problem?