Интерфейс для Яндекс.Диска в Ubuntu 14.04

imageКак известно Яндекс.Диск на Ubuntu существует только как консольный клиент. Сегодня я решил «Хватит это терпеть» и написал для себя простенький скрипт, который значительно упрощает работу с ним. (Исходники в низу статьи)Стоит пояснить, что данный скрипт писался для личного пользования, но знакомый уговорил выложить тут, поэтому такие вещи как абсолютные адреса файлов будут не абсолютными и вам стоит подправить их для собственной системы.Для работы нам нужно только три файла:

Файл запуска для взаимодействия с пользователем Bash скрипт для взаимодействия с клиентом Иконка сервиса Яндекс.Диск Начнем с BASH. Создаём в любом удобном месте файл ya-disk.sh

#!/bin/bash case $1 in start) # Команда запуска deamon=`yandex-disk start` notify-send -i »$HOME/Розробка/yandex-disk/icon.png» »$deamon» ;; stop) # Команда остановки deamon=`yandex-disk stop` notify-send -i »$HOME/Розробка/yandex-disk/icon.png» »$deamon» ;; *) # Команда проверки статуса deamon=`yandex-disk status` if [[ »$deamon» == «Ошибка: демон не запущен» ]] # Проверяем состояние демона и если он не запущен — Запускаем. then deamon=`yandex-disk start` notify-send -i »$HOME/Розробка/yandex-disk/icon.png» »$deamon» else # Если демон уже запущен собираем информацию и выводим status=`yandex-disk status | grep -o '^Статус ядра синхронизации: .*$' | grep -o ': .*$'` all=`yandex-disk status | grep -o 'Всего:.*'` nfree=`yandex-disk status | grep -o 'Занято:.*'` free=`yandex-disk status | grep -o 'Свободно:.*'` maxfile=`yandex-disk status | grep -o 'Максимальный размер файла:.*'` trash=`yandex-disk status | grep -o 'Размер корзины:.*'`

if [[ »$status» == »: синхронизация» ]] # Если демон в процесе синхронизации then SUNC=`yandex-disk status | grep -o 'Статус синхронизации: .*' | grep -o '[^:]*$'` notify-send -i »$HOME/Розробка/yandex-disk/icon.png» «Синхронизация» «Прогресс:$SUNC\n$all\n$nfree\n$free\n$maxfile\n$trash» elif [[ »$status» == »: обработка данных» ]]; then # Если демон ведёт учет файлов notify-send -i »$HOME/Розробка/yandex-disk/icon.png» «Статус$status» else # Если демон простаивает notify-send -i »$HOME/Розробка/yandex-disk/icon.png» «Статус$status» »$all\n$nfree\n$free\n$maxfile\n$trash» fi fi ;; esac #окончание оператора case. exit 0 Теперь создадим файл запуска

Переходим по адресу, где лежат все наши ярлыки приложений

cd /usr/share/applications/ Теперь создаем ярлык нашего нового приложения командой:

sudo gedit ya-disk.desktop Со следующим содержанием:

[Desktop Entry] Version=1.0 Type=Application Name=Яндекс.Диск Comment=Позволяет Запускать, останавливать и получать информацию о состоянии вашего Яндекс.Диска Exec=/home/alex/Розробка/yandex-disk/ya-disk.sh Terminal=false Icon=/home/alex/Розробка/yandex-disk/icon.png StartupNotify=true Actions=Window; Document;

[Desktop Action Window] Name=Запустить Exec=/home/alex/Розробка/yandex-disk/ya-disk.sh start OnlyShowIn=Unity;

[Desktop Action Document] Name=Остановить Exec=/home/alex/Розробка/yandex-disk/ya-disk.sh stop OnlyShowIn=Unity; Не забудьте изменить значение параметров Exec и Icon. Они должны вести на соответствующие файлы на вашем.

И последний штрих. Скачайте и разместите иконку по адресу, который указан в параметре Icon.Для меня это

/home/alex/Розробка/yandex-disk/icon.png Вот и всё.В Dash появится иконка Яндекс.Диск. Если вынести её на панель Unity то правой кнопкой можно останавливать и запускать демон.И обещанные исходники

© Habrahabr.ru