Центр программ Discover не работает: что делать

Центр программ Discover в KDE-подобных дистрибутивах Linux чаще всего перестаёт работать из-за повреждённого кэша PackageKit, неудачного обновления пакетов или отсутствия сетевого соединения с репозиториями. Типичные симптомы: окно Discover открывается и сразу закрывается, бесконечно крутится индикатор загрузки, список приложений пуст или при установке появляется ошибка «не удалось получить список обновлений».

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

Первичная диагностика: что именно сломалось

Прежде чем что-то чинить, определите характер сбоя. Discover — это лишь графическая оболочка над PackageKit, поэтому источник проблемы обычно лежит уровнем ниже. Запустите Discover из терминала и посмотрите на вывод ошибок:

plasma-discover

Терминал покажет сообщения, которые графический интерфейс скрывает. Обратите внимание на строки со словами error, failed, PackageKit — они укажут направление поиска.

  • 🔍 Discover не открывается вообще — вероятно, повреждены файлы самого приложения или зависимостей.
  • 🔄 Окно открывается, но список приложений пуст — проблема в кэше PackageKit или недоступности репозиториев.
  • ⚡ Ошибка при установке конкретной программы — конфликт пакетов или нехватка места на диске.
  • 🌐 Сообщение об отсутствии подключения — проверяйте сеть и DNS.

Проверка сети и репозиториев

Без доступа к серверам репозиториев Discover не сможет ни показать каталог, ни установить программы. Убедитесь, что интернет работает: откройте любой сайт в браузере или выполните ping -c 3 google.com. Если пакеты не уходят — разбирайтесь с сетью, а не с Discover.

Следующий шаг — проверить, отвечают ли сами репозитории. Для этого обновите списки пакетов через терминал. В дистрибутивах на базе Debian/Ubuntu (например, Kubuntu, KDE neon) используется команда:

sudo apt update

Если команда завершается с ошибками вида «Failed to fetch» или «404 Not Found», причина найдена: репозиторий недоступен, устарел или отключён. В этом случае Discover не виноват — он просто не получает данные. Проверьте источники в файле /etc/apt/sources.list и каталоге /etc/apt/sources.list.d/ — возможно, там остались записи от старого выпуска дистрибутива.

⚠️ Внимание: не редактируйте sources.list вслепую, копируя строки из случайных форумов. Неверный репозиторий от другой версии дистрибутива способен сломать систему зависимостей. Сверяйтесь с официальной документацией вашего дистрибутива.
📊 Как именно проявляется сбой Discover у вас?
Не запускается совсем
Открывается, но список пуст
Ошибка при установке программ
Бесконечное обновление данных

Перезапуск PackageKit и очистка кэша

Самая частая причина «зависшего» Discover — зависший фоновый процесс PackageKit. Он мог заблокироваться после прерванного обновления. Перезапустите службу:

sudo systemctl restart packagekit.service

Если после перезапуска ничего не изменилось, очистите кэш PackageKit. Вам нужно удалить накопленные временные данные, которые могли повредиться:

sudo pkcon refresh force

Эта команда принудительно обновляет метаданные репозиториев. Дождитесь её завершения — прерывание может снова оставить кэш в битом состоянии. После этого закройте Discover полностью (проверьте, что процесс не остался в трее) и запустите заново.

☑️ Базовое восстановление Discover

Выполнено: 0 / 5

Проверка целостности пакетов и зависимостей

Прерванное обновление системы — ещё один частый виновник. Если во время установки пакетов пропало питание или процесс был убит, в системе остаются «полунастроенные» пакеты, и PackageKit отказывается работать, пока ситуация не разрешится. Discover в этом случае может показывать пустой каталог или ошибку транзакции.

В Debian-подобных системах проверьте и исправьте зависимости так:

sudo apt --fix-broken install

sudo dpkg --configure -a

Первая команда пытается доустановить недостающие зависимости, вторая — завершает настройку пакетов, прерванных на середине. Выполняйте их именно в таком порядке. Если apt сообщает, что исправить нечего — значит, зависимости в порядке и причина elsewhere.

В дистрибутивах на RPM (Fedora KDE, openSUSE) логика та же, но инструменты другие: sudo dnf check покажет проблемы с зависимостями. Конкретные команды зависят от вашего дистрибутива — сверяйтесь с его документацией.

⚠️ Внимание: если apt --fix-broken install предлагает удалить десятки пакетов, включая системные компоненты KDE, — не соглашайтесь сразу. Отмените операцию (ответьте «n») и внимательно изучите список: массовое удаление plasma- или kde- пакетов может оставить вас без графического окружения.

Проблемы с Flatpak и Snap в Discover

Discover умеет работать не только с системными пакетами, но и с Flatpak и Snap — через соответствующие плагины. Если «магазин» не показывает часть приложений или выдаёт ошибки только для определённого формата, возможно, сломан именно бэкенд, а не сам Discover.

Проверьте, установлены ли плагины. Для Flatpak это обычно пакет вроде plasma-discover-backend-flatpak, для Snap — plasma-discover-backend-snap (точные имена зависят от дистрибутива). Если плагин отсутствует, соответствующий раздел в Discover просто не появится — и это не сбой, а отсутствующий компонент.

Для диагностики Flatpak выполните в терминале flatpak update — если команда выдаёт ошибки доступа к удалённым репозиториям (например, Flathub), проблема на стороне источника или сети, а Discover лишь транслирует её.

Как проверить, какие бэкенды Discover активны

Откройте Discover, перейдите в раздел настроек (обычно значок шестерёнки или пункт «Настройки» в меню). Там перечислены источники приложений: системные пакеты, Flatpak, Snap, Firmware. Если нужного источника нет в списке — соответствующий плагин не установлен. Установите его через терминал, затем перезапустите Discover.

Когда ничего не помогло: крайние меры

Если перечисленные шаги не восстановили работу, остаются более радикальные варианты. Первый — переустановка самого Discover. В Debian-подобных системах:

sudo apt install --reinstall plasma-discover

Второй вариант — временно обойтись без графического центра и управлять пакетами через терминал: apt, dnf или zypper полностью заменяют функциональность Discover. Это не решение сбоя, но рабочий способ устанавливать программы, пока разбираетесь с причиной.

Переустановка всей системы из-за неработающего Discover почти никогда не оправдана — сбой затрагивает лишь прослойку между пользователем и пакетным менеджером, а не ядро системы.

Таблица: симптомы и вероятные причины

СимптомВероятная причинаПервое действие
Discover не запускаетсяПовреждены файлы приложенияПереустановить plasma-discover
Пустой список приложенийБитый кэш PackageKitpkcon refresh force
Ошибка «Failed to fetch»Недоступный репозиторийПроверить sources.list
Ошибка при установке пакетаСломанные зависимостиapt --fix-broken install
Нет приложений FlatpakНе установлен плагин-бэкендУстановить backend-пакет

Частые вопросы

Почему Discover показывает «Нет подключения к сети», хотя интернет работает?

Такое бывает, когда PackageKit использует устаревший кэш состояния сети или DNS-запросы к репозиториям блокируются. Перезапустите службу packagekit и выполните sudo apt update — если терминал видит репозитории, а Discover нет, проблема именно в кэше PackageKit.

Можно ли удалить Discover полностью и пользоваться только терминалом?

Да, Discover не является обязательным компонентом. Управление пакетами через apt, dnf или zypper полностью его заменяет. Учтите только, что уведомления об обновлениях в системном трее KDE могут быть связаны с Discover — без него проверять обновления придётся вручную.

Discover зависает на «Получение обновлений» — это нормально?

При первом запуске после установки системы или долгого перерыва обновление метаданных может занимать заметное время, особенно при медленном соединении. Если процесс не завершается за 10–15 минут, завершите Discover и выполните sudo pkcon refresh force в терминале.

После обновления системы Discover исчез из меню. Что делать?

Возможно, пакет был удалён при разрешении конфликтов зависимостей во время обновления. Проверьте его наличие командой which plasma-discover и при отсутствии установите заново: sudo apt install plasma-discover.

Ошибка появляется только при установке одной конкретной программы — виноват Discover?

Скорее всего, нет. Если остальные приложения ставятся нормально, проблема в самом пакете: неразрешённые зависимости, конфликт версий или недоступность конкретного репозитория. Попробуйте установить эту программу через терминал — вывод apt покажет точную причину отказа.