slytomcat / yandex-disk-indicator

Panel indicator (GTK+) for YandexDisk CLI client for Linux
GNU General Public License v3.0
238 stars 30 forks source link

"запуск сервиса не удался" хотя сервис успешно работает #209

Closed Gim6626 closed 5 years ago

Gim6626 commented 5 years ago

Индикатор выдаёт сообщение о том, что запуск сервиса не удался, хотя сервис успешно работает. Предварительно с помощью этого приложения настроил клиент, ошибок не выводилось.

Скриншот сообщения об ошибке - Скриншот сообщения об ошибке

Вывод консольный:

$ yandex-disk-indicator -l10                              
2019-06-19 19:10:55,482 INFO     yandex-disk-indicator v.1.10.9
2019-06-19 19:10:55,483 DEBUG    Logging level: 10
2019-06-19 19:10:55,490 DEBUG    Config value read as: autostart = True
2019-06-19 19:10:55,491 DEBUG    Config value read as: notifications = True
2019-06-19 19:10:55,491 DEBUG    Config value read as: theme = False
2019-06-19 19:10:55,492 DEBUG    Config value read as: fmextensions = True
2019-06-19 19:10:55,494 DEBUG    Config value read as: daemons = /home/dmitriy/.config/yandex-disk/config.cfg
2019-06-19 19:10:55,496 INFO     Config read: /home/dmitriy/.config/yd-tools/yandex-disk-indicator.conf

(yandex-disk-indicator:22808): Gtk-WARNING **: 19:10:55.538: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(yandex-disk-indicator:22808): Gtk-WARNING **: 19:10:55.538: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(yandex-disk-indicator:22808): Gtk-WARNING **: 19:10:55.538: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version
2019-06-19 19:10:55,657 DEBUG    Config value read as: auth = /home/dmitriy/.config/yandex-disk/passwd
2019-06-19 19:10:55,657 INFO     Config read: /home/dmitriy/.config/yandex-disk/config.cfg
/usr/bin/yandex-disk-indicator:596: 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
  _('Yandex.Disk Indicator: daemon start failed'))
/usr/bin/yandex-disk-indicator:596: PyGTKDeprecationWarning: The keyword(s) "message_format" have been deprecated in favor of "text" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  _('Yandex.Disk Indicator: daemon start failed'))
Daemon is not configured

Вывод сервиса самого Яндекс.Диска:

$ yandex-disk status --dir=/home/dmitriy/downloads/Yandex.Disk 
Статус синхронизации: 720.77 MB/ 2.63 GB (26 %)
Статус ядра синхронизации: синхронизация
...

Устанавливал с ppa:slytomcat/ppa, операционная система Kubuntu 19.04.

Буду очень благодарен за помощь в решении этой проблемы.

slytomcat commented 5 years ago

А для чего у вас в запросе статуса демона указан каталог синхронизации (--dir=/home/dmitriy/downloads/Yandex.Disk) ?

Предположительно у вас как-то нестандартно настроен демон. Покажите пожалуйста что у вас в ~/.config/yandex-disk/config.cfg

Gim6626 commented 5 years ago

А для чего у вас в запросе статуса демона указан каталог синхронизации

Потому что иначе status не показывается:

$ yandex-disk status
Ошибка: отсутствует обязательная опция 'dir'

Насчёт настройки демона - настраивал через GUI этого же приложения, вот конфиг:

$ cat ~/.config/yandex-disk/config.cfg
# Путь к файлу с данными для аутентификации. Файл должен быть подготовлен командой token.
auth=/home/dmitriy/.config/yandex-disk/passwd

# Папка Яндекс.Диска.
#dir=/path/to/sync/dir

# Не синхронизировать указанные папки.
#exclude-dirs=exclude/dir1,exclude/dir2,path/to/another/exclude/dir

# Настройка прокси-сервера. Примеры:
#proxy=https,127.0.0.1,443,login,password
#proxy=https,127.0.0.1,443
#proxy=socks4,my.proxy.local,1080,login,password
#proxy=socks5,my.another.proxy.local,1081
# Не использовать прокси-сервер:
#proxy=no
# Использовать системные настройки прокси-сервера (по умолчанию):
#proxy=auto
Gim6626 commented 5 years ago

Указал параметр dir в конфиге - индикатор запустился корректно и показывает статус. И теперь status работает и без параметра dir. Похоже при настройке через GUI что-то пошло не так.

slytomcat commented 5 years ago

Да, видимо GUI настройщик нахимичил.... Стандартный (CLI) настройщик yandex-disk setup конфиг создает обязательно включая в него значение dir. А индикатор читает этот dir (он в работе нужен) и если его нет, то считает что демон не настроен.

slytomcat commented 5 years ago

Хм... попробовал.... воспроизвести не удалось...

на втором шаге выбираю "Выбрать существующую папку", затем в диалоге выбираю существующуюю папку, и в конфиг все нормально записывается - в dir - та папка что я на 3-м шаге указал.

Попробуйте запустить $ /usr/share/yd-tools/ya-setup /home/$USER/.config/yandex-disk/config.cfg и пройдитесь по шагам так как вы делали при настройке в первый раз - опишите что делали и покажите содержимое ~/.config/yandex-disk/config.cfg

~/.config/yandex-disk/_____config.cfg потом можно будет удалить.

Gim6626 commented 5 years ago

Запустил /usr/share/yd-tools/ya-setup /home/$USER/.config/yandex-disk/_____config.cfg, далее по шагам:

  1. Указал не использовать прокси-сервер.
  2. Выбрал существующую папку.
  3. Ввёл путь к файлу токена, вернее оставил как есть.
  4. Ввёл логин и пароль.
  5. Получил сообщение что токен сохранён.
  6. Программа завершила работу.

Вот конфиг:

$ cat ~/.config/yandex-disk/_____config.cfg 
proxy="no"
dir="/home/dmitriy/tmp/ya"
auth="/home/dmitriy/.config/yandex-disk/passwd"

Заметил что конфиг созданный существенно отличается от того что был у меня, комментов тех же нет, хотя конечно тут дира задана.

И я начал кое-что вспоминать. До yd-tools я ставил ya-gui, проверил, он на самом деле создаёт конфиг с такой же структурой и комментариями какие у меня были в первом комментарии где я постил конфиг.

Убедившись что конфиг создан, я снова запустил yd-tools, через меню KDE. Ожидаемо он сообщил что запуск сервиса не удался и я повторил настройки по пунктам приведённым выше. Теперь запуск сервиса удался и конфиг заменился на типичный для yd-tools без комментариев и т.д.

Теперь я даже не знаю, вроде воспроизвёл всё как было, ошибка не повторяется. Единственно что могу сказать - может стоит указывать почему запуск сервиса не удался, параметра там какого не хватает или что, потому что будь я менее настойчивым у меня может ничего вообще и не заработало при текущей ситуации.

Gim6626 commented 5 years ago

Попробовал то же самое с нуля на другом компьютере - всё равно не воспроизводится. Не знаю что это было.

slytomcat commented 5 years ago

Допускаю что это ya-gui неправильно конфиг создал. Поэтому пока не вижу смысла копать дальше, при условии что ни вы ни я воспроизвести проблему не можем.

Но вот насчет более толковой диагностики при невозможности достучаться до демона - я подумаю. Мысль здравая, но надо посмотреть во что выльется реализация.

slytomcat commented 5 years ago

Сделал детальное описание ошибки при проблемах с конфигурацией демона. Закоммитил прямо в мастер. Позже выпущу рлиз и опубликую в PPA.