我如何将 Dropbox 集成到 Thunar?我正在使用 Xubuntu 14.04,并通过 PPA 安装 Xfce 4.12,但thunar-dropbox-plugin
出现故障。我还听说它在 Xubuntu 16.04 上无法运行。
答案1
幸运的是,Dropbox 最近扩展了他们的 CLI 功能包括共享链接等。要将 Dropbox 集成到 Thunar,请执行以下操作:
初始设置
~/bin
如果尚未创建目录,请在主文件夹中创建一个目录。下载Dropbox Python 脚本。将其重命名为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
xsel
通过粘贴到终端进行安装sudo apt-get install 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 集成
要集成到 Thunar。转到编辑 > 配置自定义操作。单击加号以添加自定义操作。设置以下三个自定义操作:
还要记住,您可以添加自己的图标以显示在 Thunar 上下文菜单项上。
对于上述每一个,您需要在第二个选项卡上执行以下操作,因为您希望能够共享任何类型的文件或目录。
唯一的缺点是,这三个 Dropbox 菜单项在 Thunar 中是全局显示的,而不仅仅是在 Dropbox 中。不过,如果您不小心超出了 Dropbox 的范围,脚本会提醒您。
更新:该命令dropbox puburl
不再有效。Dropbox 不再为免费帐户提供公共文件夹,并于 2017 年 9 月 1 日停止为付费帐户提供该文件夹。
答案2
[这应该是一条评论,抱歉,但我还没有声誉。]
@jbrock
谢谢!我发现我需要为共享链接写一些示例:
dropbox-online -s %n
而不是 %f,而且它似乎足够智能,能够找出它在文件系统中的位置。
另外,我正在运行两个 dropbox 进程;对我来说,我绝大多数只需要其中一个,因此我在脚本末尾的几行中设置了 HOME 环境变量:
HOME=/home/mike/.dropbox-work dropbox sharelink "$2" | tr -d '\n' | xsel -ib && gui_notify "Share Link Copied" ;;
效果很好。