10. Оптимизация рабочего окружения (DE)#
Современные среды рабочего стола стали достаточно прожорливыми и требовательными к аппаратным ресурсам компьютера, и хотя они и довольно хороши с точки зрения удобства использования, все же хотелось бы минимизировать потребление той же ОЗУ с их стороны. Поэтому в этом разделе мы по отдельности рассмотрим оптимизацию разных рабочих окружений и не только.
10.1. Запуск любой DE или WM без экранного менеджера (Только для X11)#
Почти всегда любое рабочее окружение запускается при помощи экранного менеджера (его ещё называют менеджером входа), через который вы осуществляете вход в систему и оболочку соответственно. Говоря ещё проще, это экран входа, где вас просят пройти аутентификацию (ввести пароль к вашей учетной записи). Он также выполняет функцию управления рабочими сессиями в разных окружениях. Тем не менее он тоже потребляет определенные ресурсы компьютера, а осуществить вход в систему можно и без него, т.е. через tty, хоть вы и пожертвуете тем самым определенным уровнем удобства. Для автоматизации запуска любой DE/WM (кроме Wayland сессий) через tty вам понадобиться прописать в ваш .bash_profile или .zsh_profile следующее:
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
startx
fi
Это запустит X-сервер сразу при входе в tty1 (терминал по умолчанию).
Обязательным условием при этом является наличие установленного пакета
xorg-xinit, и заранее
настроенный файл ~/.xinitrc, в котором прописана команда запуска
вашего DE/WM (например: exec gnome-session
). Например: exec
gnome-session
# Запускает gnome сессию при запуске Xorg сервера.
10.2. GNOME 4X.X#
Сам по себе GNOME - наверное одна из самых тяжеловесных и требовательных к системным ресурсам оболочка из ныне существующих. Тем не менее у неё есть свои преимущества перед другими оболочками, за что её и любят пользователи. Но к сожалению низкое энергопотребление не в их числе, поэтому в этом разделе вы узнаете о том, как заставить похудеть ваш толстенький gnome-shell.
10.2.1. Удаление мусора GNOME#
sudo pacman -Rsn epiphany gnome-calculator gnome-calendar gnome-contacts gnome-maps gnome-music gnome-weather gnome-clocks gnome-photos gnome-software gnome-user-docs totem yelp gnome-user-share gnome-characters simple-scan eog tracker3-miners rygel evolution-data-server gnome-font-viewer gnome-remote-desktop gnome-logs orca malcontent
P.S. Удаляйте пакеты с осознанием того, что вы делайте. Несмотря на то, что здесь были собраны наиболее сомнительные по соотношению нужности/прожорливости пакеты, вы можете найти какой-либо из данных пакетов полезным и нужным.
Можете удалить Nautilus и GVFS если хотите заменить более легковесным аналогом (например PCManFM):
sudo pacman -Rsn gvfs-afc gvfs-goa gvfs-gphoto2 gvfs-mtp gvfs-nfs gvfs-smb gvfs-google nautilus
Предупреждение
Некоторые пакеты из вышеприведенной команды могут быть не найдены в вашей системе. В таком случае просто выпишите их из команды.
10.2.2. Отключение Tracker 3 в GNOME#
Tracker - это встроенный поисковик для GNOME, который индексирует все файлы на диске и не только. Как любой индексатор файловых систем, он призван кушать ресурсы и мощности вашего накопителя и висеть в оперативной памяти, хоть и в гораздо меньшей степени чем конкуренты (До Windows, с их 100% загруженности на диск, еще как до луны). Тем не менее, его отключение может положительно повлиять на жизненный цикл вашего HDD (в особенности) или SSD, поэтому его можно отключить в целях профилактики диска. Обратите внимание, что после отключения поиск файлов в GNOME может работать некорректно и не так быстро.
Инструкция по отключению
systemctl --user mask tracker-extract-3 tracker-miner-fs-3 tracker-miner-fs-control-3 tracker-miner-rss-3 tracker-writeback-3 tracker-xdg-portal-3
После перезагрузки системы выполните:
rm -rf ~/.cache/tracker ~/.local/share/tracker # Чистим кэш tracker
tracker daemon -t # Проверяем, должно быть 0 PID
10.2.3. Отключение ненужных GSD служб GNOME#
Внимание
Способ отключения служб был обновлен. Крайне рекомендуется использовать именно новый способ через systemd взамен старого, опасного переименования библиотек.
GSD (gnome-settings-daemon) службы, это, как следует из названия, службы настройки GNOME и связанных приложений. Если отойти от строгого определения, то это просто службы-настройки на все случаи жизни, которые просто висят у вас в оперативной памяти в ожидании когда вам, или другому приложению, к примеру, понадобиться настроить/интегрировать поддержку планшета Wacom или других устройств. И другие подобные вещи.
# Отключение служб интеграции GNOME с графическим планшетом Wacom. Если у вас такого нет - смело отключайте.
systemctl --user mask org.gnome.SettingsDaemon.Wacom.service
# Отключение службы уведомления о печати. Если нет принтера или вам просто не нужны эти постоянные уведомления - отключаем.
systemctl --user mask org.gnome.SettingsDaemon.PrintNotifications.service
# Отключение службы управления цветовыми профилями GNOME. Отключив её не будет работать тёплый режим экрана (Системный аналог Redshift).
systemctl --user mask org.gnome.SettingsDaemon.Color.service
# Отключение службы управления специальными возможностями системы. Не отключать людям с ограниченными возможностями!
systemctl --user mask org.gnome.SettingsDaemon.A11ySettings.service
# Отключает службу управления беспроводными интернет-соединениями. Не рекомендуется отключать для ноутбуков с активным использованием Wi-Fi.
systemctl --user mask org.gnome.SettingsDaemon.Wwan.service
# Отключение службы защиты от неавторизованных USB устройств при блокировке экрана. Можете оставить если у вас ноутбук.
systemctl --user mask org.gnome.SettingsDaemon.UsbProtection.service
# Отключаем службу настройки автоматической блокировки экрана. Можете оставить если у вас ноутбук.
systemctl --user mask org.gnome.SettingsDaemon.ScreensaverProxy.service
# Отключение службы настройки общего доступа к файлам и директориям.
systemctl --user mask org.gnome.SettingsDaemon.Sharing.service
# Отключение службы управления подсистемой rfkill, отвечающей за отключения любого радиопередатчика в системе (сюда же относятся Wi-Fi и Bluetooth, поэтому данная служба нужна, скорее всего, для так называемого режима в "самолете").
systemctl --user mask org.gnome.SettingsDaemon.Rfkill.service
# Отключение службы управления клавиатурой и раскладками GNOME. Можно смело отключать если уже настроили все раскладки и настройки клавиатуры заранее, ибо все предыдущие настройки сохраняются при отключении.
systemctl --user mask org.gnome.SettingsDaemon.Keyboard.service
# Отключаем службу управления звуком GNOME. Отключает ТОЛЬКО настройки звука GNOME, а не вообще всё управлением звуком в системе.
systemctl --user mask org.gnome.SettingsDaemon.Sound.service
# Отключение службы интеграции GNOME с карт-ридером.
systemctl --user mask org.gnome.SettingsDaemon.Smartcard.service
# Отключение службы слежения за свободным пространством на диске. Штука полезная, но если вы предпочитаете следить за этим самостоятельно, то вперед
systemctl --user mask org.gnome.SettingsDaemon.Housekeeping.service
# Отключение службы управления питанием в GNOME. Вы должны оставить эту службу включенной если у вас ноутбук, т. к. без неё не будет работать регулирование яркости.
systemctl --user mask org.gnome.SettingsDaemon.Power.service
# Отключение служб Evolution для синхронизации онлайн аккаунтов (Если вы конечно не удалили сам Evolution через команду чистки мусора выше)
systemctl --user mask evolution-addressbook-factory evolution-calendar-factory evolution-source-registry
Если после отключения какой-либо из вышеперечисленных служб что-то пошло не так, или просто какую-либо из них понадобилось снова включить, просто пропишите:
systemctl --user unmask --now СЛУЖБА
Служба вернется в строй после перезагрузки.
Внимание
Если вы по-прежнему использовали старый способ с переименованием библиотек, то настоятельно рекомендуется выполнить переустановку пакета gnome-settings-daemon, а затем выполнить отключение ненужных вам служб уже описанным выше способом.
10.2.4. gnome-shell-performance и mutter-performance#
Пакеты gnome-shell-performance и mutter-performance - это модифицированные версии пакетов GNOME, где упор сделан на плавность и отзывчивость благодаря включению большого количества патчей для повышения производительности DE.
Установка gnome-shell-performance
git clone https://aur.archlinux.org/gnome-shell-performance.git # Загружаем исходники
cd gnome-shell-performance # Переход в директорию
makepkg -sric # Сборка и установка
Установка mutter-performance
git clone https://aur.archlinux.org/mutter-performance.git # Загружаем исходники
cd mutter-performance # Переход в директорию
makepkg -sric # Сборка и установка
Также можно выполнить нативную компиляцию пакетов при помощи Clang: Mesa (Только для оборудования Intel & AMD), Wayland, Wayland-protocols, Lib32-wayland, Egl-wayland, xorg-server и многих других.
Более подробную информацию вы можете найти в разделе "Общее ускорение системы".
10.2.5. Бонус: немного косметики#
С обновлением GNOME 42 некоторые приложения на GTK 4 стали использовать тему libadwaita, но из-за этого приложения на GTK 3 стали выглядить неоднородными, не говоря уж о Qt.
Чтобы это исправить, установите портированную тему libadwaita для GTK 3.
Установка
git clone https://aur.archlinux.org/adw-gtk3.git # Скачиваем исходники
cd adw-gtk3 # Переход в директорию
makepkg -sric # Сборка и установка
# Устанавливаем как тему по умолчанию
gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3
10.2.6. Исправление размытия шрифтов в GTK 4#
С обновлением многих приложений и их переходом на GTK 4 многие заметили "размытие" шрифтов в приложениях.
Чтобы это исправить нужно отредактировать конфиг GTK 4:
nano ~/.config/gtk-4.0/settings.ini
# Добавьте ниже к уже имеющимся настройкам
[Settings]
gtk-hint-font-metrics=1
10.3. KDE Plasma 6#
Несмотря на то, что авторы ARU считают эту оболочку довольно перегруженной, она по прежнему остается лидером по меньшему энергопотреблению оперативной памяти среди других рабочих окружений. Однако, "бесконечность - не предел", поэтому в этом разделе мы сделаем так, чтобы ваша plasma-shell кушала еще меньше ресурсов, и применим на ней другие твики.
10.3.1. Удаление мусора из Plasma 6#
sudo pacman -Rsn kwallet-pam plasma-thunderbolt plasma-vault plasma-sdk kgamma drkonqi discover oxygen oxygen-sounds plasma-browser-integration flatpak-kcm plymouth-kcm kinfocenter wacomtablet plasma-welcome kwrited
sudo pacman -Rsn plasma-pa # Удаляем виджет управления звуком.
sudo pacman -S kmix # Замена виджету plasma-pa, совместим с ALSA.
P.S. Удаляйте пакеты с осознанием того, что вы делайте. Несмотря на то, что здесь были собраны наиболее сомнительные по соотношению нужности/прожорливости пакеты, вы можете найти какой-либо из данных пакетов полезным и нужным.
Предупреждение
Некоторые пакеты из вышеприведенной команды могут быть не найдены в вашей системе. В таком случае просто выпишите их из команды.
10.3.2. Отключение Baloo в Plasma#
Baloo - это файловый индексатор в Plasma, аналог Tracker в GNOME, который потребляет очень много ресурсов процессора и памяти, нагружая в фоном режиме ваш диск, в отличии от того же Tracker 3. Поэтому мы рекомендуем отключать его в любом случае, HDD у вас, или SSD. Хоть разработчики и пытались исправить ситуацию с его непомерным потреблением ресурсов, по прежнему осталась проблема "утечки" оперативной памяти среди подпроцессов Baloo.
Инструкция по отключению:
systemctl --user mask kde-baloo.service
systemctl --user mask plasma-baloorunner.service
Или:
balooctl suspend # Усыпляем работу индексатора
balooctl disable # Отключаем Baloo
balooctl purge # Чистим кэш
Его точно так же можно отключить в графических настройках Plasma:

10.3.3. Отключение ненужных служб Plasma#
По аналогии с GNOME, у Plasma тоже есть свои службы настройки, которые хоть и гораздо менее требовательны к ресурсам. Тем не менее, это по прежнему солянка из различных процессов, которые вам далеко не всегда пригодятся, а отключая ненужные из них вы можете чуть снизить потребление оперативной памяти вашей оболочкой, т.к. по умолчанию все службы включены.
Настройка служб происходит в графических настройках Plasma, в разделе "Запуск и завершение" -> "Управление службами"

Список служб к отключению:
Запуск системного монитора -> Отключаем, довольно бесполезная служба.
Напоминание, об установке расширения браузера -> Еще более бесполезная служба, отключаем.
Настройка прокси-серверов -> Отключайте если не используете прокси/системный VPN.
Bluetooth -> Отключайте если не используйте bluetooth (Если удален bluedevil, этого пункта может и не быть).
Учётные записи -> Нужна только если у вас больше одной учетной записи на компьютере.
Сенсорная панель -> Отключаем если её нет или вы ей не пользуйтесь.
Обновление местоположения для коррекции цвета -> Нужна для "теплого режима" экрана, аналог Redshift. Если не пользуетесь или в ваш монитор встроен этот режим - отключайте.
Модуль шифрования папок рабочей среды Plasma -> Нужна только если вы параноик. Впрочем, параноики используют более тяжёлые средства шифрования, поэтому отключаем.
Слежение за изменениями в URL -> Работает только в сетевых папках, если вы ими не часто пользуетесь - отключаем.
Слежение за свободным местом на диске -> Вещь полезная, но это вы можете сделать и самостоятельно через виджеты, поэтому Откл./Оставлять по желанию.
SMART -> Тоже довольно полезная служба, отключайте на свое усмотрение.
Диспетчер уведомлений о состоянии -> Нужна для правильной работы лотка и трея.
Служба синхронизации параметров GNOME/GTK -> Осуществляет смену GTK темы на лету. Если отключить, то смена GTK темы будет применяться только после перезагрузки.
Фоновая служба клавиатуры -> Служба для отображения раскладки в системном лотке.
Служба локальных сообщений -> Следит в общении между терминалами через команды wall и write. Это очень специфично, поэтому отключаем.
Модуль для управления сетью -> Добавляет системный лоток виджет для управления сетевыми подключениями. Отключайте, если не используете NetworkManager.
Состояние сети -> Оповещает приложения в случае неработоспособности интернет-соединения. Тоже довольно нишевая служба, можно отключить.
Подключение внешних носителей -> Автоматически примонтирует внешние устройства при их подключении. Например, такие как USB-флешки. Отключайте на свое усмотрение.
Часовой пояс -> Информирует другие приложения об изменении системного часового пояса. Довольно редко применимо, можно отключить.
Обновление папок поиска -> Автоматически обновляет результат поиска файлов. Отключаем на свое усмотрение. Кроме того, судя по всему работает только в Dolphin.
Действия -> Обеспечивает работу специально назначенных действий в настройках. Если вы не используйте кастомные бинды, можете отключить.
Фоновая служба меню приложений -> Странная служба. По своей функции она осуществляет обновление Меню Приложений при появлении новых ярлыков, однако даже при её отключении этот функционал работает. Отключайте на свое усмотрение.
10.4. Cinnamon#
Cinnamon, или дословно корица, это форк GNOME 3, который был создан разработчиками Linux Mint для исправления проблем своего родителя, когда последний был в крайне нестабильном состоянии. И отчасти им это удалось, но одну из главных проблем GNOME она (корица), к сожалению, унаследовала - это большое потребление оперативной памяти и других ресурсов компьютера. Поэтому здесь мы поговорим об оптимизации нашей булочки с корицей.
10.4.1. Отключение ненужных CSD служб (НОВЫЙ СПОСОБ)#
Будучи форком GNOME 3, Cinnamon также имеет свой аналог GSD служб, которые называются CSD службами (Cinnamon Settings Daemon). Принципиальных различий от GSD служб у них по сути нет, просто другое название и немного измененный состав.
cd ~/.config/autostart # Переходим в директорию автозагрузки
cp -v /etc/xdg/autostart/cinnamon-settings-daemon-*.desktop ./ # Копируем автозагрузку служб
# Отключение служб интеграции Cinnamon с графическим планшетом Wacom. Если у вас его нет - смело отключайте.
echo "Hidden=true" >> cinnamon-settings-daemon-wacom.desktop
# Отключение службы интеграции принтера в Cinnamon.
echo "Hidden=true" >> cinnamon-settings-daemon-print-notifications.desktop
# Отключение служб настройки "Специальных Возможностей" в Cinnamon. Не отключать людям с ограниченными возможностями!
echo "Hidden=true" >> cinnamon-settings-daemon-a11y-settings.desktop
echo "Hidden=true" >> cinnamon-settings-daemon-a11y-keyboard.desktop
# Отключение службы настройки автоматической блокировки экрана.
echo "Hidden=true" >> cinnamon-settings-daemon-screensaver-proxy.desktop
# Отключение службы интеграции Cinnamon с картридером. Если у вас его нет смело, отключайте:
echo "Hidden=true" >> cinnamon-settings-daemon-smartcard.desktop
# Отключаем службу слежения за свободным пространством на диске.
echo "Hidden=true" >> cinnamon-settings-daemon-housekeeping.desktop
# Отключаем службу настройки ориентацией дисплея. Если у вас нет сенсорного экрана или поддержки переворота дисплея - отключайте.:
echo "Hidden=true" >> cinnamon-settings-daemon-orientation.desktop
# Отключение службы настройки мыши и тачпада Cinnamon.
echo "Hidden=true" >> cinnamon-settings-daemon-mouse.desktop
# Отключение службы настройки энергосбережения Cinnamon. Смело отключаем, если у вас не ноутбук:
echo "Hidden=true" >> cinnamon-settings-daemon-power.desktop
# Отключаем службу интеграции работы буфера обмена c Cinnamon.
echo "Hidden=true" >> cinnamon-settings-daemon-clipboard.desktop
Если после отключения какой-либо из вышеперечисленных служб что-то пошло не так, или просто какую-либо из них понадобилось снова включить, просто пропишите::
rm -rf ~/.config/autostart/cinnamon-settings-daemon-СЛУЖБА.desktop
Это вернет нужную службу в строй после перезагрузки.
Внимание
Если вы по-прежнему использовали старый способ с переименованием библиотек, то настоятельно рекомендуется выполнить переустановку пакета cinnamon-settings-daemon, а затем выполнить отключение ненужных вам служб уже новым способом.
10.4.2. Отключение ненужных эффектов Muffin#
К сожалению, по умолчанию в Muffin отсутствует опция отключения сразу всех графических эффектов в оболочке (т.е. композитинга). Поэтому, нам нужно отключить их поочередно в соответствующем разделе настроек "Эффекты".

Желательно, в целях максимальной экономии аппаратных ресурсов, отключить все имеющийся здесь эффекты. Но вы можете сделать это также и выборочно. И как обычно: Чем меньше эффектов включено -> Тем меньше потребление ресурсов ОЗУ и VRAM.