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


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

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

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

Оффлайн NoNameForMe

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
- во вторых я уже довольно давно Яндекс-диском сам не пользуюсь.
а чем пользуешься? )

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 4494
    • Просмотр профиля
NoNameForMe, пользоваться поиском по форуму не пробовал, или ты просто накапливаешь количество сообщений?  ;)

      ... вот тут читай ответ на свой вопрос  :)

Оффлайн Sly_tom_cat

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

Однако проекты с индикаторами яндекс-диска (их на самом деле два сейчас) я не забрасываю.
Была попытка поделиться ответственностью с человеком, который брался KDE версию нативную сделать для python версии, но он как-то пропал.

А вот когда в go-шной версии индикаторной библиотеки появился форк с использование индикатора через D-BUS (гораздо более универсальное решение, не привязанное к DE), то я довольно долго отлаживал и делал обновленную go-версию. Но вот там на самом деле не так все гладко получилось по факту. Пришлось даже патчить библиотеку т.к. нашлась в потрохах многих индикаторов кривоватая древняя и никем не поддерживаемая библиотека с одним небольшим глюком обойти который было не так то просто... Однако и это не все беды - есть еще и другие кривые реализации индикаторов на стороне DE обслуживающих тот интерфейс D-BUS который использует индикатор yd-go...

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

Оффлайн Rootdiv

  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
    • Web-разработчик
После обновления deb пакета индикатора и перезапуске диска с индикатором сначала появляется сообщение об ошибке, а через примерно минуту индикатор начинает работать нормально.
Ubuntu Mate 22.04.3 64 bit

Оффлайн Sly_tom_cat

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

И там возможно поправить надо а для этого не могли бы вы выполнить в терминале и прислать мне вывод:
yandex-disk stop
yandex-disk start

И еще что именно видно в выводе логов индикатора когда перезапускается yandex-disk.
yadex-disk-indicator -l10


« Последнее редактирование: 23 Июля 2023, 18:33:43 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Rootdiv

  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
    • Web-разработчик
А какая именно версия?
1.12.1
Вывод команд яндекс.диска
yandex-disk stop
Демон остановлен.
yandex-disk start
Запуск демона...Готово
Вывод логов команды yandex-disk-indicator -l10
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 23 Июля 2023, 21:38:35 от Rootdiv »
Ubuntu Mate 22.04.3 64 bit

Оффлайн Irshat

  • Активист
  • *
  • Сообщений: 554
    • Просмотр профиля
Debian 12.1 XFCE че-то не завелся, завис при авторизации. Ubuntu под рукой нет, проверить. На 22.4 работает?
Взял отсюда https://ppa.launchpadcontent.net/slytomcat/ppa/ubuntu/pool/main/y/yd-tools/yd-tools_1.12.1_all.deb
Вызов yandex-disk-indicator -l10
(Нажмите, чтобы показать/скрыть)
После закрытия окошка авторизации, вот это вышло

Поигрался немного, хотел закрыть, не вышло. Чего-то походу в системе не хватает.
« Последнее редактирование: 24 Июля 2023, 01:23:59 от Irshat »

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Rootdiv, О, уже понятнее...
Попробовал убрать там лишние проверки которые из-за русского языка не срабатывали правильно. Да они собственно и не нужны - там exit code будет не 0 если индикатор не сможет стартовать и тогда уже там эксепшен выскочить должен (который как раз как ошибка обрабатывается).

Возмите из бранча dev файл daemon.py

И скопируйте его в /usr/share/yd-tools (c sudo).

Должна пропасть эта мерцающая ошибка при презапуске диска.

Если все ок - опубликую обновление.

Пользователь добавил сообщение 24 Июля 2023, 02:22:08:
Irshat, О у вас что-то совсетм странное. Там даже ffmpeg какойто вылез..... дичь....


У вас то сам yandex-disk настроен? Работает?

Если в терминале написать

yandex-disk start
Что он там напишет?
« Последнее редактирование: 24 Июля 2023, 02:22:08 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Irshat

  • Активист
  • *
  • Сообщений: 554
    • Просмотр профиля
У вас то сам yandex-disk настроен? Работает?
$ yandex-disk start
Ошибка: файл с OAuth-токеном не найден.
Используйте команду 'token' для аутентификации и создания этого файла
Похоже не работает, хотя вроде бы стандартно установил и без ошибок встало.

Пользователь добавил сообщение 24 Июля 2023, 10:44:19:
Там даже ffmpeg какойто вылез.....
Это наверно когда я с лотка программы пытался открыть диск в интернете. Яндекс браузер когда запускается, он его запускает.
Лог я выставил, после того как окошко авторизации закрыл, и поигрался с программой в лотке.
« Последнее редактирование: 24 Июля 2023, 10:44:19 от Irshat »

Оффлайн Rootdiv

  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
    • Web-разработчик
Sly_tom_cat, запустилось без ошибок
(Нажмите, чтобы показать/скрыть)

Похоже не работает, хотя вроде бы стандартно установил и без ошибок встало.
Установить мало, нужно ещё авторизоваться в приложении.
Ubuntu Mate 22.04.3 64 bit

Оффлайн Irshat

  • Активист
  • *
  • Сообщений: 554
    • Просмотр профиля
Установить мало, нужно ещё авторизоваться в приложении.
Авторизовался в приложении все по маслу прошло. Синхронизация сразу же пошла. В Тунаре через правую кнопку закинул, так-же сразу на ЯД оказался.
Вообщем первое печатлление хорошее.
Посмотрим как дальше себя покажет.

Цитировать
Для индикатора на Python (GTK+):
- поддержка Python3 + стандартные Python-библиотеки для поддержки GTK, inotify, AppIndicator.
- плагин индикатров в панели вашего десктп-окружения.
- установленный (но не обязательно настроенный - настроить можно и через индикатрор) клиент синхронизации yandex-disk.
Вот здесь похоже надо исправить.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Irshat, Там в индикаторе есть запуск стороннего скрипта для настройки соединения (под капотом из окошек zenity собирается необходимые параметры и вызывается тот самый `yandex-disk token`.

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

И если у вас сразу после установки yandex-disk не получилось прошагать все диалоги настройки из индикатора, то там может быть две причины: либо вы что-то не то вводили, либо этот сторонний скрип стал не совсем адекватен поведению последних обновленных версий yandex-disk.

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

Собственно уже настроенное не надо сносить, просто остановите индикатор (через его меню) и диск, после чего переименуйте папки с его настройками и местом хранения данных диска. Например для установок по умолчанию будет что-то типа:
## закрываем индикатор через его меню, затем в терминале
yandex-disk stop
mv ~/.config/yandex-disk ~/.config/yandex-disk_back
mv ~/Yandex.Disk ~/Yandex.Disk_back

После чего стартуйте снова индикатор (yandex-disk-indicator -l10) и соглашайтесь настроить, когда он сообщит что не удалось запустить диск.
Тут внимательно все укажите и постарайтесь сделать скриншоты или просто подробно опишите свои действия (ваши логин и пароль от диска мне, само собой, не нужны).

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

откатить можно просто (предварительно выйдя из индикатора через меню и остановив yandex-disk):
rm -rf ~/.config/yandex-disk
rm -rf ~/Yandex-Disk
mv ~/.config/yandex-disk_back ~/.config/yandex-disk
mv ~/Yandex-Disk_back ~/Yandex-Disk

Rootdiv, понятно. Пойду публиковать обновление.

Пользователь добавил сообщение 25 Июля 2023, 00:52:02:
Опубликовал 1.12.2 с исправлением мерцающей ошибки на рестарте. Для Jammy уже а для остальных поддерживаемых (Xenial, Trusty, Bionic, Lunar, Focal, Mantic) скоро должны доехать запросы на публикацию. После чего обновления придут.
« Последнее редактирование: 25 Июля 2023, 00:52:02 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Irshat

  • Активист
  • *
  • Сообщений: 554
    • Просмотр профиля
Установил чистую Xubuntu 22.04. Все также, не открылось окно настройки яндекса-диска. Я так понял ваша утилита должна открыть браузер, ну и там добавить в доверенные и все такое. Хотя я вчера уже добавил вашу утилиту в доверенные. Но запуск так и подвис на авторизации.
Логи и скрины, что выходит:
irshat@irshat-G41T-M5:~$ yandex-disk stop
Ошибка: файл с OAuth-токеном не найден.
Используйте команду 'token' для аутентификации и создания этого файла
irshat@irshat-G41T-M5:~$ mv ~/.config/yandex-disk ~/.config/yandex-disk_back
irshat@irshat-G41T-M5:~$ mv ~/Yandex.Disk ~/Yandex.Disk_back
irshat@irshat-G41T-M5:~$ yandex-disk-indicator -l10
2023-07-25 23:58:58,920 INFO     yandex-disk-indicator v.1.12.2
2023-07-25 23:58:58,920 DEBUG    Logging level: 10
2023-07-25 23:58:58,933 DEBUG    Config value read as: autostart = True
2023-07-25 23:58:58,933 DEBUG    Config value read as: notifications = True
2023-07-25 23:58:58,934 DEBUG    Config value read as: theme = False
2023-07-25 23:58:58,934 DEBUG    Config value read as: fmextensions = True
2023-07-25 23:58:58,934 DEBUG    Config value read as: daemons = /home/irshat/.config/yandex-disk/config.cfg
2023-07-25 23:58:58,934 INFO     Config read: /home/irshat/.config/yd-tools/yandex-disk-indicator.conf
2023-07-25 23:58:59,000 ERROR    Config file read error: /home/irshat/.config/yandex-disk/config.cfg
/usr/share/yd-tools/indicator.py:101: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "parent, flags, message_type, buttons, message_format" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO, buttons, text1)
/usr/share/yd-tools/indicator.py:101: PyGTKDeprecationWarning: The keyword(s) "message_format" have been deprecated in favor of "text" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO, buttons, text1)
2023-07-25 23:59:46,679 DEBUG    starting configuration utility
/usr/share/yd-tools/ya-setup: строка 35: /home/irshat/.config/yandex-disk/config.cfg: Нет такого файла или каталога
/usr/share/yd-tools/ya-setup: строка 57: /home/irshat/.config/yandex-disk/config.cfg: Нет такого файла или каталога
/usr/share/yd-tools/ya-setup: строка 71: /home/irshat/.config/yandex-disk/config.cfg: Нет такого файла или каталога
^CTraceback (most recent call last):
  File "/usr/share/yd-tools/indicator.py", line 759, in <module>
    APPINDICATORS.append(Indicator(dm, _('#%d ') % len(APPINDICATORS) if len(daemons) > 1 else ''))
  File "/usr/share/yd-tools/indicator.py", line 187, in __init__
    super().__init__(path, ID)
  File "/usr/share/yd-tools/daemon.py", line 174, in __init__
    if self.error(errorStr, cfgFile) != 0:
  File "/usr/share/yd-tools/indicator.py", line 108, in error
    retCode = call([pathJoin(APPINSTPATH, 'ya-setup'), cfgPath])
  File "/usr/lib/python3.10/subprocess.py", line 347, in call
    return p.wait(timeout=timeout)
  File "/usr/lib/python3.10/subprocess.py", line 1207, in wait
    return self._wait(timeout=timeout)
  File "/usr/lib/python3.10/subprocess.py", line 1941, in _wait
    (pid, sts) = self._try_wait(0)
  File "/usr/lib/python3.10/subprocess.py", line 1899, in _try_wait
    (pid, sts) = os.waitpid(self.pid, wait_flags)
KeyboardInterrupt
В конце "KeyboardInterrupt" это я через Ctrl + C остановил процесс в терминале. Через лоток не закрывался.


Пользователь добавил сообщение 25 Июля 2023, 22:27:52:
yandex-disk token
отдельно запустил, дал доступ в браузере.
Но он также ошибку дал. Типа сервис не запустился.
А вот после yandex-disk setup все нормально
yandex-disk setup
Использовать прокси-сервер? [y/N]:
Авторизация
Если у вас ещё нет аккаунта на Яндексе, его можно завести по ссылке https://passport.yandex.ru/passport?mode=register

Откройте страницу 'https://ya.ru/device' и введите код ‘vs3khazq’ в течение 300 секунд. Убедитесь, что вы авторизованы в браузере с нужным аккаунтом.Токен сохранен в /home/irshat/.config/yandex-disk/passwd
Настройка Яндекс.Диска
Введите путь к папке Яндекс.Диска (Оставьте пустым для использования папки '/home/irshat/Yandex.Disk'):
Запускать Яндекс.Диск при входе в систему? [Y/n]:
Запуск демона...Готово
irshat@irshat-G41T-M5:~$ yandex-disk-indicator -l10
2023-07-26 00:20:19,138 INFO     yandex-disk-indicator v.1.12.2
2023-07-26 00:20:19,138 DEBUG    Logging level: 10
2023-07-26 00:20:19,139 DEBUG    Config value read as: autostart = True
2023-07-26 00:20:19,139 DEBUG    Config value read as: notifications = True
2023-07-26 00:20:19,139 DEBUG    Config value read as: theme = False
2023-07-26 00:20:19,140 DEBUG    Config value read as: fmextensions = True
2023-07-26 00:20:19,140 DEBUG    Config value read as: daemons = /home/irshat/.config/yandex-disk/config.cfg
2023-07-26 00:20:19,140 INFO     Config read: /home/irshat/.config/yd-tools/yandex-disk-indicator.conf
2023-07-26 00:20:19,206 DEBUG    Config value read as: auth = /home/irshat/.config/yandex-disk/passwd
2023-07-26 00:20:19,206 DEBUG    Config value read as: dir = /home/irshat/Yandex.Disk
2023-07-26 00:20:19,206 DEBUG    Config value read as: proxy = False
2023-07-26 00:20:19,206 INFO     Config read: /home/irshat/.config/yandex-disk/config.cfg
2023-07-26 00:20:19,236 INFO     Daemon is already started
2023-07-26 00:20:19,518 DEBUG    Event raised by  Timer
2023-07-26 00:20:19,518 INFO     Change event: stat,size,last
2023-07-26 00:20:19,522 DEBUG    Sub-menu 'Last synchronized' has 10 items
2023-07-26 00:20:19,522 INFO     Status: unknown ->  busy
2023-07-26 00:20:19,523 DEBUG    Message: Яндекс.Диск  | Запущена синхронизация

Пользователь добавил сообщение 25 Июля 2023, 22:46:03:
Еще раз попробовал, как вы сказали. Остановил демон, удалил работающий конфиг и по новой запустил индикатор. Все также.  :(
irshat@irshat-G41T-M5:~$ yandex-disk stop
Демон остановлен.
irshat@irshat-G41T-M5:~$ mv ~/.config/yandex-disk ~/.config/yandex-disk_back
irshat@irshat-G41T-M5:~$ mv ~/Yandex.Disk ~/Yandex.Disk_back
irshat@irshat-G41T-M5:~$ yandex-disk-indicator -l10
2023-07-26 00:32:28,672 INFO     yandex-disk-indicator v.1.12.2
2023-07-26 00:32:28,672 DEBUG    Logging level: 10
2023-07-26 00:32:28,673 DEBUG    Config value read as: autostart = True
2023-07-26 00:32:28,673 DEBUG    Config value read as: notifications = True
2023-07-26 00:32:28,673 DEBUG    Config value read as: theme = False
2023-07-26 00:32:28,673 DEBUG    Config value read as: fmextensions = True
2023-07-26 00:32:28,673 DEBUG    Config value read as: daemons = /home/irshat/.config/yandex-disk/config.cfg
2023-07-26 00:32:28,674 INFO     Config read: /home/irshat/.config/yd-tools/yandex-disk-indicator.conf
2023-07-26 00:32:28,777 ERROR    Config file read error: /home/irshat/.config/yandex-disk/config.cfg
/usr/share/yd-tools/indicator.py:101: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "parent, flags, message_type, buttons, message_format" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO, buttons, text1)
/usr/share/yd-tools/indicator.py:101: PyGTKDeprecationWarning: The keyword(s) "message_format" have been deprecated in favor of "text" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO, buttons, text1)
2023-07-26 00:33:25,781 DEBUG    starting configuration utility
/usr/share/yd-tools/ya-setup: строка 35: /home/irshat/.config/yandex-disk/config.cfg: Нет такого файла или каталога
/usr/share/yd-tools/ya-setup: строка 57: /home/irshat/.config/yandex-disk/config.cfg: Нет такого файла или каталога
/usr/share/yd-tools/ya-setup: строка 71: /home/irshat/.config/yandex-disk/config.cfg: Нет такого файла или каталога
2023-07-26 00:39:12,029 DEBUG    Config value read as: auth = /home/irshat/.config/yandex-disk/passwd
2023-07-26 00:39:12,030 INFO     Config read: /home/irshat/.config/yandex-disk/config.cfg
Скрины:

После нажатия ОК через некоторое время вот что вышло
« Последнее редактирование: 25 Июля 2023, 22:46:04 от Irshat »

Оффлайн Sly_tom_cat

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

Надо будет посмотреть самому - что там не так. Но боюсь до выходных времени на это не будет....

Но главное что yandex-disk setup (фактически штатный визард настройки) работает - это по сути и правильно настраивать работу утилиты ее собственными инструментами.

Скрипт ya-setup был попыткой прикрутить GUI к этому процессу, и чем дольше я все это наблюдаю тем больше убеждаюсь что это было неверным путем.

Собственно в yd-go (альтернативный индикатора на golang) я с самого начала отсек все, что непосредственно к индикатору не относится. В yd-go реализован просто индикатор и больше ничего (ни расширений для браузера, ни GUI-setup, и даже автозапуск внутрь утилиты не затягивал). Зато там нет вариаций на тему так или этак и множетсва разных вариантов для разных DE. Там даже сам индикатор написан так, что от DE практически не зависит.

Но некоторым кажется что этот а-ля швейцарский нож на питоне и только для GTK - лучше... хоть в нем куча всего постоянно отваливается из-за изменения окружения и обновления утилит.
« Последнее редактирование: 25 Июля 2023, 23:15:27 от Sly_tom_cat »
Индикатор для 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!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Посмотрел, там теперь в принципе поменялась схема работы утилиты yandex-disk token.

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

 

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