Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Плагины/индикаторы для индикации статуса синхронизации с Yandex-disk  (Прочитано 1060779 раз)

0 Пользователей и 9 Гостей просматривают эту тему.

Оффлайн wfedin

  • Участник
  • *
  • Сообщений: 132
    • Просмотр профиля
Не меняется иконка индикатора, версия 1.1.7
Ubuntu 14.04 с юнити

(Нажмите, чтобы показать/скрыть)

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
wfedin, спасибо за репорт.

Оказывается если имя каталога YD с русскими буквами - то нужно чуть пошаманить с юникодом.
Эту ситуацию никто не тестировал (думаю мало кто не соглашается с дефолтовым названием, которое все в инглише). Вы выцепили глюк который и проф тестеры могли пропустить.

Сейчас буду шаманить.... 8)

.....
Внес кое какие правочки.
Попробуйте положить вместо /opt/yd-tools/yandexDiskIndicator.py файл из приложенного архива и отпишитель плиз - помогло?
« Последнее редактирование: 16 Ноября 2015, 16:13:04 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн chrome_cat

  • Активист
  • *
  • Сообщений: 923
    • Просмотр профиля
Sly_tom_cat, та ошибка про которую я ранее писал не похожа на ту о которой написал wfedin?
Ведь индикатор почему-то запускается в русской локали. Может общее что-то получится найти?

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
chrome_cat, нет.

Там у вас была засада в том, что yd клиент отказывался выдавать сообщения в локали en_us, которую я спецом выставляю в окружении процесса индикатора для того, что бы точно знать - какие ключевые слова искать при разборе вывода yandex-disk status. Запускаемый подпроцесс с клиентом наследует локаль родительского и с-но выдает (должен) сообщения на инглише (ключевые слова которого чуть легче анализировать т.к. английские слова в массе короче русских). Затачивать анализ выхлопа на несколько языков - это неразумно - вдруг завтра YD станет так популярен что тындексы добавят в него стопятьсот языков (сейчас, на сколько я понял там только EN|RU|UA).

Фактически локаль для индикатора - русская (по ней берутся переводы т.к. изначально интерфейс писался на английском). Но переменная LANG выставлена на английский, и именно по ней определяется язык сообщений которые выдает yd клиент.

У вас по какой-то причине клиент игнорит LANG и выдает сообщения на русском от чего ломается анализатор (он ждет английских ключевых слов).

То что я поправил (лежит в архиве выше) решает выявленную траблу когда путь к синхронизируемому каталогу содержит русски символы. В принципе на вашу траблу это может отразится тем, что будет выдаваться статус 'error' (возможно) но работать индикатор не будет (при работающем клиенте).

Надо разбираться с тем - почему клиент не хочет в инглише отвечать....
« Последнее редактирование: 20 Июня 2014, 19:18:15 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн chrome_cat

  • Активист
  • *
  • Сообщений: 923
    • Просмотр профиля
Sly_tom_cat, ну так как я далек от программирования, то мало что понял.
Впрочем, пытался узнать через саппорт с чем может быть связана проблема. Ответили, мол, разбирайтесь с разработчиком. Ну этого следовало ожидать.

У них (или у меня, я так и не понял) там трабла была со скриптом postinstall. C какого перепуга у меня клиент стартует в русской локали сам не пойму. Дома на 12.04 ставил все то же самое - встало как влитое. А на работе вот такая беда приключилась. Впрочем, та Ubuntu что на работе, обновлялась с 11.10 до 12.04. Еще установлен localepurge. Не знаю может ли это чем-то помочь, так на всякий случай информация. Авось пригодится или мысли появятся.
Я конечно извиняюсь, что пристаю с хотелками. Мог бы чем помочь, с радостью помог. Уж сильно не серчайте. :)

Оффлайн wfedin

  • Участник
  • *
  • Сообщений: 132
    • Просмотр профиля
.....
Внес кое какие правочки.
Попробуйте положить вместо /opt/yd-tools/yandexDiskIndicator.py файл из приложенного архива и отпишитель плиз - помогло?

У меня заработал, Спасибо.

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 20 Июня 2014, 22:08:31 от wfedin »

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
wfedin, Спасибо большое что помогли в тестировании (самому влом было перенастраивать клиента на русский каталог что-б проверить :-[ )

Скоро залью обновление с этой правкой.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Впрочем, та Ubuntu что на работе, обновлялась с 11.10 до 12.04. Еще установлен localepurge.
Возможно в этом и кроется какая-то кривизна... но точнее сказать трудно...  :idiot2: Английскую локаль(через localepurge), как я понимаю, вы удалить не могли - она как бы системная... :idiot2: хотя... :idiot2: возможно :idiot2: стоит явно добавить локаль en_US.UTF-8.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн chrome_cat

  • Активист
  • *
  • Сообщений: 923
    • Просмотр профиля
Sly_tom_cat, не мог. Да и не удалил ибо:
~$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
ru_RU.utf8
ru_UA.utf8
Переконфигурировал localepurge и ничего не изменилось. Была только русская локаль отмечена. Отметил еще и английские все. Не помогло.

P.S. Sly_tom_cat, вот еще набрел на мысль:
Если запустить индикатор на 14.04 то в выхлопе Watched file is: "/home/user/Yandex.Disk/.sync/cli.log"Если то же самое сделать на проблемной 12.04, то:Watched file is: "�инхронизации: остановлен
Путь к папке Яндекс.Диска: /.sync/cli.log"
Пути разные.
Может если исправить, то все наладится?
« Последнее редактирование: 23 Июня 2014, 11:07:11 от chrome_cat »

Оффлайн siliset

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
автору респект. большое спасибо. отличная работа.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Если запустить индикатор на 14.04 то в выхлопе Watched file is: "/home/user/Yandex.Disk/.sync/cli.log"Если то же самое сделать на проблемной 12.04, то:Watched file is: "�инхронизации: остановлен
Путь к папке Яндекс.Диска: /.sync/cli.log"
Видите кавычки в выхлопе дебага?
В первом случае у вас алгоритм правильно вырезал из вывода, который дал yandex-dist status (в английской локали) значение: "/home/user/Yandex.Disk" и прицепив к нему константу (относительный путь к файлу лога) ".sync/cli.log" получил "/home/user/Yandex.Disk/.sync/cli.log"

Во втором же случае, сообщение по русски, выданное yandex-dist status, попросту не смогло быть правильно разобрано алгоритмом, и в переменную пути к ЯДиску попала строка "�инхронизации: остановлен  <здесь стоит символ "перенос строки"
Путь к папке Яндекс.Диска: "
Это - ошибка. Но ошибка связанная с тем что у вас yandex-disk отказывается выдавать сообщения в английской локали.

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

export LANG=en_US.UTF-8; yandex-disk status
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн baf

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Уже какое обновления, а один косяк так и остается. При включении индикатора стартует и сервис, хотя в настройках сервсиса галочка автостарт выключена. Уже начинает напрягать каждый раз старт сервиса вместе с индикатором.

Оффлайн oermolaev

  • Старожил
  • *
  • Сообщений: 1479
    • Просмотр профиля
baf,
здесь посмотрите:
~/.config/autostart
что не нужно - можно удалить.

Оффлайн baf

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
baf,
здесь посмотрите:
~/.config/autostart
что не нужно - можно удалить.
ll ~/.config/autostart/
итого 40
drwxrwxr-x  2 baf baf  4096 июня  28 13:04 ./
drwx------ 43 baf baf  4096 июня  22 14:27 ../
-rw-rw-r--  1 baf baf  2769 марта  7 16:10 cairo-dock.desktop
-rw-rw-r--  1 baf baf 16619 июня  28 13:04 indicator-multiload.desktop
-rw-rw-r--  1 baf baf   250 янв.  25 09:35 remmina-applet.desktop
-rwxr-xr-x  1 baf baf   311 июня  28 09:44 Yandex.Disk-indicator.desktop*
Я же говорю дело в индикаторе, это он запускает сервис, а не должен.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
baf, могли бы чуточку выше почитать. Для ленивых - повторю - индикатор не может запуститься, если не запущен демон.
Это не баг и даже не фича, а просто необходимость.

Так же неплохо бы что бы вы внимательно читали - за что отвечают настройки: "Запускать сервис Яндеск.Диск при старте системы" - вполне же очевидно - что имеется в виду или я плохо сформулировал? :idiot2:
« Последнее редактирование: 28 Июня 2014, 11:42:39 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

 

Страница сгенерирована за 0.021 секунд. Запросов: 21.