Void Linux. Красота в пустоте
Загрузить свой скриншот
Войдите, чтобы добавлять скриншоты

Void Linux. Красота в пустоте

23
Материал написан пользователем сайта.
Дистрибутив:
Окружение:
  • Hyprland (Wayland)

Дистрибутив: Void Linux
Окружение: Hyprland

Предисловие

С Void Linux  познакомился года полтора назад. Погонял с недельку на виртуалке и на этом знакомство было закончено. Самобытная СИ, самобытный пакетный менеджер. Все это нужно было изучать, чтобы полноценно пользоваться. Отложил "до лучших времен" и вот оно, — это время пришло!

Arch Linux достал своими бесконечными обновлениями, после которых приходилось что-нибудь да править в конфигах (держал его только ради Hyprland). Смотрю, все чаще стали появляться сборки Hyprland на базе других ОС, среди которых Void Linux для меня представлял особый интерес. Решил для себя, пока не сделаю форк своего конфига Hyprland на Void, арч сносить не буду. Все это, разумеется, делалось на виртуальной машине.

Первоначально нужно было отточить процесс установки и беспроблемного запуска Hyprland на Void, который брался в базовом варианте base-glibc (минимализм еще тот, вам скажу). Тут-то и потребовалось более глубокое изучение xbps и runit. База знаний неплохая, но ей все еще далеко до Arch или Gentoo Wiki.

Void меня удивил тем, что всегда думал, что с пакетами тут все плохо, а оказалось, совсем по-другому. Понятно, что того изобилия, как в арч с подключенным аур и в помине нет, но в сравнении с, например, калькой, не испытал затруднений по установке некоторых специфических пакетов для моей сборки. Единственное, что не нашлось в репах — это rofi-wayland, но он легко собирается из исходников или, как вариант, меняется на минималистичный fuzzel или что-нибудь в этом роде.

Как сложился весь пазл, закинул его на gitlab, проверил еще раз весь процесс сборки с "нуля" и приступил к установке на "реальное" железо.

Установка базовой системы

Void Linux имеет псевдографический установщик, с помощью которого система ставится буквально за несколько минут (арч-инсталл есть чему поучиться). Самая большая "сложность" может возникнуть с настройкой интернет-доступа по беспроводной сети. Поскольку с wpa_supplicant достаточно давно "на ты", — для меня обыденное дело. Мало ли, может кому пригодится:

# rfkill (если заблокирован адаптер — rfkill unblock <adapter>)
# ip a (список доступных интерфейсов и их статус)
# ip link set <device name> up
# wpa_passphrase '<ssid>' '<password>' > /etc/wpa_supplicant/wpa_supplicant.conf
# wpa_supplicant -B -i <device name> -c /etc/wpa_supplicant/wpa_supplicant.conf
# dhcpcd
# ping pingvinus.ru (проверяем, что все работает, пакеты идут)

После того, как интернет заработал, запускаем установщик командой void-installer. Следуем всем пунктам меню, выбираем в них нужные параметры, подтверждаем намерение и ждем окончания установки. Минималистично, лаконично и быстро — так можно описать процесс установки Void Linux.

Обновление, настройка и установка среды для запуска Hyprland

После первой загрузки, выполняем полное обновление системы:

# xbps-install -Su (запускаем дважды, если обновился xbps)

Подключаем репозитории Void:

# xbps-install -S void-repo-multilib void-repo-multilib-nonfree void-repo-nonfree

Подключаем репозиторий Hyprland.
 — создаем файл в/etc/xbps.d/hyprland-void.conf следующего содержания:

repository=https://raw.githubusercontent.com/Makrennel/hyprland-void/repository-x86_64-glibc

— синхронизируем:

# xbps-install -Su

Устанавливаем Hyprland, а именно следующие пакеты:
hyprland, hyprland-devel, hyprland-protocols

Устанавливаем порталы и утилиты:
xdg-desktop-portal, xdg-desktop-portal-hyprland, xdg-desktop-portal-wlr, xdg-desktop-portal-lxqt, xdg-desktop-portal-gnome, xdg-desktop-portal-kde, xdg-desktop-portal-gtk, xdg-utils, xdg-user-dirs

Устанавливаем минимальный вариант xorg-minimal, который дополняем mesa, mesa-dri, meson, polkit

elogind будет установлен, как зависимость, а вот seatd нужно принудительно установить, и после не забыть добавить пользователя в группу, а также создать ссылку на автозапуск сервиса:

# usermod -aG _seatd <user.name>
# ln -s /etc/sv/seatd /var/service

В Void нужно привыкнуть к тому, что не всегда после установки пакета, его сервис добавится в автозапуск. Поэтому, не забываем:

# ln -s /etc/sv/polkitd /var/service
# ln -s /etc/sv/dbus /var/service

Без pipewire у вас Hyprland не будет нормально работать, хоть пакет и установится автоматом, запуск его нужно подготовить, а именно в ~/.bash_profile включить строчки типа:

if test -z "$XDG_RUNTIME_DIR"; then
    if test! -d "XDG_RUNTIME_DIR"; then
        mkdir $XDG_RUNTIME_DIR
        chown $USER:$USER $XDG_RUNTIME_DIR
    fi
    export XDG_RUNTIME_DIR="/run/user/$(id -u $USER)"
fi

Создать директорию: mkdir -p /etc/pipewire/pipewire.conf.d
и добавить в нее симлинки на файлы конфигурации:

# ln -s /usr/share/examples/wireplumber/10-wireplumber.conf /etc/pipewire/pipewire.conf.d
# ln -s /usr/share/examples/pipewire/20-pipewire-pulse.conf /etc/pipewire/pipewire.conf.d

Запуск можно прописать в отдельный скрипт (pipewire.sh):

#!/bin/bash
check_and_start() {
    if! pgrep -x "" >/dev/null; then
        echo "Starting ..."
        sleep 1 && &
    else
        echo " is already running"
    fi
}
check_and_start "pipewire" "/usr/bin/pipewire"

… и в автозапуск Hyprland добавить:

exec-once = <path to>/pipewire.sh

Остальное — по-выбору. Остается после авторизации набрать:

# Hyprland

И вы — в системе. Можно автоматизировать процесс, установкой какого-нибудь менеджера дисплея или добавить следующий блок в файл ~/.bash_profile:

if shopt -q login_shell; then
    [[ -f ~/.bashrc ]] && source ~/.bashrc
    [[ -t 0 && $(tty) == /dev/tty1 &&! $DISPLAY ]] && dbus-run-session Hyprland
else
    exit 1 # Somehow this is a non-bash or non-login shell
fi

Локали можно добавить после установки, отредактировав файл /etc/default/libc-locales. Не забываем переконфигурировать пакет:

# xbps-reconfigure --force glibc-locales

и внести изменения в системную конфигурацию, в файл /etc/locale.conf

LANG=ru_RU.UTF-8

Ну как-то так, достаточно просто, не правда ли?

Кому интересен мой конфиг, забрать можно тут, там и список необходимых пакетов есть (устанавливал всю систему с нуля именно отсюда):

https://gitlab.com/scorpp13/hypr-void.git

Работа

Работа в системе вызывает сплошное удовольствие.

Во-первых, все очень минималистично, ничего лишнего (у арч-а гораздо больше зависимостей).

Во-вторых, ну очень симпатичный и шустрый пакетный менеджер, он настолько интуитивен, что и привыкать не нужно (особенно после pacman).

В-третьих, рунит. Блин, какая же она простая и понятная и ко всему — реально быстрая. Смотрите сами, — это все, что нужно для управления сервисами:

# sv up <services>
# sv down <services>
# sv restart <services>
# sv status <services>

Добавить сервис в автозапуск — просто создай симлинк. Удобно создавать свои сервисы. В общем — песня, СИ и ничего больше!

После загрузки графического окружения (кстати можно скачать базу с xfce или установить другое популярное de), простой обыватель не увидит различий с другими дистрибутивами. Софта — более чем, если кому захочется прям выйти за рамки — есть "переводчик" xdeb, позволяющий установить любой .deb-пакет в систему, предварительно переконвертировав его для использования с xbps:

https://github.com/xdeb-org/xdeb

Для кого? Дистрибутив вполне может быть использован опытным пользователем в качестве рабочей станции. Все для этого у него имеется. Для новичков будет сложноват, но может оказаться полезным инструментом с точки зрения освоения линукс.

Заключение

А заключения то не будет. Продолжаю свой путь в мир "пустоты"

Лайков: +21
войдите, чтобы ставить лайки
23
  • Опубликовано: 03.10.2024
  • scorpii

Еще скриншоты:

Комментарии

x230
Активный пользователь
Активный
03.10.2024
13:31
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
+
Плюсану и пойду читать...

P.S. А я ждал подобного от Скорпия!.. - Дождался наконец! спсб! ... Пошел читать.
Minor748
Активный пользователь
Активный
04.10.2024
14:44
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийx230Родительский комментарий
+1
войдите, чтобы ставить лайки
— А можно сперва стулья, а потом деньги?
— Можно … Но деньги вперёд!
x230
Активный пользователь
Активный
04.10.2024
15:02
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
))
Гы-ы!..
Minor748
Активный пользователь
Активный
03.10.2024
13:36
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Символично, что Льюс Хемильтон на рабочем столе
xKDE
Активный пользователь
Активный
03.10.2024
13:38
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+1
войдите, чтобы ставить лайки
Это в плеере)
Minor748
Активный пользователь
Активный
03.10.2024
13:41
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
Лады, фоном
scorpii
Активный пользователь
Активный
Автор материала
Автор материала
03.10.2024
14:31
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+1
войдите, чтобы ставить лайки
Материал готовил в воскресенье, гонку в Сингапуре никак нельзя было пропустить. Получилось прикольно, - в момент скриншота они запустили рекламную заставку, как раз перед началом прогревочного круга и Люся попал в снимок, который делается с 3 секундной паузой))
LactoseFree1
Активный пользователь
Активный
04.10.2024
09:53
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
0
войдите, чтобы ставить лайки
А мог попасть и Риккьярдо)

У меня не получилось его установить, что очень печально. Пробовал и с предустановленной xfce и обычный вариант. Выдаёт ошибку во время установки, что не может примонтироваться. На днях установил NixOS, но мининоут не потянул его. При первой же сборке конфига разогрелся и завис. Вернулся снова на Арч.
scorpii
Активный пользователь
Активный
Автор материала
Автор материала
04.10.2024
20:32
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийLactoseFree1Родительский комментарий
0
войдите, чтобы ставить лайки
> А мог попасть и Риккьярдо)

Символично бы получилось, Ден - сбитый летчик))
xKDE
Активный пользователь
Активный
03.10.2024
13:47
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
+
Как всегда, отлично! Но...
"Природа не терпит пустоты" ©)))
x230
Активный пользователь
Активный
03.10.2024
14:19
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Прочитал.
Проникся ... терниями!.. И подумал: "Нет, не поднять мне вас! ©"

P.S. Повспоминаю Arch пока...
UlyssesJJ
Активный пользователь
Активный
03.10.2024
14:46
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Хороший дистрибутив, мне, в целом, он понравился, но как-то у меня с ним не сложилось. xbps не зашел. И показалось, что в репозиториях бардак творится. Были проблемы с пакетом драйверов для моего сетевого адаптера, пакетами из так называемого набора xfce4-goodies. Также мне как перфекционисту не понравилось, что названия одних пакетов начинаются с прописной буквы, других - со строчной, некоторые названия пишутся слитно, а другие через дефис.
scorpii
Активный пользователь
Активный
Автор материала
Автор материала
03.10.2024
16:29
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийUlyssesJJРодительский комментарий
0
войдите, чтобы ставить лайки
Да, есть такое. Вон помнится, vantiki thunar не сразу нашел, потому что он Thunar. Но к xbps есть хороший инструмент с использованием fzf. В нем легко искать и можно устанавливать/удалять пакеты
scorpii
Активный пользователь
Активный
Автор материала
Автор материала
04.10.2024
07:22
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
+1
войдите, чтобы ставить лайки
fuzzypkg - xbps fuzzy package finder and manager
UlyssesJJ
Активный пользователь
Активный
04.10.2024
07:25
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
0
войдите, чтобы ставить лайки
Интересно, спасибо
UlyssesJJ
Активный пользователь
Активный
03.10.2024
14:47
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Скриншот очень красивый. Панель polybar?
scorpii
Активный пользователь
Активный
Автор материала
Автор материала
03.10.2024
16:25
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийUlyssesJJРодительский комментарий
+1
войдите, чтобы ставить лайки
Waybar
choice
Активный пользователь
Активный
03.10.2024
14:52
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Всё читаю, плюсы жму, а по теме сказать нечего и много откликов тут не жду.
Напишу что-нибудь попроще с надеждой, что новые участники подтянутся.
scorpii
Активный пользователь
Активный
Автор материала
Автор материала
04.10.2024
07:21
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийchoiceРодительский комментарий
0
войдите, чтобы ставить лайки
Про parabola? Void попроще будет. Готовые сборки на различных de также имеются, если "сложность" в этом.
imbios
Активный пользователь
Активный
03.10.2024
16:37
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+3
войдите, чтобы ставить лайки
Если кому интересно, есть готовые сборки:
PLASMA, GNOME, XFCE, LXQT-Kwin

https://sourceforge.net/projects/agarimos/files/
Sergejs
Активный пользователь
Активный
03.10.2024
20:29
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийimbiosРодительский комментарий
0
войдите, чтобы ставить лайки
Есть такой сервер как Void Builds
Этот сервер размещает неофициальные ночные образы живых дисков Void Linux, которые используют установщик void-pi
void-live-cinnamon-unofficial
void-live-e17-unofficial
void-live-gnome-unofficial
void-live-i3-unofficial
void-live-kde-unofficial
void-live-lxqt-unofficial
void-live-mate-unofficial
void-live-unofficial
void-live-xfce-unofficial
Обновление образов происходит автоматически каждый день
scorpii
Активный пользователь
Активный
Автор материала
Автор материала
04.10.2024
07:39
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Смотрю текст скрипта исковеркался, не пойму почему так. Должно быть;
скрипт (pipewire.sh):

#!/bin/bash
check_and_start() {
if ! pgrep -x "$1" >/dev/null; then
echo "Starting $1..."
sleep 1 && $2 &
else
echo "$1 is already running"
fi
}
check_and_start "pipewire" "/usr/bin/pipewire"
LexD
Активный пользователь
Активный
04.10.2024
18:56
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Полезно.
+

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила