k>
Published on

Рабочий стол на Arch Linux

Authors
  • avatar
    Name
    Бизюков Владимир
    Twitter
Оглавление

Привет! В этой статье мы подготовим наш свежий Arch к работе в качестве домашнего десктопа.

Мы используем:

  • рабочий стол KDE Plasma или GNOME
  • проприетарный DKMS драйвер NVIDIA
  • yay (майонез)
  • zramd в качестве SWAP
  • nftables как брандмауэр
  • timeshift для резервного копирования

Подготовка

  • Включим 32-битный репозиторий

Нам нужны будут некоторые зависимости оттуда.
Для этого в /etc/pacman.conf раскомментируем репозиторий multilib:

[multilib]
Include=/etc/pacman.d/mirrorlist

Если хотите получить доступ к тестовой версии Plasma, то в начале списка репозиториев (перед записью [testing]) в /etc/pacman.conf добавьте:

[kde-unstable]
Include = /etc/pacman.d/mirrorlist

А если к тестовой версии Gnome, то:

[gnome-unstable]
Include = /etc/pacman.d/mirrorlist

Раз мы зашли сюда, раскомментируем еще и Color c ParallelDownloads = 5 в разделе Misc options

# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ParallelDownloads = 5

Это включит параллельную загрузку и подсветку в терминале.


  • Обновим систему

sudo pacman -Suy

Установка среды рабочего стола

Сейчас я использую GNOME и KDE Plasma, поэтому опишу их установку.

На мой взгляд, основные отличия Gnome от Plasma:

  • Gnome полностью построен на GTK, а Plasma на Qt
  • В дизайне интерфейса для Gnome на первом месте пользовательский опыт, а для Plasma - функциональность
  • Gnome использует новый графический сервер Wayland по умолчанию и неплохо с ним работает. У KDE с Wayland всё еще могут быть какие-то проблемы. А могут и не быть, лучше проверьте работу своей системы на Plasma сперва с Wayland.

P.S У меня 1050 и с проприетарным драйвером wayland работает пока плохо. Хотя, возможно, у меня что-то плохое с руками

Выберете полную или минимальную установку этих DE.

Если вы еще не очень разбираетесь - ставьте полные группы пакетов и удаляйте ненужное. Такой подход уменьшит количество вероятных ошибок в работе DE. В противном случае ставьте минимальную версию и добавляйте нужные вам пакеты из полных групп.


  • Установим Gnome

GNOME использует Wayland по умолчанию.

  • Минимальная установка:
sudo pacman -S gnome-shell gnome-terminal gnome-tweaks gnome-control-center xdg-user-dirs gdm gnome-keyring nautilus eog file-roller
  • Полная установка:
sudo pacman -S gnome gnome-extra

  • и включим GDM

sudo systemctl enable gdm

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

ПакетОписание
gnome-shellоболочка рабочего стола Gnome
gnome-terminalэмулятор терминала
gnome-tweaksинтерфейс для расширенных настроек Gnome
gnome-control-centerинтерфейс для основных настроек Gnome
xdg-user-dirsменеджер пользовательских каталогов
gdmменеджер дисплея Gnome
gnome-keyringхранитель паролей
nautilusфайловый менеджер
eogпросмотр изображений
file-rollerархиватор
gnomeгруппа пакетов с десктопом и основными приложениями
gnome-extraгруппа пакетов с дополнительными приложениями

  • Или установим KDE Plasma

KDE установим с Xorg.

  • Минимальная установка:
sudo pacman -S xorg-server xorg-apps plasma-desktop sddm plasma-nm plasma-pa dolphin konsole kdeplasma-addons kde-gtk-config
  • Полная установка:
sudo pacman -S xorg-server xorg-apps plasma kde-applications

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

ПакетОписание
xorg-serverXorg сервер
xorg-appsгруппа пакетов с конфигами для Xorg
plasma-desktopоболочка рабочего стола Plasma
sddmменеджер дисплея KDE
plasma-nmапплет Plasma для NetworkManager
plasma-paапплет Plasma для PulseAudio
dolphinфайловый менеджер
konsoleэмулятор терминала
kdeplasma-addonsулучшения для Plasma
kde-gtk-configинтеграция с GTK приложениями
plasmaгруппа пакетов с десктопом и основными приложениями
kde-applicationsгруппа пакетов с группами дополнительных приложениями

Вместо kde-application можно выбрать только нужные вам группы тут или тут


  • и включим SDDM

sudo systemctl enable sddm

Установка драйвера NVIDIA

Установим проприетарный DKMS драйвер NVIDIA. Иногда запускаю игры и мне нужна производительность. А DKMS позволит нам не возиться с модулями ядра при обновлении.

  • Установим драйвер NVIDIA и Vulkan

sudo pacman -S nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader opencl-nvidia lib32-opencl-nvidia libxnvctrl

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

ПакетОписание
nvidia-dkmsDKMS проприетарный драйвер NVIDIA
nvidia-utilsутилиты драйвера NVIDIA
lib32-nvidia-utilsутилиты драйвера NVIDIA (32-bit)
nvidia-settingsредактор опций NVIDIA
vulkan-icd-loaderграфический API Vulkan
lib32-vulkan-icd-loaderграфический API Vulkan (32-bit)
opencl-nvidiaсреда выполнения OpenCL для NVIDIA
lib32-opencl-nvidiaсреда выполнения OpenCL для NVIDIA (32-bit)
libxnvctrlAPI для NVIDIA и X

  • Добавим модули ядра для NVIDIA и brtfs

Отредактируем скрипт Initial ramdisk /etc/mkinitcpio.conf.
В строку MODULES добавим nvidia nvidia_modeset nvidia_uvm nvidia_drm crc32c libcrc32c zlib_deflate btrfs.

Теперь пересобираем образ ядра:

sudo mkinitcpio -P

Обновляем загрузчик:

sudo grub-mkconfig -o /boot/grub/grub.cfg
reboot

  • Настроим драйвер NVIDIA

Сперва сгенерируем файл конфигурации X сервера:

sudo nvidia-xconfig
reboot

Теперь запустим настройки NVIDIA

sudo nvidia-settings

Во вкладке X Server XVideo Settings выберем основной монитор.
Во вкладке PowerMizer в разделе PowerMizer Settings выберем Prefer Maximum Performance.
Во вкладке X Server Display Configuration выберем наше разрешение и частоту и сохраним Save to X Configuration File.
Запустим nvidia-settings без sudo и повторим всё настройки выше. Но не будем сохранять через Save to X Configuration File.


Начальная настройка

  • Установим yay

Одно из главных преимуществ Arch Linux - это Arch User Repository (AUR). В пользовательских репозиториях очень быстро появляются новые версии пакетов.

Скрипты с информацией о сборке пакетов тут неофициальные. У меня никогда не возникало проблем и я ничего не слышал о взломах через AUR, но будьте благоразумны.

yay - один из помощников AUR. С его помощью можно устанавливать и обновлять пакеты из AUR и обычных репозиториев.

Использование без ключей выполнит поиск пакета, содержащего искомые слова в названии или описании. Поиск идет по подключенным репозиториям и в AUR.

Создадим каталог для git и перейдём в него. Я сделаю это в Download:

mkdir ~/Download/git
cd Download/git/

Клонируем репозиторий с yay и установим его с помощью makepkg:

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -sric

-i - установит пакет после сборки
-s - установит недостающие зависимости
-r - удалит зависимости для сборки после ее окончания
-c - очистит каталог установки


  • Установим брандмауэр

Установим и запустим службу `nftables':

sudo pacman -S nftables
sudo systemctl enable --now nftables

Нас интересует простой брандмауэр. В nftables есть дефолтная конфигурация, которая лежит в /etc/nftables.conf. Правила из этого файла загружаются при запуске службы nftables.service, значит ничего больше нам делать не нужно.


  • Настроим файл подкачки

zramd - служба, создающая файл подкачки в памяти. Я использую её вместо файла подкачки.

Установим и запустим службу zramd:

yay zramd
sudo systemctl enable --now zramd

Теперь вывод lsblk покажет нам, что в SWAP смонтирован и его объем равен оперативной памяти.


  • Настроим резервное копирование

Если вы собираетесь ставить всякие странные вещи в свою систему, то лучше позаботиться о резервном копировании.

В предыдущей статье мы установили систему на диск с btrfs. Одна из причин, по которой мы выбрали btrfs - простое создание и восстановление снапшотов. Они отличаются от бэкапов тем, что сохраняют только 1 полную резервную копию. А дальше записывают лишь изменения, произошедшии с данными резервируемых подразделов. Так мы экономим время и ресурсы системы.

Самое простое решение для резервного копирования btrfs с GUI - это timeshift. Он позволит нам восстановиться из GRUB, с рабочего стола или загрузившись с live системы через графический интерфейс.

timeshift создает снапшоты подразделов btrfs на новом подразделе.

Сперва установим timeshift:

yay timeshift

После установки запустим timeshift из меню приложений нашей графической оболочки. Откроется простой мастер настройки резервного копирования.

  • В разделе Select Snapshot Type выберем BTRFS
  • В разделе Select Snapshot Location выберем наш раздел сBTRFS
  • В разделе Select Snapshot Levels выберем нужное нам расписание
  • В разделе User Home Directories оставим пустым чекбокс Include @home su in backup
  • Теперь жмем Finish
  • В открывшимся интерфейсе TimeShift нажмем Create. Это запустит создание первого снапшота.

Теперь, чтобы не случилось, мы можем вернуться в это место.

Обратите внимание, мы НЕ сохраняем наш EFI раздел, но восстановить или создать заново его можно из live системы.


Теперь установим timeshift-autosnap. Это скрипт автоматического создания снапшота перед обновлением системы.

yay timeshift-autosnap

Изменить настройки создания снапшотов при обновлении можно в файле /etc/timeshift-autosnap.conf. Скрипт добавит в GRUB раздел с вариантами загрузки системы из созданного им снапшота.


Ура! Наша система почти готова. Но уже сейчас ей можно пользоваться не боясь прострелить себе колено.

В следующей статье мы оптимизируем и украсим нашу систему.

Надеюсь, эта статья была полезна вам! А если у вас возникла проблема, вы можете рассказать о ней в комментариях. Я обязательно отвечу.