Обновлено: 30.01.2023
В этой небольшой статье мы рассмотрим как установить Яндекс Диск на Linux и как пользоваться программой для синхронизации локальной папки с удалённым диском. Мы рассмотрим все действия на примере Ubuntu.
Установка Яндекс Диск в Linux
Сначала надо добавить официальный репозиторий диска в Ubuntu. Для этого выполните такую команду:
echo «deb http://repo.yandex.ru/yandex-disk/deb/ stable main» | sudo tee -a /etc/apt/sources.list.d/yandex-disk.list
Затем добавьте в систему ключ этого репозитория:
А потом обновите список пакетов:
sudo apt update
Установка Яндекс Диска Linux выполняется командой:
sudo apt install yandex-disk
Этот способ будет работать не только для Ubuntu, но и для всех дистрибутивов, основанных на Debian и использующих файловый менеджер apt. Если вам надо установить программу в CentOS или Fedora добавьте такой репозиторий Yandex Disk:
sudo vi /etc/yum.repos.d/yandex.repo
Затем импортируйте ключ репозитория:
И установите программу:
sudo yum install yandex-disk
Когда программа будет установлена, её надо настроить. Для того чтобы подключить Яндекс Диск выполните эту команду:
Утилита спросит нужно ли использовать прокси. Если вы живете в России и никаких ограничений для доступа к яндексу нет, то прокси можно не использовать. Потом надо ввести логин и пароль от вашего аккаунта Яндекс, а затем останется только ввести путь к папке, которую надо синхронизировать. Если это поле оставить пустым, то будет выбрана папка по умолчанию — /home/имя_пользователя/Yandex.Disk. Теперь вы можете использовать Яндекс Диск чтобы управлять своими файлами:
Можно, например, создать несколько символических ссылок из этой папки в домашнюю папку и так автоматически синхронизировать файлы или целые папки. К тому же у Яндекс Диска есть приложение, поэтому вы сможете получить доступ к вашим данным и на смартфоне. Теперь вы знаете как выполняется подключение яндекс диска Linux, а также как настроить программу для использования. А каким облачным хранилищем пользуетесь вы? Напишите в комментариях!
Нет похожих записей
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Содержимое папки Яндекс Диска совпадает с данными на сервере благодаря синхронизации. Соответственно, если она не работает, то теряется смысл использования программной версии хранилища. Поэтому исправлением ситуации нужно заняться как можно скорее.
Причины проблем с синхронизацией Диска и их решение
Способ решения проблемы будет зависеть от причины её возникновения. В любом из случаев разобраться, почему Яндекс Диск не синхронизируется, можно самостоятельно, не потратив много времени.
Причина 1: Синхронизация не включена
Для начала самым очевидным будет проверить, включена ли синхронизация в программе. Для этого кликните по значку Яндекс Диска и вверху окна узнайте о её состоянии. Для включения нажмите соответствующую кнопку.
Причина 2: Неполадки интернет-соединения
Для проверки интернет-соединения нажмите на значок «Сеть». При необходимости подключитесь к рабочей сети.
Обратите также внимание на состояние текущего подключения. Здесь должен быть статус «Доступ к Интернету». В противном случае нужно обращаться к провайдеру, который обязан решить проблему с подключением.
Иногда ошибка может возникать по причине низкой скорости интернет-соединения. Поэтому нужно попытаться запустить синхронизацию, отключив другие приложения, использующие Интернет.
Причина 3: Нет места в хранилище
Возможно, на Вашем Яндекс Диске попросту закончилось место, и новым файлам некуда загружаться. Чтобы это проверить, перейдите на страницу «облака» и посмотрите на шкалу его наполненности. Она расположена внизу боковой колонки.
Для работы синхронизации хранилище нужно очистить или расширить.
Причина 4: Синхронизация блокируется антивирусом
В редких случаях антивирусная программа может блокировать работу синхронизации Яндекс Диска. Попробуйте ненадолго отключить её и понаблюдать результат.
Но помните, что не рекомендуется оставлять компьютер без защиты на длительное время. Если синхронизация не работает из-за антивируса, то лучше поставить Яндекс Диск в исключения.
Причина 5: Не синхронизируются отдельные файлы
Некоторые файлы могут не синхронизироваться потому что:
- вес этих файлов слишком большой, чтобы разместить их в хранилище;
- эти файлы используются другими программами.
В первом случае нужно позаботиться о свободном месте на диске, а во втором – позакрывать все программы, где открыт проблемный файл.
На заметку: файлы объёмом более 10 Гб на Яндекс Диск загрузить вообще нельзя.
Причина 6: Блокировка Яндекса на Украине
В связи с недавними нововведениями в законодательстве Украины, Яндекс и все его сервисы перестали быть доступными для пользователей этой страны. Работа синхронизации Яндекс Диска также под вопросом, т.к. обмен данными происходит с серверами Яндекса. Специалисты этой компания делают всё возможное для решения проблемы, но пока украинцы вынуждены искать пути обхода блокировки самостоятельно.
Если не один из приведённых методов не помогает, то правильно будет сообщить о проблеме разработчикам. Для этого нажмите на значок настроек, наведите курсор на пункт «Справка» и выберите «Сообщить в Яндекс об ошибке».
Вскорости Вы получите ответ от службы поддержки по Вашей проблеме.
Для своевременного изменения данных в хранилище должна быть включена синхронизация в программе Яндекс Диск. Для её работы компьютер должен быть подключён к Интернету, в «облаке» должно быть достаточно места для новых файлов, а сами файлы не должны быть открыты в других программах. Если причину проблем с синхронизацией не удалось выяснить, обратитесь в службу поддержки Яндекса.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
В Linux, в отличие от Windows, клиент для синхронизации Яндекс Диска является консольным и для пользователей Linux, которые не стремятся сильно погружаться в синтаксис командной строки, это может служить препятствием для использования клиента Яндекс Диска. В этой небольшой публикации рассматривается вопрос по установке клиента Яндекс Диска с графическим индикатором на Ubuntu и Linux Mint.
Задача по установке клиента условно делится на 2 этапа: установка клиента и установка графического индикатора.
Описание порядка установки клиента изложена на странице помощи Яндекса, но, надеюсь, мои пояснения смогут воспринять даже непонятливые.
Импортировать ключ Диска Яндекс:
Далее можно скачать необходимый пакет и установить его вручную
или выполнить это через терминал:
echo «deb http://repo.yandex.ru/yandex-disk/deb/ stable main» >> /etc/apt/sources.list.d/yandex-disk.list
sudo apt update && sudo apt install yandex-disk
Все перечисленные выше действия можно сделать одной командой в терминале:
После установки клиента в меню приложений Вы его не увидите. Его запуск и настройка производится в терминале. Введите команду
Если Вы не работаете через прокси-сервер, то в результате получите следующее:
Далее будет отображено уведомление о сохранении вводимых Вами параметров в скрытый каталог Вашего домашнего каталога и выдан запрос на указание каталога для Диска Яндекс. По умолчанию предлагается каталог Yandex.Disk домашнего каталога (каталог Yandex.Disk будет создан автоматически). В ином случае необходимо указать полный путь к каталогу Диска Яндекс. Например, в моём случае это /home/manager/Clouds/Yandex
Токен сохранен в /home/manager/.config/yandex-disk/passwd
Настройка Яндекс.Диска
Введите путь к папке Яндекс.Диска (Оставьте пустым для использования папки ‘/home/manager/Yandex.Disk’):
Запускать Яндекс.Диск при входе в систему? [Y/n]:
Запуск демона. Готово
Несмотря на моё категорическое n демон был запущен и началась синхронизация, о чём свидетельствовали появившиеся данные в назначенном каталоге Диска Яндекс и скрытого каталога .sync с данными синхронизации:
Моё категорическое «нет» обусловлено тем, что запуск клиента Диска Яндекс будет мной производиться вручную. Поэтому останавливаю клиент Диска Яндекс командой в терминале yandex-disk stop
yandex-disk stop
Демон остановлен.
Указываемые ранее настройки расположения каталога для синхронизации, прокси сервера можно посмотреть в файле config.cfg , открыв его текстовым редактором. При необходимости их можно изменить, например:
config.cfg
auth=»/home/manager/.config/yandex-disk/passwd»
dir=»/home/manager/Clouds/Yandex»
proxy=»no»
При удалении Диска Яндекс данный каталог сохраняется. Поэтому для смены каталога синхронизации можно Яндекс Диск не удалять и потом устанавливать снова, а просто изменить значение dir=». » (вместо многоточия указать другой путь).
Теперь пришла пора установить графический индикатор. Эта задача выполняется одной командой терминала:
sudo add-apt-repository ppa:slytomcat/ppa && sudo apt-get update && sudo apt install yd-tools
После установки запуск индикатора производится через главное меню в разделе «Интернет»:
На подставке рабочего стола (системный лоток, системный трей) появится значок
Так как с моём xfce нижняя панель является светлой, то светлый значок Диска Яндекс смотрится не контрастно, поэтому нажимаю левой кнопкой на значок и в появившемся меню выбираю «Настройки».
В разделе «Настройки индикатора» выбираю светлую тему иконок.
После этого индикатор приобрёл тёмный цвет, более удобный для моего восприятия.
Мной индикатор будет запускаться вручную, поэтому выключаю автозапуск индикатора при старте системы.
В настройках сервиса Яндекс.Диск ставлю галочку в поле «Останавливать сервис Яндекс.Диск при выходе из индикатора». Запуск сервиса при запуске индикатора включён при первоначальной настройке индикатора, которая была осуществлена автоматически при его установке.
Если нажать на «Список каталогов исключений», то в появившемся окне можно внести каталоги, которые не будут синхронизироваться с Диском Яндекс.
Примечание. Скрытые каталоги, начинающиеся с символа точки, через графический интерфейс добавить невозможно. Чтобы осуществить подобную настройку, добавьте в файл настроек демона Диска Яндекс config.cfg строку exclude-dirs=, например: exclude-dirs=».debris»
Как упоминалось выше, при левом клике мышкой по значку отображается меню.
Как видно из рисунка, здесь содержится информация о расходе дискового пространства Диска Яндекс (занято, свободно, корзина), статусе синхронизации (сколько синхронизировано из) и ей выполнении в процентах.
Примечание. Сведения, отображаемые в самой верхней строке (Статус: Синхр.:) отображаются на момент соединения с Диском Яндекс и в течение текущего сеанса не меняются. Изменение показаний этой строки будет осуществлено при очередном запуске демона Диска Яндекс.
При активизации «Последние синхронизированные» Вы получите сведения о последних синхронизированных файлах, например:
После завершения синхронизации в правом верхнем углу экрана отобразится всплывающее меню, а значок индикатора поменяет своё отображение.
Соответственно, при запуске индикатора будет отображено уведомление:
Настройки индикатора Диска Яндекс расположены в .config/yd-tools Вашего домашнего каталога.
Содержание yandex-disk-indicator.conf можно просмотреть в текстовом редакторе, например:
autostart=»no»
daemons=»/home/manager/.config/yandex-disk/config.cfg»
theme=»yes»
fmextensions=»yes»
notifications=»yes»
В каталоге icons находятся каталоги dark, light и файл readme.
Каталоги служат для помещения своих анимированных значков в формате png, отображающих состояние сервиса Диск. Яндекс Имена значков регламентированы. Подробности содержатся в файле readme на английском языке.
Отображаемые значки графического индикатора расположены в каталоге
usr/share/yd-tools/icons
Там имеются набора значков для тёмной (dark) и светлой (light) тем оформления. Если посмотреть содержимое этих каталогов, то становится понятным как должны быть именованы файлы значков.
Если Вами не была снята галочка в поле «Активировать расширения для файл-менеджера» в настройках индикатора, то из правого контекстного меню можно получать ссылки на файл(ы) для предоставления доступа и закрывать предоставленный ранее доступ.
Кликните по файлу правым кликом мыши и в правом контекстном меню выберите «Опубликовать через Яндекс.Диск» (сервис в это время должен быть запущен).
Соответственно, пункт «Убрать из публикации через Яндекс.Диск» деактивирует выданную ранее ссылку:
Свои значки в индикаторе Диска Яндекс
Заинтересовавшись вопросом переназначения своих значков для индикатора Диска Яндекс мной была предпринята попытка «выдирания» значков из ПО Диска Яндекс для Windows и преобразования их в формат png.
Содержание этого архива необходимо распаковать в скрытый каталог Вашего домашнего каталога /home/Ваш_каталог/.config/yd-tools/icons/—
(вместо — д.б. указан каталог темы: dark или light в зависимости от указанной Вами в настройках индикатора).
Теперь при запуске индикатора у Вас сначала у Вас отобразится значок паузы (который будет отображаться и при остановке сервиса):
При наличии данных для синхронизации будет отображаться ряд значков процесса синхронизации, при этом синее «колёсико» будет постоянно крутиться:
Примечание.
Так как в поставке по умолчанию имеется 5 значков статуса «синхронизируется», а в версии индикатора для Windows таких значков 4, то значки 4 и 5 являются идентичными. Если очень внимательно присмотреться, то можно заметить, что «колёсико» будет кратковременно замирать, а потом снова крутиться. Замирание как раз и соответствует активации отображения значков 4 и 5. Однако даже такое отображение для меня является более наглядным, чем значки по умолчанию.
Как только данные будут синхронизированы, то у Вас отобразится соответствующий значок статуса:
Лично у меня ситуации не возникало, но при возникновении ошибки будет показан значок:
Или не записывайте файл yd-ind-error.jpg из предоставленного набора и у Вас при ошибке будет отображаться значок красного цвета из каталога по умолчанию (см. рис. выше).
Если пожелаете изменить значок паузы на более красочный, например:
то переименуйте файл yd-ind-pause.jpg на yd-ind-pause-bak.jpg,
а файл yd-ind-pause-blue.jpg на yd-ind-pause.jpg
Узнайте про индикатор Диск.Яндекс с несколькими учётными записями в Linux Mint и Ubuntu и независимый запуск индикаторов Дисков.Яндекс.
Сегодня мы представляем долгожданный клиент Яндекс.Диска для Linux. Можно было бы даже сказать «специально для Хабрахабра», так как ни одно упоминание Диска здесь не обходилось без вопросов о клиенте для Линукса.
У него есть вся основная функциональность, которая есть у клиентов для OS X и Windows, и даже больше (симлинки!), и одна особенность — он консольный.
Ниже читайте о том, как он настраивается, что конкретно умеет, и о том, как именно он устроен и что в нём было непросто сделать.
Установить его можно здесь. Сразу после установки пакета в терминале появится команда yandex-disk, через которую в дальнейшем и идет общение с облаком Яндекса. После этого нужно вручную запустить команду setup.
Визард настройки позволяет в режиме диалога выбрать папку для синхронизации, включить автозапуск при старте системы, настроить работу через прокси-сервер (если конечно вы им пользуетесь) и авторизоваться в Яндекс.Диске. При настройке вручную первым делом необходимо авторизоваться. После этого в папке .config, расположенной в домашнем каталоге, будет создан конфиг, в котором можно будет настроить путь к папке синхронизации (можно указать в консоли вручную), прописать путь к файлу токена, указать папки, которые будут или не будут синхронизироваться, и прописать настройки прокси-сервера.
Команды
Подготовительная работа окончена, осталось запустить демон одной из команд. Они позволят вам синхронизировать файлы и папки и пользоваться ими везде, где есть интернет.
- Sync запустит демон, синхронизирует все, находящееся в папке Диска, и остановит демон.
- Start сделает то же самое, но без остановки демона после завершения синхронизации. При использовании start демон остается запущен и все изменения, происходящие в папке Диска, будут синхронизироваться автоматически.
- Введя в терминале stop, можно в любой момент остановить запущенный демон, если он вам мешает.
- Командой status можно узнать, в каком статусе находится ядро синхронизации.
Что умеет
Консольный клиент позволяет поделиться файлом или папкой с помощью команды publish (если файл находится не в папке диска, перед публикацией он будет туда скопирован). Ссылка будет доступна в терминале, и любой человек, пройдя по ней, сможет посмотреть или сохранить себе опубликованный вами файл или папку. Если случайно был опубликован не тот файл, с помощью команды unpublish можно закрыть доступ к публичному объекту.
В Яндекс.Диске возможна выборочная синхронизация. Команда exclude позволит исключить папку из синхронизации: все изменения, производимые в ней после этого, не будут отправлены в облако.
Опция read-only позволит менять файлы локально, без заливки их в облако. При возникновении конфликтов с локальными изменениями, последние будут сохранены в переименованных файлах, а изменения из облака будут синхронизированы. Опция overwrite будет перезаписывать локально измененные файлы в режиме read-only.
Не можем не похвастаться самым интересным нововведением в ядре синхронизации — отныне мы поддерживаем синхронизацию симлинков! Если возникнут трудности и вопросы в использовании консольного клиента команды man и help просто и доступно помогут в них разобраться.
Как сделан
Чтобы в будущем код можно было использовать для реализации клиентов под разные ОС, было принято решение писать его на C++. Специфичные для разных операционных систем куски кода мы вынесли в отдельные функции или классы, а под каждую платформу писали свою реализацию. В качестве основных кроссплатформенных библиотек мы взяли Boost, OpenSSL и JsonCpp, а системой контроля версий стал git. Клиент под Linux собирался с помощью autoconf. Код писался и отлаживался в связке KDevelop + консольный gdb, либо в Qt Creator’е (в зависимости от предпочтений разработчика).
Взаимодействие с облаком и синхронизация производятся с помощью библиотеки ядра Яндекс.Диска, которую используют десктопные клиенты сервиса.
Как работает
Для локализации мы используем библиотеку boost::locale. Текст внутри клиента закодирован в utf-8 и по необходимости преобразовывается в специфичном для каждой операционной системы коде. Мониторинг файловой системы для Linux использует inotify, прекрасно вписыващийся в асинхронную работу boost::asio.
Как устроена синхронизация
Синхронизация — сердце Яндекс.Диска, его ключевая возможность. Задача синхронизации файлового дерева с облаком делится на несколько независимых частей.
1. Мониторинг файловой системы. Ядро синхронизации Яндекс.Диска проектировалось и создавалось как переносимая абстракция, способная выполнять поставленные задачи на всех поддерживаемых платформах. Но такая проблема, как мониторинг файловой системы не реализуется ни стандартной библиотекой C++, ни даже такими монстрами как boost. Более того, даже используя «родное» API операционной системы, мы получаем набор событий, специфический для каждой платформы.
Для мониторинга файловой системы был спроектирован интерфейс «наблюдателя», способного следить за событиями в определённой директории и возвращающего список событий, произошедших в ней. Причём для каждой поддерживаемой платформы набор этих событий отличается. Например, Mac OS X способна сообщить только о факте какого-то изменения в одной из дочерних директорий без детализации. А вот Windows и Linux возвращают полный набор, включая создание, удаление, модификацию и перемещение объектов. Хотя практика показывала, что событиям на платформе Windows доверять не стоит и самым надёжным вариантом остаётся листинг директории после получения оповещения.
2. Индексация локальных файлов и директорий. Для контроля целостности и реализации дельта-обновления файлов ядро синхронизации Яндекс.Диска использует дайджесты — наборы контрольных сумм файла и отдельных его частей. Для всего файла мы рассчитываем стойкий хэш SHA-256 и набор менее стойких сумм для отдельных блоков. Каждый файл, находящийся в папке Яндекс.Диска и не попадающий в список исключений, должен быть проиндексирован. Но вычисление хэша SHA-256 -достаточно дорогая операция, а расчёт хэшей при каждом запуске ПО был бы непростительной тратой ресурсов. Поэтому после того, как завершается индексация файла, ядро синхронизации сохраняет полученный дайджест в «банке» — специальном хранилище, находящемся в служебной директории Яндекс.Диска. Для поиска дайджестов в хранилище используется уникальный идентификатор файла — inode (размер и время последнего изменения). К сожалению, подобный подход не лишён недостатков. Например, многие файлы-криптоконтейнеры сохраняют время последней модификации неизменным даже после записи.
Наверное, кроме тонкостей работы с символическими ссылками, ничего в листинге директорий не представляет особого интереса. Для успешного завершения синхронизации ядро должно обнаруживать и исключать из синхронизации циклические ветки.
Вообще, символические ссылки — это настоящая «головная боль» для ядра синхронизации. Они могут указывать в произвольные места файловой системы, и ни ко всем из них можно применять одинаковые правила синхронизации. Например, пакеты приложений Mac OS X очень часто содержат в себе символические ссылки на директории системных библиотек, и их синхронизация в облако была бы нежелательна — особенно между разными версиями ОС. Но в то же время возможность синхронизировать дополнительные директории с помощью символических ссылок — очень заманчивая возможность, упускать которую не хотелось.
Поэтому для синхронизации символических ссылок была введена особая политика, благодаря которой ядро может выбирать специфический вариант синхронизации для каждой символической ссылки — в зависимости от расположения объекта, на который она указывает.
3. Получение дерева облачной файловой системы. Для решения проблемы синхронизации мало иметь локальную файловую структуру и дайджесты файлов — необходимо получить текущее состояние файловой системы в облаке. Если бы ядру синхронизации каждый раз приходилось обходить дерево с помощью метода PROPFIND, то каждый цикл синхронизации занимал бы неоправданно много времени и создавал бы излишнюю нагрузку на канал. Поэтому ПО Яндекс.Диска использует специальный API, который даёт возможность получать текущее состояние дерева файлов в облаке и изменения, произошедшие в нём, начиная с некоторого известного момента, определяемого версией дерева.
4. Получение оповещений об изменении облачной файловой системы. Синхронизация файлов в реальном времени требует своевременного получения оповещений об изменениях, произошедших с файлами в облаке. Можно было бы использовать периодический опрос сервера клиентами, но, оценив возможное количество клиентов, мы пришли к выводу, что такой подход окажется слабо масштабируемым и приведёт к быстрой перегрузке инфраструктуры сервиса. После недолгих поисков мы остановились на протоколе XMPP. Одна из его реализаций уже долгое время работает в Яндексе. Она была разработана командой, которая позже занимались созданием сервера WebDAV для проекта Яндекс.Диск, поэтому сложностей с интеграцией этого протокола не возникло.
5. Создание списка операций синхронизации. После того как в распоряжении ядра синхронизации оказываются оба дерева файлов — локальное и удалённое — можно приступать к самой процедуре синхронизации. Для этого применяется специальный алгоритм сравнения деревьев, принимающий на вход кроме двух упомянутых деревьев, ещё и третье — последнее синхронизированное. В результате работы алгоритма получается список операций, которые необходимо произвести над локальными и удалёнными файлами и директориям для приведения деревьев к общему виду.
6. Обработка очереди операций синхронизации. Создание списка операций для локального и удалённого деревьев происходит независимо. В результате могут появиться конфликтующие операции. Например, удаление в облаке файла, который был в нём изменён и ещё не синхронизирован локально, или изменение файла одновременно локально и в облаке. Конфликты модификации/удаления всегда разрешаются ядром в пользу модификации, а конфликты двойной модификации разрешаются переименованием одной из версий файла. Таким образом мы можем гарантировать сохранность данных и даём возможность после завершения синхронизации самому пользователю решить, какое из изменений больше ему подходит в каждом конкретном случае.
Операции синхронизации должны подчиняться строгому порядку, нельзя передавать файл, пока не создана его родительская директория. Так же директорию нельзя удалять, пока внутри неё остаются файлы, которые нужно переместить на новое место. Алгоритм сравнения деревьев уже создаёт операции в нужном порядке, но при возникновении ошибок он может нарушиться. Для предотвращения этой ситуации у каждой операции есть список зависимостей — набор операций, которые должны завершиться до начала её выполнения, и набор операций, которые не должны начаться, пока она не будет выполнена.
Кроме зависимостей на порядок выполнения операций оказывает влияние её приоритет. Например, операции передачи файлов выполняются в зависимости от размеров файлов — от маленьких к большим.
Дистрибутив ALT Linux. Версия клиента yandex-disk-indicator 1.9.6. Версия yandex-disk 0.1.5.948.
Получается не может получить статус? Статус считываться должен из
The text was updated successfully, but these errors were encountered:
midyukov-anton commented Feb 16, 2017
А закостылить можно что-то вроде такого:
Это костилилось по-разному уже не раз из за разных корявых настроек LC_ переменных у пользователей.
Установка LANG не срабатывает если установлена LC_MESSAGES.
Поэтому я запускаю демона в дефолтном, пустом окружении (env) и в нем ставлю значение LANG. Это 100% работает т.к. в дефолтном окружении переменные LC_* не установлены.
Но у вас похоже демон запущен под рутом или каки-то другим пользователем. Ведь env создает пустое окружение но пользователя не меняет, а демон у вас от вашего пользователя не запущен.
Покажите что говорит:
ps au | grep yandex-disk
midyukov-anton commented Feb 16, 2017
Демон yandex-disk запускается демоном yandex-disk-indicator
midyukov-anton commented Feb 16, 2017
Так может не переключать локаль вовсе, а локализовать текст который парсим?
slytomcat commented Feb 16, 2017
Индикатор пробует запустить демона и судя по логу успешно запускает — что потом происходит — не ясно пока, но по прошествии какого-то времени после старта демон исчезает. Вот с этим и надо разбираться.
Запускайте демона руками и смотрите, что происходит (по логам) — видимо демон на чем-то падает.
midyukov-anton commented Feb 16, 2017
Всё работает нормально. Я могу опубликовать файлы, синхронизация идёт. Только статус не получаем в индикаторе
env -i LANG=’en_US.UTF8′ похоже в Альте не работает почему-то, возможно баг. Вот к примеру:
Что у вас эта же команда выдаст?
У меня тоже ru_RU.utf8 выдает — но это какой-то глюк. Если вызвать env без команды, то он выдает окружение, так вот он выдает так:
midyukov-anton commented Feb 16, 2017
Короче решение проблемы на форуме Альта подсказали. Нужно, интерпретатор bash указать:
Вот так работает
LANG=’en_US.UTF8′ bash -c ‘echo $LANG’
en_US.UTF8
И соответственно нужно:
slytomcat commented Feb 16, 2017
Ну баш добавлять — это масло масленное. env по сути и есть еще одна версия баш со своим окружением.
midyukov-anton commented Feb 16, 2017
Покажите, где у вас это место в коде находится
slytomcat commented Feb 16, 2017
Просто echo — это команда самого баша и поэтому она печатете $LANG из первичного окружения а не из нового. yandex-disk — это отдельный процесс и он то запускается и берет LANG уже и нового окружения.
Получаю выхлоп демона я в методе YDDaemon:getOutput(self, userLang=False)
При вызове без параметров должен возвращатся выхлоп от демона в английской локали.
slytomcat commented Feb 16, 2017
У вас что env -i LANG=’en_US.UTF8′ bash -c ‘yandex-disk status’ выдает статус, а
env -i LANG=’en_US.UTF8′ yandex-disk status выдает что демон не запущен?
Похоже в пустом окружении yandex-disk сам себя не видит
slytomcat commented Feb 16, 2017
А что выдает
env -i LANG=’en_US.UTF8′ whoami
?
slytomcat commented Feb 16, 2017
Похоже действительно какое-то взаимное несварение у env и yandex-disk в ALT-е.
midyukov-anton commented Feb 16, 2017
slytomcat commented Feb 16, 2017
что выдают
ps au | grep yandex-disk
env -i bash -c «ps au | grep yandex-disk»
midyukov-anton commented Feb 16, 2017
slytomcat commented Feb 16, 2017
так у вас сейчас демон и не запущен.
slytomcat commented Feb 16, 2017
Или он очень хорошо спрятался .
midyukov-anton commented Feb 16, 2017
midyukov-anton commented Feb 16, 2017
slytomcat commented Feb 16, 2017
а
env -i LANG=’en_US.UTF8′ yandex-disk status
?
slytomcat commented Feb 16, 2017
У меня все-таки ощущение что демон у вас вываливается как-то сам. Логи смотрели?
midyukov-anton commented Feb 16, 2017
midyukov-anton commented Feb 16, 2017
А где логи лежат яндекс диска?
slytomcat commented Feb 16, 2017
В .sync в синхронизируем каталоге, ну и dmesg тоже стоит с хвоста посмотреть.
midyukov-anton commented Feb 16, 2017
Нет никаких ошибок, в логах всё в порядке. Не падает он.
midyukov-anton commented Feb 16, 2017
А что у вас выдаёт:
env -i LANG=’en_US.UTF8′ env
slytomcat commented Feb 16, 2017
Тогда у меня пока нет идей.
Делать сначала замену локали в текущем окружении, спрашивать статус и менять обратно — не правильное решение хотя бы еще и потому, что у меня есть там прерывания по таймеру и может статься что поменянное окружение вылезет не там где нужно.
Пускать в непустом окружении — опасно т.к. на выбор языка у яндексов каждый раз новые переменные отвечают (после того как я их отругал что они LC_CTYPE использовали, они сначала на LC_MESSAGES, а в последней версии они стали только на LANG реагировать). Только установка одной LANG дает предсказуемый результат с любой их версией.
slytomcat commented Feb 16, 2017
Во есть одна: попробуйте более свежий yandex-disk поставить — у меня стоит версия 0.1.5.978. Может глюк и пройдет.
slytomcat commented Feb 16, 2017
. может так попробовать
env -i LANG=’en_US.UTF8′ PATH=$PATH yandex-disk status
midyukov-anton commented Feb 16, 2017
Вот так работает:
midyukov-anton commented Feb 16, 2017
И вот так
env -i LANG=’en_US.UTF8′ TMPDIR=$TMPDIR yandex-disk status
slytomcat commented Feb 16, 2017
У меня ровно наоборот — если ставлю TMPDIR=$TMPDIR — то не находит демона, а без установки — находит. :0
midyukov-anton commented Feb 16, 2017
Будем альтовскую сборку значит патчить
slytomcat commented Feb 16, 2017
В Ubuntu переменная TMPDIR не определена и демон фигачит свои темпы (каталоги с именем вида yandex-disk-ea1fda1. 7050s прямо в /tmp.
Но видимо переменную TMPDIR демон любит больше чем дефолтные пути.
slytomcat commented Feb 16, 2017
Вот какое вижу «универсальное» решение:
- ищем в окружении переменную TMPDIR, если не находим то берем вместо ее значения /tmp
- запускаем демона с указанием ему переменной TMPDIR со значением определенном на шаге 1.
slytomcat commented Feb 16, 2017
Попробуйте из ветки dev взять код — я там сделал как написано выше.
slytomcat commented Feb 16, 2017
погонял на виртуалках с несколькими дистрибутивами — вроде все работает как надо. Влил в мастер и опубликовал в релизе 1.9.7.
Читайте также:
- Как убрать скайп из автозагрузки windows 10
- Linux настройка веб камеры
- Настройка резервного копирования postgresql windows
- Как активировать windows server 2012 r2 standard
- Мышка отключается и включается windows 10
- Valpet
- ↑
- ↓
-
У меня при таком сценарии все устанавливается на корневой раздел в папку root. Не пойму почему. Можно ли это как то исправить? А если с индикатором, то происходит такая же байда как и в топике — не синхронизирует.
Последний раз редактировалось
- v85
- ↑
- ↓
-
«устанавливается на корневой раздел», может путь до папки неверен, у меня синхронизация идет с диском в формате ntfs. Три переустановки ОСи и не разу не сбоило, всегда приложение находило указанную папку и тут же синхронизировалось с ней.
Индикатор не нужен, если уж надо проверить работу, то можно просто войти в Запущенные процессы и посмотреть в Передача\Загрузка, там и посмотреть идет ли обмен между ПК и Облаком.
- HargardMoroznyy
- ↑
- ↓
-
Значит ты запускал «yandex-disk setup» от root’a. Удаляй, ставь заново.
Разве инидикатор вообще работает?
Для показа статуса есть «yandex-disk status». Проверь что он у тебя вообще запускается при старте системы. Потому что на КДЕ он не запускается.
Последний раз редактировалось
- Valpet
- ↑
- ↓
-
Привет.Всем спасибо за ответы. Но я уже разобрался, индикатор устанавливается и работает без проблем, вся проблема была в правах на чтение/запись каталога Yandex.Disk и файлов config и passwd. Почему то был запрет на доступ. А «yandex-disk setup» запускал да, от рута, каюсь. Больше не буду. А с индикатором просто наглядней.
Последний раз редактировалось
Содержание
- Причины проблем с синхронизацией Диска и их решение
- Причина 1: Синхронизация не включена
- Причина 2: Неполадки интернет-соединения
- Причина 3: Нет места в хранилище
- Причина 4: Синхронизация блокируется антивирусом
- Причина 5: Не синхронизируются отдельные файлы
- Причина 6: Блокировка Яндекса на Украине
- Сообщение об ошибке
- Вопросы и ответы
Содержимое папки Яндекс Диска совпадает с данными на сервере благодаря синхронизации. Соответственно, если она не работает, то теряется смысл использования программной версии хранилища. Поэтому исправлением ситуации нужно заняться как можно скорее.
Причины проблем с синхронизацией Диска и их решение
Способ решения проблемы будет зависеть от причины её возникновения. В любом из случаев разобраться, почему Яндекс Диск не синхронизируется, можно самостоятельно, не потратив много времени.
Причина 1: Синхронизация не включена
Для начала самым очевидным будет проверить, включена ли синхронизация в программе. Для этого кликните по значку Яндекс Диска и вверху окна узнайте о её состоянии. Для включения нажмите соответствующую кнопку.
Причина 2: Неполадки интернет-соединения
Если в окне программы, Вы увидите сообщение «Ошибка соединения», значит, логично будет проверить, подключен ли компьютер к Интернету.
Для проверки интернет-соединения нажмите на значок «Сеть». При необходимости подключитесь к рабочей сети.
Обратите также внимание на состояние текущего подключения. Здесь должен быть статус «Доступ к Интернету». В противном случае нужно обращаться к провайдеру, который обязан решить проблему с подключением.
Иногда ошибка может возникать по причине низкой скорости интернет-соединения. Поэтому нужно попытаться запустить синхронизацию, отключив другие приложения, использующие Интернет.
Причина 3: Нет места в хранилище
Возможно, на Вашем Яндекс Диске попросту закончилось место, и новым файлам некуда загружаться. Чтобы это проверить, перейдите на страницу «облака» и посмотрите на шкалу его наполненности. Она расположена внизу боковой колонки.
Для работы синхронизации хранилище нужно очистить или расширить.
Причина 4: Синхронизация блокируется антивирусом
В редких случаях антивирусная программа может блокировать работу синхронизации Яндекс Диска. Попробуйте ненадолго отключить её и понаблюдать результат.
Но помните, что не рекомендуется оставлять компьютер без защиты на длительное время. Если синхронизация не работает из-за антивируса, то лучше поставить Яндекс Диск в исключения.
Подробнее: Как добавить программу в исключения антивируса
Причина 5: Не синхронизируются отдельные файлы
Некоторые файлы могут не синхронизироваться потому что:
- вес этих файлов слишком большой, чтобы разместить их в хранилище;
- эти файлы используются другими программами.
В первом случае нужно позаботиться о свободном месте на диске, а во втором – позакрывать все программы, где открыт проблемный файл.
На заметку: файлы объёмом более 10 Гб на Яндекс Диск загрузить вообще нельзя.
Причина 6: Блокировка Яндекса на Украине
В связи с недавними нововведениями в законодательстве Украины, Яндекс и все его сервисы перестали быть доступными для пользователей этой страны. Работа синхронизации Яндекс Диска также под вопросом, т.к. обмен данными происходит с серверами Яндекса. Специалисты этой компания делают всё возможное для решения проблемы, но пока украинцы вынуждены искать пути обхода блокировки самостоятельно.
Возобновить работу синхронизации можно попытаться, используя подключение по технологии VPN. Но в данном случае речь не идёт о многочисленных расширениях для браузеров — Вам понадобится отдельное приложение VPN, чтобы шифровались подключения всех приложений, в том числе и Яндекс Диска.
Подробнее: Программы для смены IP
Сообщение об ошибке
Если не один из приведённых методов не помогает, то правильно будет сообщить о проблеме разработчикам. Для этого нажмите на значок настроек, наведите курсор на пункт «Справка» и выберите «Сообщить в Яндекс об ошибке».
Далее Вы попадёте на страницу с описанием возможных причин, внизу которой будет форма обратной связи. Заполните все поля, как можно подробнее описав проблему, и нажмите кнопку «Отправить».
Вскорости Вы получите ответ от службы поддержки по Вашей проблеме.
Для своевременного изменения данных в хранилище должна быть включена синхронизация в программе Яндекс Диск. Для её работы компьютер должен быть подключён к Интернету, в «облаке» должно быть достаточно места для новых файлов, а сами файлы не должны быть открыты в других программах. Если причину проблем с синхронизацией не удалось выяснить, обратитесь в службу поддержки Яндекса.
- Печать
Страницы: 1 … 38 39 [40] 41 42 … 123 Вниз
Тема: Плагины/индикаторы для индикации статуса синхронизации с Yandex-disk (Прочитано 912625 раз)
0 Пользователей и 1 Гость просматривают эту тему.

Phlya
Что-то у меня в последней версии когда все синхронизировано индикатор показывает ошибку… Если добавляю что-то в синхронизируемую папку, то просыпается и все нормально синхронизируется. Как закачает, сразу пишет ошибку и краснеет.
Ubuntu 14.04 (Unity), MSI GE40

chrome_cat

Phlya
Ubuntu 14.04 (Unity), MSI GE40

Sly_tom_cat
Phlya, вывод отладчика смотрел? И что еще показывает yandex-disk satatus в момент покраснения индикатора.
У меня просто он иногда пишет нет связи при том, что у меня работает нормально интернет. Но это идет из демона — он такой статус выставляет… И, кстати, когда реально комп из offline выходит в сеть — демон долго еще не может прочухаться… я уже думал — может его пинать ка-то… или уже таки начать переписывать его….

snowdimon
У меня просто он иногда пишет нет связи при том, что у меня работает нормально интернет. Но это идет из демона — он такой статус выставляет… И, кстати, когда реально комп из offline выходит в сеть — демон долго еще не может прочухаться…
Может тупо рестарт делать?)

Phlya
Sly_tom_cat,
да, status выдает ошибку.
ilya@ilya-GE40-2OL:~$ yandex-disk status
Что бы это значило… Ругается на ссылку, которую я в папку сделал, но она там не одна такая.
Статус ядра синхронизации: ошибка
Ошибка: ошибка доступа
Путь: 'BG3_IC-by-chromosome-heatmap-20K.hdf5'
...
Ubuntu 14.04 (Unity), MSI GE40

Sly_tom_cat
Phlya, тут я не дока — что там не нравится YD демону это надо у тындексов в саппорте спросить… Хотя… Ошибка доступа наверное подразумевает что демон не может открыть содержимое файла…. Хотя кто его знает что они заложили в смысл этой фразы — гайда толкового (где хотя бы все статусы были описаны, не говоря уже об ошибках) мне не попадалось. А их ман — в лучшем случае на простенкий хелп тянет… не ман ни разу…
Я вот тут с именами файлов баловался, так такого наворотил — что xdg-open начал ругаться (просто в имени была куча символов типа !»#;%:?*();'»: )
snowdimon, рестартовать демона из-за того что он долго не прочухивает сеть — это грубо как-то…
Вот за что я не люблю закрытый код — был бы открытый — возможно там просто тайм-аут какой подправить надо…
« Последнее редактирование: 11 Мая 2014, 23:44:18 от Sly_tom_cat »

chrome_cat
Sly_tom_cat, snowdimon, спасибо за возможность публиковать файлы в ЯД через контекстное меню наутилуса.
Буду благодарен, если реализуете похожую функцию, а именно возможность не опубликовать, а просто «расшарить» файл/папку на Ядиск.
Думаю будет несколько удобнее, нежели просто копировать необходимые данные в Yandex.Disk.
Спасибо.
Или может проще самому что-то дописать? В папку сценариев наутилуса.

Sly_tom_cat
chrome_cat, не совсем понял чего именно вы хотите? «просто «расшарить» файл/папку на Ядиск» — это имеется в виду перенести файлы в каталог Ядиска?
Можно же просто добавить каталог в … х.з. как/где оно в наутилусе, а в Thunar есть раздел «послать в» (Send to), туда можно что угодно добавить и ссылку на каталог и на приложение.
У меня настроить это заняло ~2 минуты с учетом поиска в гугле — где и как это настроить…
Да и копировать прямо в корень облачного каталога — ИМХО не самая умная идея — я допустим в облаке держу определенную структуру каталогов и в корне абы что — мне просто не нужно.

Phlya
ИМХО можно делать ссылку в каталог яндекса, чтобы не делать две копии одного файла на компе. Тогда можно просто подпапку в основной папке создать для такого расшаривания.
Ubuntu 14.04 (Unity), MSI GE40

Agafonov
ИМХО можно делать ссылку в каталог яндекса, чтобы не делать две копии одного файла на компе. Тогда можно просто подпапку в основной папке создать для такого расшаривания.
Подтверждаю работу символической ссылки в каталоге Я.Диска.
Но предупрежу, что на других системах после синхронизации будет обычный каталог/файл, а не ссылка.
Так что тут не всё так однозначно.
Ubuntu 16.04 LTS @ Desktop & Servers

Sly_tom_cat
Ребят, ну это уже, извините, совсем уже бантики… на их цвет — товарищей нет — а встраивать в софтинку бантики всех цветов и оттенков, а потом наворачивать систему настройки оттенков бантиков…. — ну ей-ей нет ни малейшего желания…
Я тут второй день ковыряюсь с бантиками вокруг опций —read-only и —overwrite и конфига тындексного диска… Вот ей-ей — уже чисто спортивный интерес добить эту тему — нужна она полутора человекам (и не мне ни разу)… а времени отъедает….
В to-do еще настройка —exclude-dirs=DIR1,DIR2,… но у меня на нее, после возни с —read-only и —overwrite уже прямо отвращение какое-то….
« Последнее редактирование: 14 Мая 2014, 16:40:31 от Sly_tom_cat »

snowdimon
Я тут второй день ковыряюсь с бантиками вокруг опций —read-only и —overwrite и конфига тындексного диска… Вот ей-ей — уже чисто спортивный интерес добить эту тему — нужна она полутора человекам (и не мне ни разу)… а времени отъедает….
все-таки взялся?) опция полезная, но я ей тоже не пользуюсь… для таких случаев есть webdav.

chrome_cat
Sly_tom_cat, прошу прощения, к своему стыду не знал, что так можно делать и это действительно просто.

Sly_tom_cat
Залил на LP версию 1.1.6
— убрал ошибки при открытии файла/каталога (из меню последних синхронизированных) которые не существуют (были переименованы/удалены)
— убрал нехорошую фичу — окно настроек можно было открыть несколько раз (теперь пункт меню блокируется пока окно не закроется)
— Переделал оно настроек
1. поменял тип окна что бы была нормальная кнопка на закрыте
2. разделили настройки индикатора и демона на две различных закладки
— Добавил в настройки опции демона read-only и overwrite (пишутся в конфиг, для их применения нужно перезапустить демона).
Ну и по мелочи правка и оптимизация кода и комментариев в нем.
- Печать
Страницы: 1 … 38 39 [40] 41 42 … 123 Вверх
Если не синхронизируется Яндекс.Диск с компьютером, то теряется всякий смысл пользоваться программной версией этого хранилища.
Как известно, задача синхронизации состоит в том, чтобы на компьютере в папке Яндекс.Диска и в облачном хранилище были одинаковые данные. Что такое Яндекс.Диск и как им пользоваться, рассматривается в этой статье.
Содержание
- По каким причинам не синхронизируется Яндекс.Диск
- Не включена синхронизация
- Неустойчивое интернет-соединение
- На Яндекс.Диске недостаточно места
- Блокировка антивирусом
- Не синхронизируются отдельные файлы
Это означает, что все операции с данными на компьютере, такие как удаление, переименование, копирование, изменение и добавление файлов должны в автоматическом режиме синхронизироваться с облачным хранилищем.
Причины, почему не синхронизируется Яндекс.Диск
Может быть несколько причин, почему появляются проблемы с синхронизацией Яндекс.Диска:
- Синхронизация не включена
- Неустойчивое интернет соединение
- Нет места на Яндекс.Диске, синхронизация невозможна
- Блокировка синхронизации антивирусной программой
- Не синхронизируются отдельные файлы
Синхронизация Яндекс.Диска не включена
Сначала надо проконтролировать, включена ли вообще синхронизация. В трее наводим курсор мышки на иконку Яндекс.Диска и всплывает окошко с уведомлением, что синхронизация выключена.
Чтобы синхронизацию включить, кликаем по иконке Яндекс.Диска правой кнопкой и в контекстном окошке кликаем по пункту меню Включить синхронизацию. Выполняется ее запуск.
Неисправности интернет-соединения
При открытии окна программы видим предупреждение — Ошибка соединения. Следует проверить подключение компьютера к Интернету.
Для того, чтобы проверить соединение, нажимаем на иконку Сеть. При надобности подключаемся к рабочей сети или обращаемся за помощью к провайдеру.
Иногда может получиться так, что скорость соединения очень низкая и поэтому возникает ошибка синхронизации.
В этом случае, чтобы обеспечить работу синхронизации, возможно, придется ограничить работу других приложений, пользующихся интернетом.
На Яндекс.Диске мало места
При недостатке места новые файлы не смогут загружаться и синхронизации не будет.
Для проверки идем на страницу облака и здесь надо проверить шкалу наполненности облачного хранилища.
Шкала располагается в боковой левой колонке, внизу страницы.
Чтобы синхронизацию запустить, придется хранилище очистить от ненужных файлов, либо принять меры к его расширению.
Как увеличить дисковое пространство, можно посмотреть здесь.
Блокировка синхронизации Яндекс.Диска антивирусным приложением
Иногда синхронизацию Яндекс.Диска может блокировать установленный антивирус.
Чтобы это выявить, стоит на недолго отключить антивирусную программу и понаблюдать за результатом.
Если определится, что Яндекс.Диск не синхронизируется как раз по этой причине, то его надобно поставить в исключение антивируса.
Отдельные файлы не синхронизируются
Какие-то файлы на компьютере могут не синхронизироваться с Яндекс.Диском по нескольким причинам:
- Если они используются в настоящее время другими приложениями. Приложения придется в этом случае закрыть.
- Размер отдельных файлов очень большой, в хранилище не помещается. Более 10 Гб загрузить на Яндекс.Диск вообще не получится.
- Иногда может получиться так, что названы отдельные файлы некорректно. В частности, они могут содержать символы, которые к кодировке Unicode не относятся.
- В таком случае эти данные необходимо переименовать, дав им допустимые имена.
Если по прежнему, не синхронизируется Яндекс Диск и разрешить проблему никоим образом не получается, остаётся прибегнуть к службе поддержки Яндекса, где обязательно помогут.