GNOME/Руководство пользователя

From Gentoo Wiki
< GNOME
Jump to:navigation Jump to:search
This page is a translated version of the page GNOME/Guide and the translation is 93% complete.
Outdated translations are marked like this.

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 перед переходом на профиль 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 уже включает включает в себя эту системную шину сообщений.

ФАЙЛ /etc/portage/make.confПример глобальных USE-флагов для окружения GNOME
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".

ФАЙЛ /etc/conf.d/display-manager
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:

ФАЙЛ /etc/portage/make.conf
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 была глобальной локалью по умолчанию, а для рабочего стола использовалась другая локаль. Этого можно добиться через добавления настроек:

ФАЙЛ ~/.config/environment.d/01_localize.confПереопределение локали для пользовательской сессии
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, добавьте:

ФАЙЛ ~/.bashrcПереопределение локали для терминала
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"] следующим образом:

ФАЙЛ /etc/polkit-1/rules.d/49-wheel.ruleswheelАдминистраторы из wheel группы
polkit.addAdminRule(function(action, subject) {
    return ["unix-group:wheel"];
});

Страница Polkit предоставляет больше подробностей о правилах конфигурации.

GNOME hotspot

Для того чтобы gnome-hotspot работал, беспроводная карта должна поддерживать режим инфраструктуры AP (точки доступа). Также необходимы следующие USE–флаги пакета:

ФАЙЛ /etc/portage/package.useПоддержка Connection Sharing (общий доступ к подключению) и Access Point (точки доступа)
net-misc/networkmanager connection-sharing
net-wireless/wpa_supplicant ap

Дополнительно необходимы следующие опции ядра:

ЯДРО Опции NAT (расположение в ядре 4.14)
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.

ФАЙЛ /etc/portage/make.conf
USE="vpx screencast"

GNOME и Pinentry не работают с GPG

Например, при использовании Evolution для подписи электронных писем с помощью PGP необходимо расшифровать закрытый ключ. Если этот ключ содержит пароль, то на экране попытается открыться диалог Pinentry.. Чтобы включить Gtk версию диалога, необходимо отредактировать эти конфигурационные файлы.

ФАЙЛ ~/.gnupg/gpg.conf
use-agent
pinentry-mode loopback
ФАЙЛ ~/.gnupg/gpg-agent.conf
pinentry-program /usr/bin/pinentry-gnome3

Внешние ресурсы

Ссылки


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.