GNOME/Руководство пользователя
GNOME — популярная среда рабочего стола, которая может запускаться в сеансах Xorg и Wayland. Данное руководство описывает все аспекты GNOME, включая установку, настройку и использование.
Начиная с версии 3.30, GNOME в Gentoo снова может запускаться на OpenRC.[1] Смотрите статью GNOME без systemd для более подробной информации.
Что же такое GNOME?
Проект
Проект GNOME — открытое программное обеспечение, посвященное разработке комплекса программ рабочего стола и средств разработки GNOME. Разработку и прочие аспекты данного проекта координирует GNOME Foundation.
Программное обеспечение
GNOME — это окружение рабочего стола и платформа разработки. Это свободное программное обеспечение, выбранное в качестве рабочего стола некоторыми лидерами отрасли включая Canonical (Ubuntu) и Red Hat (Red Hat Linux, Fedora, CentOS).
Сообщество
Как и в случае с любым крупным проектом, у GNOME имеется обширная база пользователей и разработчиков. GNOME Planet — достаточно популярный агрегатор для хакеров и контрибьюторов, а для разработчиков GNOME — developer.gnome.org. Обширный список ресурсов для пользователей предоставляет GNOME Library.
Предварительные требования
Исторически сложилось, что основой для стандартного графического окружения был дисплейный сервер Xorg. Начиная с GNOME 3 начался плавный переход на новый протокол Wayland. Системы, не работающие с картами NVIDIA, не будут испытывать никаких проблем с запуском сессий GNOME через Wayland.
Тем не менее, в качестве предостережения рекомендуется сначала прочитать и следовать инструкциям в руководстве по Xorg по настройке X среды.
Согласно самому проекту GNOME, GNOME 40 был разработам с учётом systemd как системы инициализации. В связи с этим пользователям systemd рекомендуется прочитать и соблюдать все необходимые настройки ядра из статьи systemd.
Установка
Профиль
Перед установкой пакета GNOME рекомендуется отредактировать системную переменную USE. Разработчики проекта Gentoo GNOME предоставляют профили GNOME для помощи в настройке ПО GNOME в масштабах всей системы. Перед установкой GNOME выберите последний стабильный профиль GNOME.
Прочитайте соответствующую документацию перед выполнением любых изменений профиля
.
OpenRC
OpenRC пользователи, использующие logind могут выбрать профиль GNOME OpenRC:
root #
eselect profile set default/linux/amd64/17.1/desktop/gnome
systemd
systemd пользователи могут выбрать следующий профиль:
root #
eselect profile set default/linux/amd64/17.1/desktop/gnome/systemd
Убедитесь, что в /etc/portage/make.conf установлены USE–флаги X
, gtk
и gnome
. Рекомендуется включить поддержку для D-Bus. Systemd уже включает включает в себя эту системную шину сообщений.
USE="-qt5 -kde X gtk gnome systemd"
Если используется профиль
desktop/gnome/systemd
, то все необходимые USE-флаги уже автоматически выставлены. Это возможно проверить, запустив eselect profile list. Выбор производится командой eselect profile set <профиль> от пользователя root. Убедитесь, что заменили "<профиль>" на номер или имя нужного профиля.Emerge
После завершения, приступите к установке пакета рабочего стола GNOME:
root #
emerge --ask gnome-base/gnome
{{{1}}}
Portage may run into a circular dependency error when emerging libpulse. If this happens, emerge the libsndfile dependency with the
minimal
useflag before emerging GNOME:
root #
USE="minimal" emerge --ask --oneshot libsndfile
Это займёт некоторое время, так что можете пока почитать другую статью нашей вики. Готово? Отлично, пора обновить переменные окружения:
root #
env-update && source /etc/profile
Затем произойдёт очистка оставшихся сервисов и групп пользователей.
Проверьте, есть ли в системе группа plugdev
. Если она присутствует, то рекомендуется добавить каждого пользователя GNOME соответственно в эту группу, однако этот шаг является опциональным (сейчас данная группа встречается не часто).
root #
getent group plugdev
plugdev:x:104:
Замените <username>
на имена пользователей GNOME:
root #
gpasswd -a <username> plugdev
Первые впечатления
Пора посмотреть, что было собрано. Либо настроите менеджер сессий, чтобы GNOME запускался по команде startx (для более подробной информации смотрите использование startx в руководстве Xorg), либо же включите сервис GDM, как более удобный способ запуска GNOME.
Включение GDM
В статье GNOME/GDM можно найти типовые решения проблем, связанных с GDM.
OpenRC
Для систем с OpenRC, elogind является зависимостью GDM и должен быть запущен для правильной работы GDM:
root #
rc-update add elogind boot
root #
rc-service elogind start
Затем добавьте display-manager-init в уровень выполнения по умолчанию (default runlevel) и запустите службу:
root #
emerge --ask --noreplace gui-libs/display-manager-init
В /etc/conf.d/display-manager установите DISPLAYMANAGER на "gdm".
DISPLAYMANAGER="gdm"
Для запуска во время загрузки добавьте display-manager в уровень выполнения по умолчанию:
root #
rc-update add display-manager default
Для запуска GDM либо перезагрузитесь, либо сразу запустите его с помощью rc:
root #
rc-service display-manager start
systemd
Для того чтобы GDM запускался во время загрузки:
root #
systemctl enable gdm.service
Чтобы запустить GDM сейчас, выполните:
root #
systemctl start gdm.service
Следующая команда включит и запустит GDM сразу:
root #
systemctl enable --now gdm.service
Также можно включить Network Manager, если не включен другой сервис управления сетью.
Использование startx
Покиньте консоль пользователя root и зайдите от обычного пользователя. Далее следует настроить менеджер сессий, чтобы GNOME запускался, когда вызывается команда startx (для более подробной информации смотрите использование startx в руководстве Xorg).
user $
echo "exec gnome-session" > ~/.xinitrc
Начиная с версии gnome-base/gnome-session-2.26.2, пользователям следует использовать переменную XDG_MENU_PREFIX, чтобы меню GNOME работали при запуске через ~/.xinitrc. Если же ~/.xinitrc в запуске не участвует, то всё должно происходить автоматически.
user $
sed -i '1i\export XDG_MENU_PREFIX=gnome-' ~/.xinitrc
Пришло время запустить графическую среду, выполнив startx:
user $
startx
Если всё прошло как запланировано, то Вас должно встретить следующее сообщение: Congratulations on setting up GNOME!
Приватность
Удаление поддержки онлайн-аккаунтов GNOME в центре управления
Some users might be concerned about the fact that there is an online accounts section is the GNOME control center, which enables the user to connect the system to various services like Google, Microsoft, etc. In Portage, a USE flag can be set to remove this functionality:
USE="... -gnome-online-accounts"
This will tell Portage to not install the net-libs/gnome-online-accounts package if possible.
Re-emerge world with the --changed-use
flag and clean unused dependencies.
root #
emerge --ask --changed-use --update --deep @world
root #
emerge --depclean
Because of gnome-extra/gnome-contacts package being part of gnome-base/gnome via gnome-base/gnome-core-apps, the -gnome-online-accounts USE cannot be set as gnome-extra/gnome-contacts makes this a hard requirement to be enabled. gnome-base/gnome-light is an alternative though several other packages may be required for a full experience.
Конфигурация
Смешанная локализация
В целом, можно сделать так, чтобы C
была глобальной локалью по умолчанию, а для рабочего стола использовалась другая локаль. Этого можно добиться через добавления настроек:
LANG="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
Затем выберите регион для локали в gnome-setting-center или через команду:
user $
gsettings set org.gnome.system.locale region 'ru_RU.UTF-8'
При глобальной локали по умолчанию
C
, установка региона сама по себе вряд ли изменит локаль для рабочего стола, поэтому необходима настройка в environment.d, особенно для переменной LC_MESSAGES. А чтобы все работало наверняка, могут понадобиться следующие пакеты: ≥ sys-apps/systemd-249.6-r1 и ≥ gnome-base/gnome-40.0.Выйдите из системы, убедитесь, что прошлая сессия закрыта, и снова войдите в систему — эти настройки будут применены к новой сессии.
Чтобы переопределить локаль сессии для терминала в GNOME, добавьте:
LANG="C.utf8"
LC_MESSAGES="C.utf8"
LC_TIME="C.utf8"
Настройка GNOME
Для настройки дополнительных опций в GNOME 40 установите пакет gnome-extra/gnome-tweaks. Инструмент настройки предоставляет более глубокий уровень персонализации, чем стандартный фрейм Настройки.
Продвинутая настройка
Продвинутая настройка GNOME может быть выполнена из командной строки при помощи команд gsettings или dconf, либо же графически с помощью dconf-editor. Все изменяемые настройки доступны с помощью этих инструментов. Для получения дополнительной информации смотрите документацию от проекта GNOME.
Виджеты в GNOME 40
По умолчанию в Gentoo GNOME 40 не поддерживает виджеты. Для пользователей, желающих получить их функциональность, доступен отдельный пакет:
root #
emerge --ask gnome-extra/gnome-shell-extensions
После его установки, можно использовать eselect для управления умолчаниями на глобальном уровне:
root #
eselect gnome-shell-extensions list
Доступные расширения (* имеется в виду включение по умолчанию для всех пользователей): [1] alternate-tab@gnome-shell-extensions.gcampax.github.com [2] apps-menu@gnome-shell-extensions.gcampax.github.com [3] auto-move-windows@gnome-shell-extensions.gcampax.github.com [4] drive-menu@gnome-shell-extensions.gcampax.github.com [5] launch-new-instance@gnome-shell-extensions.gcampax.github.com [6] native-window-placement@gnome-shell-extensions.gcampax.github.com [7] places-menu@gnome-shell-extensions.gcampax.github.com [8] screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com [9] user-theme@gnome-shell-extensions.gcampax.github.com [10] window-list@gnome-shell-extensions.gcampax.github.com [11] windowsNavigator@gnome-shell-extensions.gcampax.github.com [12] workspace-indicator@gnome-shell-extensions.gcampax.github.com
Включение установки расширений шелл в один клик через браузер
Для браузеров типа Google Chrome, Chromium и Vivaldi, убедитесь, что через Chrome Store установлен необходимый аддон: https://chrome.google.com/webstore/detail/gphhapmejobijbbhgpjhcjognlahblep
Пользователи Firefox могут скачать его здесь: https://addons.mozilla.org/firefox/addon/gnome-shell-integration/
Пользователи Opera могут загрузить аддон здесь: https://addons.opera.com/extensions/details/gnome-shell-integration/
После добавления аддона для вашего браузера, установите бекенд:
root #
emerge --ask gnome-extra/gnome-browser-connector
Теперь можно устанавливать, удалять и управлять расширениями по адресу https://extensions.gnome.org/
Если что-то работает не так, как должно, посетите актуальную инструкцию по установке.
Аутентификация не–root пользователей для диалоговых окон
Для некоторых диалоговых окон GNOME, таких как Принтеры, добавление беспроводных сетей и Пользователи, требуются права администратора. Она осуществляется через sys-auth/polkit и работает независимо от app-admin/sudo. По умолчанию в Gentoo учетная запись root является единственным администратором, поэтому даже если учетная запись пользователя может выполнять команды root через sudo, аутентификация в этих диалогах GNOME не пройдет.
Если вы хотите, чтобы все пользователи группы wheel были администраторами, создайте копию /usr/share/polkit-1/rules.d/50-default.rules, начинающуюся с номера меньше 50, и отредактируйте строку return ["unix-user:0"] следующим образом:
polkit.addAdminRule(function(action, subject) {
return ["unix-group:wheel"];
});
Страница Polkit предоставляет больше подробностей о правилах конфигурации.
GNOME hotspot
Для того чтобы gnome-hotspot работал, беспроводная карта должна поддерживать режим инфраструктуры AP (точки доступа). Также необходимы следующие USE–флаги пакета:
net-misc/networkmanager connection-sharing
net-wireless/wpa_supplicant ap
Дополнительно необходимы следующие опции ядра:
Networking support (NET [=y])
Networking options --->
Network packet filtering framework (Netfilter) (NETFILTER [=y]) --->
IP: Netfilter Configuration --->
<*/M> IPv4 NAT (CONFIG_NF_NAT_IPv4)
<*/M> IPv4 masquerade support
<*/M> IP tables support (required for filtering/masq/NAT) (IP_NF_IPTABLES [=y])
<*/M> iptables NAT support
Удаление
Unmerge
Один из возможных способов полного удаления GNOME — явно удалить пакет gnome-base/gnome, а затем очистить зависимости этого пакета.
Для того чтобы сделать это разумно, убедитесь что основной ebuild–репозиторий был синхронизирован:
root #
emerge --sync
Затем запустите обновление мира для того чтобы система была полностью актуальной:
root #
emerge --ask --update --newuse --deep --with-bdeps=y @world
Удалите базовый пакет GNOME. Замените "базовый пакет" на gnome-base/gnome-light, если вместо него была установлена "облегченная" версия пакета:
root #
emerge --ask --depclean gnome-base/gnome
Наконец, удалите лишние зависимости:
root #
emerge --ask --depclean
Теперь GNOME должен быть удален.
Устранение проблем
Вход в систему завершился с ошибкой "Oh no something has gone wrong"
Одной из причин данной ошибки может быть в правах доступа к видео устройству. Если вход в систему не удается и появляется сообщение "Oh no, something has gone wrong", то попробуйте добавить пользователя в группу video. Добавьте пользователя в группу video командой gpasswd так:
root #
gpasswd -a <user> video
Сессия GNOME через Wayland не запускается на видеокартах NVIDIA
Ошибка запуска GNOME через Wayland является известной проблемой. К сожалению, старые версии бинарных драйверов NVIDIA несовместимы с Wayland. Для систем, в которых установлена старая версия бинарного драйвера NVIDIA установлен, но не используется, можно воспользоваться этим временным решением.
For at least gnome-base/gdm-44.1
it is required to set NVreg_PreserveVideoMemoryAllocations=1
in /etc/modprobe.d/nvidia.conf
, otherwise Wayland support is being disabled.
Встроенная в GNOME запись экрана не работает
Встроенная в GNOME запись экрана использует кодек vp8, разработанный компанией Google. Для записи рабочего стола рекордеру необходим этот кодек. Его можно включить с помощью USE–флага vpx
в файлах make.conf или package.use.
USE="vpx screencast"
GNOME и Pinentry не работают с GPG
Например, при использовании Evolution для подписи электронных писем с помощью PGP необходимо расшифровать закрытый ключ. Если этот ключ содержит пароль, то на экране попытается открыться диалог Pinentry.. Чтобы включить Gtk версию диалога, необходимо отредактировать эти конфигурационные файлы.
use-agent
pinentry-mode loopback
pinentry-program /usr/bin/pinentry-gnome3
Внешние ресурсы
- https://github.com/dantrell/gentoo-project-gnome-without-systemd - GNOME без systemd
- https://help.gnome.org/admin/ - Руководство администратора от GNOME.
- https://help.gnome.org/users/ - Руководство пользователя от GNOME.
Ссылки
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Lars Strojny,
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.