- Вопрос или проблема
- Ответ или решение
- 1. Проверка ошибок маршрутизации
- 2. Создание нового providers.xml
- 2.1 Создание директории для новых провайдеров
- 2.2 Скачивание актуального content
- 2.3 Вставка содержимого в новый файл
- 3. Изменение настроек в конфигурационных файлах
- 3.1 Замена строки во всех конфигурационных файлах
- 4. Перезагрузка Plasma
- Заключение
Вопрос или проблема
Каждый раз, когда я пытаюсь скачать новый виджет Plasma через Установщик дополнений Plasma, я получаю следующую ошибку:
Загрузка провайдеров из файла: http://download.kde.org/ocs/providers.xml не удалась
Та же проблема наблюдается, когда я пытаюсь установить новую тему. Пожалуйста, посмотрите на скриншот ниже для пояснения:
Любые предложения, комментарии или ответы всегда будут полезны. Спасибо.
Я нашел около 20 файлов в /etc/xdg/, которые все ссылаются на
ProvidersUrl=http://download.kde.org/ocs/providers.xml
Я думаю, что сервер download.kde в настоящее время отправляет перенаправление на
https://autoconfig.kde.org/ocs/providers.xml
Но, похоже, оно не выполняется.
Я думаю, что этот код на Python поможет вам..
import os
os.chdir("/etc/xdg")
file_list=os.listdir("/etc/xdg")
home=os.getenv("HOME")
os.mkdir(home+'/.kde/share/apps/providers')
provider="""<providers>
<provider>
<id>api.kde-look.org</id>
<location>https://api.kde-look.org/ocs/v1/</location>
<name>api.kde-look.org</name>
<termsofuse>https://api.kde-look.org/content/terms</termsofuse>
<register>https://api.kde-look.org/register</register>
<services>
<person ocsversion="1.6"/>
<content ocsversion="1.6"/>
</services>
</provider>
</providers>"""
prov=open(home+'/.kde/share/apps/providers/providers.xml', 'w')
prov.write(provider)
prov.close()
s_add="ProvidersUrl="+home+"/.kde/share/apps/providers.xml\n"
for i in range(len(file_list)):
try:
with open(file_list[i]) as t:
new=""""""
x=1
for line in t:
if "ProvidersUrl=http://download.kde.org/ocs/providers.xml" in line:
new=new+s_add
print file_list[i] + "====> изменен"
else:
new=new+line
t.close()
with open(file_list[i],'w') as f:
f.write(new)
f.close()
except IOError:
pass
Извините, если мой код плохой!.. Я просто сделал все возможное!!
Для меня это сработало:
cd /etc/xdg
khotnewstuff4 plasmoids.knsrc
Я адаптировал это отсюда https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1610665.
Ошибка также обсуждается здесь http://defrances.co/post/kdelook/.
Введите https://autoconfig.kde.org/ocs/providers.xml в браузере.
Скопируйте содержимое.
Создайте файл providers.xml и вставьте в него содержимое.
Перейдите в /etc/xdg/
Измените эту строку
ProvidersUrl=http://download.kde.org/ocs/providers.xml
на
ProvidersUrl=file:///path/to/your/custom/xml/file/providers.xml
во всех файлах, где это есть.
Я уверен, что есть одна командная строка, которую вы можете использовать для выполнения этого во всех файлах, но я не знаю, какая это. Может быть, кто-то может улучшить этот ответ. Я предлагаю сначала изменить на одном файле и протестировать соответствующее приложение. Файл, соответствующий упомянутому установщику дополнений plasma, должен иметь довольно очевидное соответствующее название.
Я нашел эту информацию в этом руководстве и следовал ей сам для другой ошибки:
https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1610665
Я не уверен, почему просто изменение строки на
ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml
не сработает. Я не могу это протестировать, потому что у меня нет ошибки из вопроса.
Или почему руководство использует URL локального пути, который, похоже, не работает у меня… Я опубликовал здесь то, что сработало для меня.
Ответ или решение
Чтобы решить проблему загрузки новых виджетов и тем Plasma в Kubuntu 16.04 LTS, следуйте предложенным ниже шагам. Вы столкнулись с ошибкой: “Loading of providers from file: http://download.kde.org/ocs/providers.xml failed”, что связано с изменениями на сервере, который больше не доступен по указанному адресу.
1. Проверка ошибок маршрутизации
Как вы правильно заметили, сервер download.kde.org
в настоящее время перенаправляет запросы на адрес https://autoconfig.kde.org/ocs/providers.xml
. Однако, Plasma Add-On Installer не следит за этим перенаправлением, что и вызывает возникшую проблему.
2. Создание нового providers.xml
Для решения проблемы необходимо вручную создать файл providers.xml
, который будет содержать актуальные данные о доступных провайдерах.
Вы можете сделать это, выполнив следующие шаги:
2.1 Создание директории для новых провайдеров
mkdir -p $HOME/.kde/share/apps/providers
2.2 Скачивание актуального content
Зайдите по следующей ссылке в браузере: https://autoconfig.kde.org/ocs/providers.xml. Скопируйте все содержимое этой страницы.
2.3 Вставка содержимого в новый файл
Создайте файл providers.xml
с помощью текстового редактора:
nano $HOME/.kde/share/apps/providers/providers.xml
Вставьте скопированное содержимое и сохраните файл.
3. Изменение настроек в конфигурационных файлах
Теперь необходимо изменить пути к файлу providers.xml
в конфигурационных файлах, которые находятся в директории /etc/xdg
. Сначала просмотрите, какие файлы имеют строку:
ProvidersUrl=http://download.kde.org/ocs/providers.xml
3.1 Замена строки во всех конфигурационных файлах
Вы можете использовать следующую команду для замены данной строки во всех конфигурационных файлах:
sed -i 's|ProvidersUrl=http://download.kde.org/ocs/providers.xml|ProvidersUrl=file://'$HOME'/.kde/share/apps/providers/providers.xml|g' /etc/xdg/*.knsrc
4. Перезагрузка Plasma
После внесения всех изменений рекомендуется перезагрузить интерфейс Plasma или систему для применения обновленных настроек.
Заключение
После выполнения всех этих шагов, вы должны быть в состоянии успешно загружать новые виджеты и темы через Plasma Add-On Installer без ранее возникших ошибок. Подобные проблемы с серверной частью могут возникать из-за изменений, непредвиденных для пользователей, и всегда полезно проверять официальные ресурсы по работе с KDE и Kubuntu для получения актуальной информации.
Если проблема продолжает возникать, рекомендуется проверить настройки сети и доступность указанных URL-адресов, а также посетить соответствующие форумы сообщества Kubuntu для получения дополнительной поддержки.