DropboxをThunarに統合するにはどうすればよいですか? PPAを介してXfce 4.12をインストールしたXubuntu 14.04を使用していますが、thunar-dropbox-plugin
が壊れています。また、Xubuntu 16.04で動作していないと聞きました。
幸いなことに、Dropboxは最近 それらのCLI機能 を拡張して共有リンクなどを含めました。DropboxをThunarに統合するには、次のようにします。
ホームフォルダーに~/bin
ディレクトリを作成します(まだ作成されていない場合)。 Dropbox python script をダウンロードします。名前をdropbox
に変更します。 (拡張機能は必要ありません。)実行可能にしますchmod +x ~/bin/dropbox
。
~/bin
ディレクトリが$PATH
にまだ追加されていない場合(つまり、タブ補完がスクリプトで機能しないなど)、次を~/.profile
に追加します。その後、ログアウトして再度ログインします。
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Sudo apt-get install xsel
をターミナルに貼り付けて、xsel
をインストールします。このプログラムは、以下のスクリプトにクリップボード機能を提供します。
次のスクリプトをプレーンテキストファイルに保存し、~/bin
に保存して、実行可能にします。私の名前はdropbox-online
です。 icon_path="/full/path/to/dropbox-icon.png"
を Dropboxアイコン へのパスに変更します。
#!/bin/bash
# Name: Dropbox Thunar Integration
# Author: jbrock
# Dependencies: xsel (in Ubuntu repository), Dropbox python script https://linux.dropbox.com/packages/dropbox.py
# Installation: http://askubuntu.com/questions/777878/how-to-integrate-dropbox-in-thunar
notify_time=5000
icon_path="/full/path/to/dropbox-icon.png"
internet_status=$(ping -c 1 dropbox.com > /dev/null 2>&1; echo $?)
dropbox_status=$(dropbox status)
web_directory () {
prepend_path="https://www.dropbox.com/home/"
append_path=$(pwd | cut -d "/" -f5-)
xdg-open "$prepend_path$append_path"
}
gui_notify () {
notify-send -t "$notify_time" -i "$icon_path" "$1"
}
# Check: 1. internet connection; 2. if Dropbox is running; 3. if in Dropbox or Public folder.
if [ "$internet_status" != 0 ]; then
gui_notify "There is an internet connectivity issue."
exit 1
fi
if [ "$dropbox_status" = "Dropbox isn't running!" ]; then
gui_notify "Dropbox isn't running."
exit 1
fi
if [[ "$2" != *Dropbox* ]]; then
gui_notify "You are not in Dropbox."
exit 1
fi
if [[ "$1" = -p && "$2" != *Dropbox\/Public* ]]; then
gui_notify "You are not in the Dropbox/Public folder."
exit 1
fi
case "$1" in
-p )
dropbox puburl "$2" | tr -d '\n' | xsel -ib && gui_notify "Public Link Copied" ;;
-s )
dropbox sharelink "$2" | tr -d '\n' | xsel -ib && gui_notify "Share Link Copied" ;;
-d )
web_directory ;;
esac
Thunarに統合します。 [編集]> [カスタムアクションの構成]に移動します。プラス記号をクリックして、カスタムアクションを追加します。次の3つのカスタムアクションを設定します。
Thunarのコンテキストメニュー項目に表示する独自のアイコンを追加できることも忘れないでください。
これらのそれぞれについて、任意のタイプのファイルまたはディレクトリを共有できるようにするには、2番目のタブで次の操作を実行します。
唯一の欠点は、3つのDropboxメニュー項目がDropboxだけでなくThunarでグローバルに表示されることです。ただし、誤ってDropboxの外にいる場合は、スクリプトから通知されます。
更新:dropbox puburl
コマンドは動作しなくなりました。 Dropboxには無料アカウント用のパブリックフォルダーがなくなり、2017年9月1日に有料アカウント用に廃止されました。
[これはコメントであり、謝罪すべきですが、私はまだ評判がありません。]
じゅん
ありがとうございました!私は、たとえば共有リンクのために書く必要があることがわかりました:
dropbox-online -s %n
%fではなく、ファイルシステム内のどこにあるかを判断するのに十分賢いようです。
また、2つのDropboxプロセスを実行しています。私にとっては、そのうちの1つだけが圧倒的に必要なので、スクリプトの最後に向かって、HOME env変数を次の行に設定しました。
HOME=/home/mike/.dropbox-work dropbox sharelink "$2" | tr -d '\n' | xsel -ib && gui_notify "Share Link Copied" ;;
うまくいく。