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 に書いてもダメだったし.
ただし,インターネット共有を一旦切断してからすぐつなぎなおせば治るので とりあえず放置.困ったもんだ.