Яндекс.Диск в Linux Ubuntu

Полгода назад команда Яндекса анонсировала на Хабре консольный клиент своего облачного хранилища под Linux. Установка его сводится к добавлению репозитория и первоначальному конфигурированию с авторизацией и указанием папки для локальной копии файлов. Детально процесс описан на официальном сайте.

Несмотря на просьбы хабролюдей к разработчикам выпустить что-то гуёвое, реализации до сих пор нет. Будем исправлять ситуацию самостоятельно.

Для начала определимся с имеющимся и недостающим функционалом.

Консольный клиент уже умеет синхронизировать директории на локальный диск (выборочно или все содержимое Я.Диска) и генерировать публичную ссылку на указанные файлы с помощью команды yandex-disk publish ‘путь/до/файла’.

Было бы неплохо упростить получение ссылки на общедоступные файлы и интегрировать клиент в оконный менеджер системы (в моем случае Ubuntu 12.04 и Nautilus 3.4.2).

Итак, добавим в контекстное меню Nautilus кнопку «Опубликовать», по нажатию на которую будет происходить вышеупомянутое действие получения ссылки. Полученную ссылку положим в буфер обмена (как это делает клиент Я.Диска для Windows), а также укажем на это пользователю с помощью всплывающего сообщения.

  1. Создаем в удобном месте файл скрипта (например, я делаю это с помощью Терминала (Ctrl+Alt+T)):
    mcedit /home/xandros/YD_publish.sh
  2. Вставляем туда следующий текст:

    #!/bin/bash

    #Делаем yandex-disk publish для выбранного файла
    #И кладем результат (ссылка или ошибка) в переменную var
    var=`yandex-disk publish "$1" 2>&1`

    #Выводим значение переменной стандартными средствами Linux
    #Необходимо изменить путь до картинки на свой
    notify-send -i /usr/share/pixmaps/xandros/YD_logo.png "Яндекс.Диск" "$var"

    #Кладём переменную (ссылка или ошибка :-D) в буфер обмена
    echo "$var" | parcellite

  3. Делаем его исполняемым:
    chmod +x /home/xandros/YD_publish.sh
  4. Устанавливаем менеджер буфера обмена Parcellite (можно выбрать любой другой по вкусу (например Clipit), лишь бы работало, в скрипте соответственно изменить последнюю строку)
    sudo apt-get install parcellite
  5. Устанавливаем Nautilus-Actions Configuration Tool:
    sudo apt-get install nautilus-actions
  6. Находим в Dash только что установленный пакет
    Nautilus-1
  7. Создаем новое действие «Опубликовать»
    Nautilus-2
  8. По желанию указываем путь до картинки, тогда около нашего пункта в контекстном меню появится иконка. В качестве иконки можно взять эту (она же указана у меня в исполняемом скрипте выше):
    YD_logo
  9. Переходим на вкладку «Command» и указываем путь до скрипта, который был создан вначале, в качестве параметров необходимо передавать в скрипт путь до файла, поэтому пишем в соответствующее поле %F
    Nautilus-3
  10. Сохраняем действие и перезапускаем Nautilus с помощью Терминала
    nautilus -q
  11. Ищем новый пункт меню и проверяем его работу
    Nautilus-4

Ссылки: