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

 

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

Автор: admin от 30-01-2015, 01:12, посмотрело: 899

Интерфейс для Яндекс.Диска в Ubuntu 14.04
Как известно Яндекс.Диск на 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" "Синхронизация" "Прогресс:$SUNCn$alln$nfreen$freen$maxfilen$trash"
    		elif [[ "$status" == ": обработка данных" ]]; then # Если демон ведёт учет файлов
    			notify-send -i "$HOME/Розробка/yandex-disk/icon.png" "Статус$status"
    		else # Если демон простаивает
    			notify-send -i "$HOME/Розробка/yandex-disk/icon.png" "Статус$status" "$alln$nfreen$freen$maxfilen$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 то правой кнопкой можно останавливать и запускать демон.
    И обещанные исходники

    Источник: Хабрахабр

    Категория: Яндекс, Linux, Ubuntu

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
    Введите два слова, показанных на изображении: *