Автор Тема: Яндекс.Диск  (Прочитано 27296 раз)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Яндекс.Диск
« Ответ #150 : 18.02.2017 11:51:01 »
env -i LANG='en_US.UTF8' TMPDIR=$TMPDIR yandex-disk status

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Яндекс.Диск
« Ответ #151 : 18.02.2017 12:06:01 »
Я бы запустил без выпендрёжа:
LC_ALL=C yandex-disk status
Андрей Черепанов (cas@)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Яндекс.Диск
« Ответ #152 : 18.02.2017 12:10:27 »
Я бы запустил без выпендрёжа:
LC_ALL=C yandex-disk status

Сделайте патч :-)

/usr/bin/yandex-disk-indicator
Строка 588:
      cmd = ['env', '-i', "LANG='en_US.UTF8'", "TMPDIR=%s"%tmpDir] + cmd
на строку так полагаю:
cmd = ['env', "LC_ALL=C"] + cmd
« Последнее редактирование: 18.02.2017 12:29:43 от Антон Мидюков »

medov

  • Гость
Re: Яндекс.Диск
« Ответ #153 : 18.02.2017 13:06:31 »
Видать я-диск не мог синхронизировать вон тот файлик временный... Удалил его, всё заработало.

[medov@medov ~]$ LC_ALL=C yandex-disk status
Synchronization core status: error
Error: server failure
Path: 'Soft/server/parse.sh�'
Path to Yandex.Disk directory: '/home/medov/Yandex.Disk'
Total: 249 GB
Used: 129.65 GB
Available: 119.35 GB
Max file size: 10 GB
Trash size: 0 B

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Яндекс.Диск
« Ответ #154 : 18.02.2017 13:11:57 »
Path: 'Soft/server/parse.sh�'

Символ нечитабельным оказался. Сейчас статус показывается в индикаторе?

medov

  • Гость
Re: Яндекс.Диск
« Ответ #155 : 18.02.2017 13:17:52 »
Сейчас статус показывается в индикаторе?
да, всё работает как надо) спасибо

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Яндекс.Диск
« Ответ #156 : 18.02.2017 15:16:14 »
2 Антон Мидюков: если бы ещё не это время было...
Андрей Черепанов (cas@)

Оффлайн Sly_tom_cat

  • Начинающий
  • *
  • Сообщений: 8
Re: Яндекс.Диск
« Ответ #157 : 15.03.2017 01:26:36 »
Ребята, я с этим LANG уже много всякого перепробовал....
Тындексы несколько версий назад брали язык пользователя из LC_CTYPE :-o :-\
Я им отписал - в обновлении переделали на LC_MESSAGES.
Дабы не пытаться угадать, что они используют и был использован финт с env -i LANG='en_US.UTF8' ...
Суть в том, что в обнуленном окружении установка LANG приводит к тому, что попытка обратиться к любой LC_* выдает значение из LANG.
А у пользователя в LANG/LC_* может быть настроена та еще солянка, и пытаться все это сохранить а потом восстанавливать - довольно заморочно, env дает простое решение этой проблемы.

Но собственно проблема у Антон Мидюков была не в кодировке, в том, что env -i тер переменную TEMPDIR, которую (как оказалось) яндекс-диск использует для выбора пути где создавать сокет для общения с демоном и там же утилита запущенная с ключем status и ищет сокет.

Я доработал в 1.9.7. что бы TEMPDIR восстанавливалась в env. А установка LC_ALL как показали эксперименты - не панацея, тындексы кажись теперь на LANG смотрят. И всю эту чахорду с переменными нужно env -i LANG='en_US.UTF8' ... решает IMHO самым оптимальным способом.   
 
++++
Кстати я там поправил кой-какие ошибки в много профильном запуске (когда индикаторы рисуются в панель сразу для нескольких акаунтов yandex-disk-а) в 1.9.8.