Подробный гайд по устранению ошибки gedit в Linux при загрузке libpeas - Часть 1
При запуске текстового редактора gedit в Linux можно столкнуться с предупреждением:
(gedit:54804): warning **: 14:07:48.404: could not load peas repository: typelib file for namespace 'peas', version '1.0' not found
Это сообщение означает, что gedit не может загрузить данные библиотеки плагинов libpeas, а именно файл типа Peas-1.0.typelib. Ниже рассмотрены основные причины проблемы и способы её устранения в популярных дистрибутивах Linux.
1. Что означает эта ошибка
gedit использует библиотеку libpeas для работы с плагинами. Эта библиотека построена на базе GObject и требует так называемые данные интроспекции — файлы .typelib.
Сообщение:
typelib file for namespace 'peas', version '1.0' not found
говорит о том, что система не может найти файл:
Peas-1.0.typelib
Обычно он располагается в одном из каталогов:
/usr/lib/girepository-1.0/
/usr/lib64/girepository-1.0/
/usr/lib/x86_64-linux-gnu/girepository-1.0/
/usr/local/lib/girepository-1.0/
Важно понимать:
Речь не идёт о Python-пакете peas или каком-то отдельном репозитории. Нужен именно системный пакет библиотеки libpeas версии 1.0 с файлами GObject Introspection.
Чаще всего ошибка возникает по следующим причинам:
- пакет
libpeasили его часть не установлена; - удалены файлы интроспекции;
- установлена только новая версия
libpeas, аgeditтребуетlibpeas-1.0; geditустановлен нестандартно, например из исходников;- переменные окружения указывают неверные пути к типелибам;
- используется Flatpak/Snap-версия с повреждённым окружением.
2. Быстрая диагностика проблемы
Перед тем как устанавливать пакеты, полезно понять, какой именно gedit запускается и есть ли нужный файл в системе.
Сначала проверьте, откуда запускается редактор:
command -v gedit
Если вывод похож на:
/usr/bin/gedit
значит используется обычный системный пакет.
Если вывод такой:
/usr/local/bin/gedit
возможно, программа была установлена из исходников.
Также полезно выполнить:
type -a gedit
Эта команда покажет все найденные варианты запуска gedit.
Далее проверьте, существует ли файл Peas-1.0.typelib:
find /usr /usr/local /opt -type f -name 'Peas-1.0.typelib' 2>/dev/null
Если команда ничего не выводит, значит нужный файл отсутствует и его нужно установить.
Если файл найден, например:
/usr/lib/x86_64-linux-gnu/girepository-1.0/Peas-1.0.typelib
значит файл присутствует, но gedit может не видеть каталог с ним из-за проблем с окружением или нестандартной установки.
3. Исправление в Debian, Ubuntu, Linux Mint и Pop!_OS
В дистрибутивах на основе Debian и Ubuntu нужный пакет обычно называется:
gir1.2-peas-1.0
Также может потребоваться пакет библиотеки:
libpeas-1.0-0
или в более новых версиях:
libpeas-1.0-0t64
Сначала обновите списки пакетов:
sudo apt update
Затем установите gedit и пакет с introspection-данными:
sudo apt install gedit gir1.2-peas-1.0
Если пакет уже установлен, но ошибка сохраняется, переустановите его:
sudo apt install --reinstall gir1.2-peas-1.0
Также можно переустановить саму библиотеку:
sudo apt install --reinstall libpeas-1.0-0
Если система сообщает, что пакет libpeas-1.0-0 не найден, попробуйте вариант с суффиксом t64:
sudo apt install --reinstall libpeas-1.0-0t64
После установки проверьте наличие файла:
dpkg -L gir1.2-peas-1.0 | grep Peas-1.0.typelib
В нормальном случае вывод должен быть похож на:
/usr/lib/x86_64-linux-gnu/girepository-1.0/Peas-1.0.typelib
Если файл появился, перезапустите gedit и проверьте, исчезло ли предупреждение.
4. Исправление в Fedora, RHEL, CentOS Stream, Rocky Linux и AlmaLinux
В дистрибутивах на основе Fedora нужный пакет может называться:
libpeas1.0
или:
libpeas
Сначала попробуйте переустановить gedit:
sudo dnf reinstall gedit
Затем установите библиотеку:
sudo dnf install gedit libpeas1.0
Если пакет libpeas1.0 не найден, используйте альтернативный вариант:
sudo dnf install gedit libpeas
Если после этого ошибка остаётся, найдите пакет, который содержит нужный файл:
sudo dnf provides '*/Peas-1.0.typelib'
Команда покажет имя пакета, в который входит Peas-1.0.typelib.
Установите его через:
sudo dnf install имя_пакета
Также в некоторых случаях помогает синхронизация пакетов:
sudo dnf distro-sync
5. Исправление в Arch Linux, Manjaro и EndeavourOS
В Arch-дистрибутивах обычно используются пакеты:
gedit
libpeas
Сначала выполните полное обновление системы:
sudo pacman -Syu
Затем установите или переустановите нужные пакеты:
sudo pacman -S gedit libpeas
Проверить наличие файла можно командой:
pacman -Ql libpeas | grep Peas-1.0.typelib
Если файл не находится, возможно, в системе установлена только новая версия libpeas, а gedit требует именно libpeas-1.0.
В официальных репозиториях зависимости обычно решаются автоматически, поэтому чаще всего помогает полное обновление и переустановка:
sudo pacman -Syu
sudo pacman -S gedit
6. Исправление в openSUSE
В openSUSE нужные пакеты могут называться примерно так:
libpeas-1_0-0
typelib-1_0-peas-1_0
Обновите репозитории:
sudo zypper refresh
Установите необходимые пакеты:
sudo zypper install gedit libpeas-1_0-0 typelib-1_0-peas-1_0
Если имена пакетов отличаются, выполните поиск:
zypper se peas
и отдельно:
zypper se typelib peas
После установки пакетов перезапустите gedit и проверьте, исчезло ли предупреждение.
7. Если gedit установлен через Flatpak
Если вы используете не системную версию gedit, а Flatpak-приложение, установка системных пакетов может не помочь. В этом случае необходимые библиотеки находятся внутри окружения Flatpak.
Проверьте установленные приложения:
flatpak list | grep -i gedit
Обновите приложения и среды выполнения:
flatpak update
После этого попробуйте запустить:
flatpak run org.gnome.gedit
Если ошибка сохраняется, переустановите приложение:
flatpak reinstall org.gnome.gedit
Дополнительно можно выполнить восстановление:
flatpak repair
Если предупреждение появляется именно во время запуска через flatpak, проблема связана не с системным пакетом libpeas, а с самим приложением или его окружением.
8. Если gedit установлен через Snap
Иногда gedit может быть установлен через Snap. Это менее распространённый вариант, но его тоже стоит учитывать.
Проверьте список установленных snap-приложений:
snap list | grep gedit
Если приложение установлено, обновите его:
sudo snap refresh gedit
Если обновление не помогает, удалите и установите его заново:
sudo snap remove gedit
sudo snap install gedit
Если после переустановки ошибка сохраняется, лучше использовать системную версию gedit из репозиториев дистрибутива или официальную Flatpak-версию.
9. Если файл есть, но ошибка всё равно остаётся
Бывает ситуация, когда файл Peas-1.0.typelib уже установлен, но gedit всё равно не может его найти.
Сначала проверьте переменную окружения:
echo "$GI_TYPELIB_PATH"
Если переменная пустая — это нормально. В этом случае система использует стандартные пути.
Если переменная задана и содержит только нестандартный каталог, она может мешать загрузке системных файлов. Попробуйте временно очистить её:
unset GI_TYPELIB_PATH
gedit
Если файл находится в нестандартном месте, его каталог можно временно добавить в GI_TYPELIB_PATH.
Например, если файл расположен здесь:
/usr/local/lib/girepository-1.0/Peas-1.0.typelib
выполните:
export GI_TYPELIB_PATH="/usr/local/lib/girepository-1.0:$GI_TYPELIB_PATH"
gedit
Для стандартного пути в Debian/Ubuntu команда может выглядеть так:
export GI_TYPELIB_PATH="/usr/lib/x86_64-linux-gnu/girepository-1.0:$GI_TYPELIB_PATH"
gedit
Можно автоматически найти каталог с файлом и добавить его в переменную окружения:
PEAS_DIR=$(dirname "$(find /usr /usr/local -type f -name 'Peas-1.0.typelib' -print -quit)" 2>/dev/null)
if [ -n "$PEAS_DIR" ]; then
export GI_TYPELIB_PATH="$PEAS_DIR${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}"
echo "Добавлен каталог типов: $PEAS_DIR"
else
echo "Peas-1.0.typelib не найден"
fi
gedit
Если после добавления каталога ошибка исчезает, значит проблема связана с путями загрузки. Однако делать такой экспорт постоянным стоит только в том случае, если вы действительно используете нестандартную установку программы или библиотеки.
На этом первая часть статьи заканчивается. Далее в Части 2 рассматриваются случаи, когда gedit собран из исходников, установлены только файлы Peas-2.0.typelib, а также проверка зависимостей самой программы.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.