Как интегрировать Dropbox в Thunar?

Как я могу интегрировать Dropbox в Thunar? Я использую Xubuntu 14.04 с Xfce 4.12, установленным через PPA, и thunar-dropbox-plugin был поврежден. Я также услышал, что это не работает над Xubuntu 16.04.

4
задан 26 May 2016 в 20:44

2 ответа

К счастью, Dropbox недавно развернул их возможности CLI включать sharelinks и т.д. Для интеграции Dropbox в Thunar делают следующее:

Начальная настройка

Создайте a ~/bin каталог в Вашей домашней папке, если не уже созданный. Загрузите сценарий Python Dropbox. Переименуйте его как просто dropbox. (Расширение не нужно.) Делают это исполняемым файлом chmod +x ~/bin/dropbox.

Если ~/bin каталог уже не добавляется к Вашему $PATH (т.е. заполнение клавишей Tab не работает на сценарий, и т.д.), Вы добавили бы следующее к ~/.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. Перейдите к Редактированию>, Настраивают пользовательские действия. Нажмите плюс добавить пользовательское действие. Настройте следующие три пользовательских действия:

Add Share Link

Add Public Link

Add Directory Online

Помните также, что можно добавить собственный значок для появления на объектах контекстного меню Thunar.

Для каждого из них Вы захотите сделать следование второй вкладки, учитывая, что Вы хотите смочь совместно использовать любой тип файла или каталога.

Appearance Conditions

Единственный недостаток - то, что три пункта меню Dropbox появляются глобально в Thunar, не только в Dropbox. Однако сценарий говорит Вам, если Вы случайно за пределами Dropbox.

Обновление: команда dropbox puburl больше работы. Dropbox больше не имеет папку Public для бесплатных учетных записей и прекращает ее для заплаченных 1 сентября 2017.

5
ответ дан 1 December 2019 в 09:33

[Это должно быть комментарием, извинениями, но у меня еще нет репутации.]

@jbrock

Спасибо! Я нашел, что должен записать, например, для Ссылки Доли:

dropbox-online -s %n

вместо %f, и это, кажется, достаточно умно разработать, где в файловой системе это.

Кроме того, я выполняю два процесса Dropbox; для меня мне в подавляющем большинстве нужен он для всего одного из них, таким образом, я установил ДОМАШНИЙ огибающий var в строках к концу Вашего сценария:

HOME=/home/mike/.dropbox-work dropbox sharelink "$2" | tr -d '\n' | xsel -ib && gui_notify "Share Link Copied" ;;

Работы хорошо.

0
ответ дан 1 December 2019 в 09:33

Другие вопросы по тегам:

Похожие вопросы: