Подробный гайд по устранению ошибки gedit в Linux при загрузке libpeas - Часть 2

Подробный гайд по устранению ошибки gedit в Linux при загрузке libpeas. Узнайте, как исправить отсутствие typelib-файлов в Ubuntu, Fedora и Arch.

2026.08.26                  


Подробный гайд по устранению ошибки gedit в Linux при загрузке libpeas - Часть 2Подробный гайд по устранению ошибки gedit в Linux при загрузке libpeas - Часть 2

Как исправить ошибку gedit: could not load peas repository (часть 2)

В первой Части статьи мы рассмотрели основные способы устранения предупреждения could not load peas repository: typelib file for namespace 'peas', version '1.0' not found в популярных дистрибутивах Linux, а также случаи использования Flatpak и Snap. Во второй части разберём более сложные сценарии: сборку из исходников, конфликты версий libpeas, диагностику зависимостей и проверку через GObject Introspection.




10. Если gedit собран из исходников

Если команда:

command -v gedit

возвращает путь вроде:

/usr/local/bin/gedit

то, скорее всего, вы собирали gedit вручную из исходного кода. В этом случае программа может искать библиотеки и типелибы в нестандартном префиксе, например в /usr/local.

Для корректной работы такого gedit необходимо, чтобы в системе были установлены:

  • libpeas версии 1.x;
  • файлы .typelib для Peas-1.0;
  • пакеты gobject-introspection;
  • переменные окружения указывают на правильный префикс.

Попробуйте временно задать нужные пути:

export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
export GI_TYPELIB_PATH="/usr/local/lib/girepository-1.0:$GI_TYPELIB_PATH"

gedit

Если ошибка исчезает, но вы не хотите каждый раз вводить переменные вручную, можно добавить соответствующие строки в ~/.profile или ~/.bashrc:

export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
export GI_TYPELIB_PATH="/usr/local/lib/girepository-1.0:$GI_TYPELIB_PATH"

Делать это стоит только в том случае, если вы действительно используете нестандартную установку. В противном случае лучше удалить самосборный gedit и поставить пакет из репозитория дистрибутива.


11. Если установлен только Peas-2.0.typelib

Иногда после поиска файлов можно обнаружить:

Peas-2.0.typelib

но gedit требует именно:

Peas-1.0.typelib

Это разные версии библиотеки libpeas. Версия 2.x не совместима с 1.x на уровне ABI, поэтому gedit, собранный против libpeas-1.0, не сможет работать с libpeas-2.0.

Проверьте, какие версии .typelib присутствуют в системе:

find /usr /usr/local /opt -type f -name 'Peas-*.typelib' 2>/dev/null

Если в выводе только Peas-2.0.typelib, значит пакет libpeas-1.0 отсутствует и его нужно установить отдельно.

В современных дистрибутивах (например, Fedora 40+, Ubuntu 24.04+) libpeas-1.0 может быть вынесен в отдельный пакет совместимости:

  • Debian/Ubuntu: libpeas-1.0-0 или libpeas-1.0-0t64 и gir1.2-peas-1.0;
  • Fedora: libpeas1.0 (именно с цифрой 1.0 в конце);
  • Arch: libpeas обычно содержит обе версии, либо есть отдельный libpeas-1.0 из AUR.

Если в официальных репозиториях пакета libpeas-1.0 уже нет, это означает, что дистрибутив перешёл на новую версию, а gedit в репозитории должен быть уже пересобран под неё.

В такой ситуации помогает полное обновление системы:

# Debian/Ubuntu
sudo apt update && sudo apt full-upgrade

# Fedora
sudo dnf upgrade --refresh

# Arch
sudo pacman -Syu

12. Проверка зависимостей самого gedit

Иногда проблема не в файле .typelib, а в том, что отсутствует сама разделяемая библиотека libpeas-1.0.so.0.

Проверьте зависимости исполняемого файла:

ldd "$(command -v gedit)" | grep -E 'peas|girepository' || true

Если в выводе есть строки со словом not found, например:

libpeas-1.0.so.0 => not found
libpeas-gtk-1.0.so.0 => not found

значит в системе отсутствует пакет с самой библиотекой.

Его нужно установить:

  • Debian/Ubuntu: libpeas-1.0-0 или libpeas-1.0-0t64;
  • Fedora: libpeas1.0 или libpeas;
  • Arch: libpeas;
  • openSUSE: libpeas-1_0-0.

Также полезно проверить, все ли зависимости gedit удовлетворены:

ldd "$(command -v gedit)" | grep 'not found'

Если список пустой, значит все библиотеки на месте, и проблема именно в файлах интроспекции.


13. Проверка через GObject Introspection

Можно проверить, видит ли система Peas-1.0 независимо от gedit. Для этого используется Python-модуль gi (GObject Introspection).

Сначала установите его, если он отсутствует:



Debian/Ubuntu:

sudo apt install python3-gi

Fedora:

sudo dnf install python3-gobject

Arch:

sudo pacman -S python-gobject

openSUSE:

sudo zypper install python3-gobject

Затем выполните проверку:

python3 - <<'EOF'
import gi

try:
    gi.require_version('Peas', '1.0')
    from gi.repository import Peas
    print('OK: Peas 1.0 найден')
    print('Расположение:', Peas.__path__)
except Exception as e:
    print('Ошибка:', e)
EOF

Если в выводе:

OK: Peas 1.0 найден

Значит introspection-данные доступны, и проблема скорее всего в самом gedit или его окружении. Если скрипт выдаёт ошибку ValueError: Namespace Peas not available for version '1.0', значит система всё ещё не видит Peas-1.0.typelib, и нужно продолжить поиск недостающего пакета.


14. Если ошибка появляется только при запуске через sudo

Иногда пользователи запускают редактор системных файлов так:

sudo gedit /etc/hosts

Это плохая практика по нескольким причинам:

  • запуск графических приложений от root небезопасен;
  • окружение суперпользователя может отличаться от пользовательского;
  • могут создаваться файлы в домашнем каталоге пользователя с правами root.

Проверьте, воспроизводится ли ошибка без sudo:

gedit

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

Консольные редакторы:

sudo nano /etc/hosts
sudo vim /etc/hosts

Запуск графического редактора через pkexec:

pkexec gedit /etc/hosts

Или через sudoedit (наиболее безопасный вариант):

sudoedit /etc/hosts

Команда sudoedit автоматически откроет ваш редактор по умолчанию (переменная EDITOR) для временной копии файла, а после сохранения перенесёт изменения обратно.


15. Если система минимальная, контейнер или WSL

В минимальных установках Linux, контейнерах (Docker, LXC) или некоторых конфигурациях WSL (Windows Subsystem for Linux) графические зависимости могут быть не установлены полностью. Это особенно актуально для серверных образов, где gedit установлен вручную без полного набора рекомендуемых пакетов.

Для Debian/Ubuntu установите базовый набор:

sudo apt update
sudo apt install gedit gir1.2-peas-1.0

Если нужны плагины, дополнительно:

sudo apt install gedit-plugins

Но для устранения именно этой ошибки достаточно libpeas и его introspection-данных. В контейнерах запуск gedit обычно не имеет смысла, так как там нет графического окружения.

Если же вы используете WSL с WSLg или VcXsrv, убедитесь, что в WSL установлены все необходимые графические библиотеки:

sudo apt install gedit gir1.2-peas-1.0 gedit-plugins

16. Сводная таблица пакетов

Для удобства ниже приведена таблица с именами пакетов, которые нужно установить в разных дистрибутивах.

Дистрибутив Основные пакеты Команда установки
Debian / Ubuntu / Mint gedit, gir1.2-peas-1.0 sudo apt install gedit gir1.2-peas-1.0
Fedora gedit, libpeas1.0 sudo dnf install gedit libpeas1.0
RHEL / Rocky / Alma gedit, libpeas sudo dnf install gedit libpeas
Arch / Manjaro gedit, libpeas sudo pacman -S gedit libpeas
openSUSE gedit, typelib-1_0-peas-1_0 sudo zypper install gedit typelib-1_0-peas-1_0

Если имя пакета в вашей системе отличается, используйте поиск по файлу:

# Debian/Ubuntu
apt-file search Peas-1.0.typelib

# Fedora
sudo dnf provides '*/Peas-1.0.typelib'

# Arch
pkgfile Peas-1.0.typelib

# openSUSE
zypper se --provides Peas-1.0.typelib

Для apt-file может потребоваться предварительная установка:



sudo apt install apt-file
sudo apt-file update

17. Что делать, если ничего не помогло

Если после всех описанных действий предупреждение сохраняется, выполните диагностические команды и сохраните их вывод — это поможет точно определить причину.

Базовая информация:

cat /etc/os-release
type -a gedit
command -v gedit

Поиск файлов typelib:

find /usr /usr/local /opt -type f -name 'Peas-*.typelib' 2>/dev/null

Переменные окружения:

echo "GI_TYPELIB_PATH=$GI_TYPELIB_PATH"
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"

Зависимости gedit:

ldd "$(command -v gedit)" | grep -E 'peas|girepository' || true

Список установленных пакетов:

Для Debian/Ubuntu:

dpkg -l | grep -E 'gedit|libpeas|gir1.2-peas'

Для Fedora/RHEL:

rpm -qa | grep -E 'gedit|libpeas'

Для Arch:

pacman -Qs 'gedit|libpeas'

Для openSUSE:

zypper se -i gedit libpeas

Собрав эту информацию, можно точно понять, где именно теряется Peas-1.0.typelib. С этими данными также проще получить помощь на тематических форумах или в баг-трекерах дистрибутива.


18. Краткий алгоритм устранения ошибки

В большинстве случаев проблему решает простой набор действий. Приведём краткий алгоритм для каждого семейства дистрибутивов.

Debian / Ubuntu / Linux Mint

sudo apt update
sudo apt install gedit gir1.2-peas-1.0
sudo apt install --reinstall gir1.2-peas-1.0

Fedora / RHEL / Rocky / AlmaLinux

sudo dnf reinstall gedit
sudo dnf install libpeas1.0 || sudo dnf install libpeas

Arch / Manjaro / EndeavourOS

sudo pacman -Syu
sudo pacman -S gedit libpeas

openSUSE

sudo zypper refresh
sudo zypper install gedit typelib-1_0-peas-1_0

После выполнения команд закройте все окна gedit и запустите его заново:

gedit

Предупреждение должно исчезнуть.


Заключение

Предупреждение could not load peas repository: typelib file for namespace 'peas', version '1.0' not found — это не критическая ошибка, а сообщение о недостающих данных GObject Introspection для библиотеки плагинов libpeas-1.0. В большинстве случаев оно устраняется установкой или переустановкой пакета с типелибами: gir1.2-peas-1.0 в Debian-подобных системах, libpeas1.0 в Fedora или libpeas в Arch.


Если базовые способы не помогают, стоит проверить:

  • какой именно gedit запускается (системный, Flatpak, Snap, самосборный);
  • установлен ли файл Peas-1.0.typelib и в каком каталоге;
  • не конфликтует ли версия libpeas (1.x vs 2.x);
  • не заданы ли некорректные переменные окружения GI_TYPELIB_PATH и LD_LIBRARY_PATH.

Соблюдая описанные шаги, вы сможете быстро диагностировать и устранить проблему в любом современном дистрибутиве Linux.


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта