
Небольшое лирическое отступление
Дистрибутив S.u.S.E Linux начал свой путь в Германии в начале 90-х годов 20-столетия. Изначально был основан на Slackware, однако со временем претерпел значительные изменения и стал самостоятельным дистрибутивом. Чуть позже, спустя 10-летие, был выкуплен американской компанией Novell. С тех пор дистрибутив развивается и поддерживается сообществом openSUSE, на базе которого также собираются коммерческие продукты. Свободно-распространяемая ветка opeSUSE содержит 2 версии дистрибутивов Linux: стабильный leap ("попрыгунчик") и ролинг-релиз tumbleweed ("перекати-поле"). О последнем и пойдет речь в данной статье.
Установка минимальной базы для десктопа
Наша цель: установить opensuse с необходимым набором программ для будущей конвертации сборки в легковесную десктоп-систему на базе Х-сервера с оконным менеджером openbox на борту. Для этого:
- Качаем iso-образ openSUSE Tumbleweed с официального сайта любым удобным для вас способом.
- Готовим загрузочный диск, опять же любым удобным для вас способом. Мне симпатизирует ventoy, статья про который есть на нашем сайте: https://pingvinus.ru/program/ventoy
- Загружаемся с live-образа openSUSE Tumbleweed и следуем шагам установки системы. В документации… много чего написано, но поскольку установщик полностью графический, — можно и пропустить.

- Будет выполнена диагностика вашего оборудования и сгенерировано ядро системы. По окончании процесса появится экран выбора языка системы.

- На следующем этапе необходимо настроить параметры сети. Если у вас подключение кабельное, то вероятней всего установщик сам все автоматически сконфигурирует. Для wifi-подключения потребуется настроить точку доступа (имя и пароль)

- Далее нам будет предложено подключить сетевые репозитории и выбрать «системную роль» будущей установки. Я рекомендую выбрать "Рабочий стол — графическая система с ограниченным набором пакетов, служит базой для собственного набора пакетов". В этом варианте будет установлена минимальная графическая среда: xorg + icewm. В дальнейшем ее мы будем использовать для удобства сборки собственного окружения.

- На следующем этапе нам необходимо выбрать диск и его разметку, куда будет установлена система. Можно воспользоваться встроенным инструментом для «ручной разметки», если не устраивает автоматически предлагаемый вариант (btrfs + swap)

- На этом этапе нам предложат выбрать географическую зону и часовой пояс с параметрами синхронизации времени и т.п. Ничего интересного.

- На следующем шаге производится создание пользователя (ей), настройка паролей и параметров входа в систему.

- Ну наконец-то мы и добрались до этапа проверки, изменения (при желании или такой необходимости) выбранных ранее настроек и подтверждения параметров установки будущей системы. Выполняем проверку/корректировку, подтверждаем нажатием на кнопку «Установить» и наслаждаемся процессом установки новой системы на диск.

Минут через 5-10, когда установщик закончит выполнять все свои задания, произойдет автоматическая перезагрузка компьютера. Нас уже будет встречать оконный менеджер LightDM с окном приглашения для авторизации и входа в свежеустановленную графическую среду IceWM с "фирменной" раскраской.
На этом все, базовая система установлена с браузером Firefox, центром настроек Yast2 и эмулятором терминала Xterm; реально же - ничего лишнего! Xterm нам потребуется для установки своего набора ПО, Firefox поможет с поиском недостающей информации, а Yast2 (он же центр) и кто-то сразу захочет им пользоваться вместо командной строки. Я же, по классике жанра, все расскажу и покажу далее с использованием оной.
Первым-наперво, обновим систему, особенно важно это сделать, если на этапе установки вы не подключили сетевые репозитории (все действия выполняем из под root, пока наш пользователь не добавлен в группу wheel и не внесены некоторые корректировки в файл sudoers). Можно конечно и так пользоваться командой sudo, помня что для авторизации каждый раз придется вводить пароль root, а не вашего пользователя (что мне совершенно не понравилось). В openSUSE такая возможность предоставлена по-умолчанию, добавлением 2-х строк в файл sudoers, которые мы позже закомментируем или вовсе удалим.
* Проверка списка репозиториев и исключение из него
* локального репозитория установочного диска (флешки):
# zypper lr
# zypper rr <имя или номер реп-ы из списка вывода команды выше для удаления>
* Синхронизация базы данных репозиториев и запуск обновления системы:
# zypper ref
# zypper dupВносим правки в файл /etc/sudoers и добавляем нашего пользователя в группу wheel, чтобы позволить ему в будущем выполнять действия от лица суперпользователя, используя команду sudo, авторизуясь со своим паролем:
* Откроем файл sudoers для редактирования:
# visudo
* Кому не нравится работать в vim, можно открыть файл в редакторе nano:
# nano /etc/sudoers
* Комментируем, как показано ниже - следующие строки файла:
#Defaults targetpw # ask for the password of the target user i.e. root
#ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!
* Убираем комментарий со следующей строки и сохраняем файл:
%wheel ALL=(ALL:ALL) ALL
* Добавляем пользователя в группу wheel:
# gpasswd -a <user_name> wheelПерезагружаем компьютер и можно начинать использовать sudo в привычном режиме.
Далее, добавим репозитории X11:Xfce и X11:Utilities (они потребуется для дальнейших операций), установим один недостающий пакет git-core и можно смело приступать к формированию будущей графической оболочки на базе оконного менеджера openbox.
* Для добавления и использования репозитория X11:Xfce, нужно выполнить следующие команды:
sudo zypper ar --refresh --priority 80 http://download.opensuse.org/repositories/X11:/xfce/openSUSE_Tumbleweed/ X11:xfce
sudo zypper ref
sudo zypper dup --allow-vendor-change --from X11:xfce
* Для добавления и использования репозитория X11:Utilities, нужно выполнить следующие команды:
sudo zypper ar --refresh --priority 90 https://download.opensuse.org/repositories/X11:/Utilities/openSUSE_Tumbleweed/ X11:Utilities
sudo zypper ref
sudo zypper dup --allow-vendor-change --from X11:Utilities
* Установка git (минимального git):
sudo zypper in git-coreНа следующем шаге клонируем git-репозиторий моей сборки openbox для opensuse в корень домашней папки пользователя (или куда душе угодно)
git clone https://gitlab.com/scorpp13/openbox.gitДалее, переходим в скачанную папку, устанавливаем все зависимости, указанные в файле necessary-packages (вот тут-то нам и пригодятся ранее добавленные репозитории, например пакет tint2 исключен из основного репозитория после обновления 08.01.2025), копируем файлы/папки только что склонированного репозитория в аналогичные своего домашнего каталога, перезагружаемся... да чего там сложного-то; короче кому надо разберется.
Tumbleweed-версия моей сборки openbox постоянно меняется и дополняется. От начального варианта owl4ce, на базе которого она и делалась, практически остались только некоторые идеи оформления, да минимальный набор скриптов, и то сильно переделанный мной. Я не очень понимаю смысл устанавливать инструменты в систему, а потом создавать свои скрипты, которые реализуют уже готовый функционал этих же самых инструментов.
Также мне не нравится завязка всех скриптов на один базовый, так как потом, чтобы что-то поменять/добавить/убрать, приходится все это дело перелопачивать в поисках различных ключей и связей. Мой вариант сборки основан на использовании готовых инструментов системы и только потом, в случае такой необходимости, собственных скриптов. Посмотреть, как все должно выглядеть после установки сборки, можно тут: openSUSEbox.
Теперь пара лайфхаков. Про системный язык и раскладки клавиатуры мы уже немного поговорили на этапе подготовки к установке. Поскольку мной был выбран полностью английский вариант на этапе установки (системный язык + раскладка), то позже пришлось ручками добавлять нужные настройки. Как же так, скажете вы? Есть же центр настроек Yast2 и в нем все можно поменять. Да, но выбрать системным русский язык не представляется возможным, потому как он просто-напросто отсутствует в списке выбора. Возможно - это санкции, не осмелюсь ничего утверждать, не углублялся в тему, не изучал вопрос. Вот такая интересная закавыка. Плюс Yast2 показывал мне, что установлена русская локаль (язык системы то оставался английским), но весь интерфейс продолжал говорить по-английски! Это, конечно, не беда, ведь все линуксы - одинаковы. В openbox используется свой файл для задания системных переменных: ~/.config/openbox/environment
Удобная вещь, однако. Для задания переменной достаточно вписать строчку типа:
* Таким способом я заставил говорить все приложения по-русски
export LANG="ru_RU.UTF-8"Настройка переключателя раскладок. Для ноутбука лучшим вариантом нашел использование в качестве переключателя клавишу CapsLock, индикатор которой свидетельствует мне о выборе той или иной раскладки клавиатуры. Системный пакет localectl позволяет все это реализовать буквально одной командой. !Не забывайте проверить доступные в вашей системе вариации раскладок, моделей, опций клавиатуры (localectl help). Приведенный ниже пример имеет отношение только к моей системе:
* Опция --no-convert предотвращает внесение изменений в настройки консоли etc/vconsole.conf
* внося изменения только в файл настроек для X11 - /etc/X11/xorg.conf.d/00-keyboard.conf
sudo localectl --no-convert set-x11-keymap us,ru pc105+inet qwerty grp:caps_toggle,grp_led:caps Второй лайфхак касается имени хоста и то, что ожидает пользователя, если таковой не задан. Лично я потерял достаточно много времени, пока увидел проблему, разобрался в ситуации и нашел решение.
Все дело в том, что изначально мной ставилась сборка owl4ce, в которой в качестве терминала используется urxvt с его настройками, а также преднастроенный picom, и проблему увидел далеко не сразу. Как только установил свою сборку с alacritty и собственными настройками picom, так сразу обратил внимание, что при запуске alacritty окно терминала вообще не появляется. Сначала вообще подумал, да и фиг с этим alacritty, когда есть kitty. Потом решил углубиться в суть и стал изучать логи.
Оказалось, что при запуске alacritty крашился из-за отсутствия протокола авторизации, аналогично происходило и с picom, когда запускал его не режиме демона, а обычным способом. Пошел по "ложному" пути, стал ковырять pam, polkit, порталы разные... потерял много времени. Систему несколько раз переустанавливал, сначала думая, что проблема вообще кроется где-то в моей сборке. Не смотря ни на что решил не сдаваться. Стал искать помощь в сети на аналогичные проблемы. На форуме opensuse их оказалось немало; видимо не я один столкнулся с подобными "приключениями"!
В итоге все оказалось до банального просто, но блин, почему они (разработчики opensuse) все так реализовали? Дело в том, что при не заданном имени локального хоста, пользователь логинится в х-сессию со сгенерированным системой именем и приложения, которые используют самостоятельную авторизацию не могут нормально работать, так как отсутствует протокол авторизации для них. Лечится все это безобразие установкой пакета xhost и добавлением следующей команды в автозапуск сессии:
* Добавим следующую строчку в ~/.bashrc:
xhost +si:localuser:$USERВот такая может возникнуть интересная ситуация! Позже мной было указано имя хоста в файле /etc/hostname и теперь все работает без этого "патча".
Немного про Yast2, Zypper и... пора уже и честь знать!
Yast2 - центр управления операционными системами openSUSE. Там есть все: репозитории, софт, языки, переменные, пользователи, сеть, безопасность, службы... Местами очень удобно: раз, и все инструменты уже под рукой. Можно запустить из командной строки и использовать его псевдографическую оболочку (мне даже удобней показалось именно так):
sudo yast2Присутствуют некоторые нюансы: пример с локалями, не хватает настроек клавиатуры. Но не стану за это сильно критиковать, ибо есть инструменты системы и есть
Zypper - фирменный менеджер репозиториев, пакетов. Выполнен с немецким качеством и педантичностью. Прост в понимании, легок в использовании и, ко всему прочему, быстр и стабилен. Мне очень понравился и зашел. Вся нужная информация для пользователя (справка) выводится командой zypper или zypper help, вывод которой хорошо структурирован и совсем не перегружен лишним. Примеры часто используемых команд:
zypper # вывести список доступных глобальных опций и команд
zypper help search # вывести справку для команды search (se)
zypper lр # увидеть, какие требуются патчи-обновления
zypper patch # применить необходимые патчи
zypper se player # поиск всех совпадений в названиях пакетов по тегу 'player'
zypper rm tint2 # удалить пакет tint2
zypper in thunar # установить пакет thunar
zypper in yast* # установить все пакеты по шаблону yast*
zypper up # обновить все установленные пакеты до последних версийZypper отличается еще и тем, что простой очистки системы от ненужных пакетов/зависимостей в нем как бы и нет. Обычное удаление с ключем 'rm' - удалит лишь сам пакет без его дополнений. Поиск с ключем и опцией к нему 'pa --unneeded' - выведет список "ненужных пакетов", но не покажет зависимости каждого из них. Можно сразу удалять пакеты с использованием ключа с опцией 'rm -u' и не париться по поводу очистки или изменить настройки zypper.software, включив эту опцию в /etc/zypp/zypp.conf
solver.cleandepsOnRemove = true
* После включения данной настройки, если необходимо будет удалить только сам пакет
* без его зависимостей, то придется использовать команду удаления с опцией:
sudo zypper rm -U <имя_пакета>Да, нас на каждом шагу предупреждают, что изменение настроек по-умолчанию способно нанести вред системе. Каждый выбирает сам, но ковыряться потом в поисках "хвостов", то еще занятие. Да, понимаю, что когда пакет удаляется не сразу, то часть его зависимостей, вполне может стать частью зависимостей другого пакета, установленного позже. В таком случае будет не лишним проверить зависимости всех пакетов командой:
sudo zypper veТакие вот особенности присущи этому пакетному менеджеру. Ничего лишнего не удалит, ничего не поломает. Только наследит немного. Часть "хвостов", кстати, при полном обновлении системы вероятно удалится, но это - не точно. Думается, что разработчики прежде всего руководствовались надежностью и стабильностью системы, применяя именно такие настройки для zypper.software.
Осталось что-нибудь написать про сам дистрибутив. Да - это далеко не самый популярный у нас линукс, но в нем есть все и даже больше для ежедневного комфортного пользования. Возможно и вам стоит к нему присмотреться по-ближе, возможно и вы сможете его для себя открыть.
Ах да, совсем забыл про конечную цель проекта, достигнута ли она в итоге? Помните, как и с чего все начиналось? CachyOS + Openbox => время собирать камни. Сравнивая с CachyOS могу заключить, что этот "хамелеон" вышел победителем. Он ни сколько не медленней, а может в чем-то даже и быстрей (по крайней мере ощущается именно так). По удобству пользования и оснащению системными утилитами - также ни в чем не уступит. Надежность и стабильность, почему-то предполагаю, что окажется на стороне "хамелеона". Думаю, что у меня получился весьма достойный вариант легковесного десктопа для моего старенького ноутбука, основанного на openSUSE Tumbleweed, такой себе знаете ли "сусе на минималках"))

Комментарии
11:40
11:44
12:56
22:46
https://agama-project.github.io/blog/2025/01/21/Agama-11
22:22
а между тем еще пару тем оформления смастерил (светлая пока не очень, а темная в цветах gruvbox неплохо получилась)
https://i.ibb.co/9Hv6B5b/2025-01-27-21-17.png
Нравится мне Суся, а в этой конфигурации и на стареньком ноутбуке приятно работать. Раньше было, - хрен заставишь его включить.
06:38
А двое часов зачем? Вместо одних можно дату вывести, например, или ещё что нужное!
07:21
08:54
09:21
10:40
19:37
https://www.colorhexa.com
Готовые схемы можно поискать тут:
https://www.color-hex.com/color-palettes/popular.php
15:02
Прикольно просто, а так всё верно ...
12:30
12:57
https://i.ibb.co/FxQV9qX/2025-01-05-21-47.png
12:58
Для начала, не знал, что стартовали со Slackware, ведь уже давно используют rpm пакеты.
Оценил изобретательность первой картинки, а потом, видимо, в Live есть утилита для снимков экрана. Снимки свои, как рекомендовано, по крайней мере тот, где MBR с GPT и разделом на 8Мб, такой не найти!
13:01
Не совсем мои...))
13:04
13:57
Строго говоря, это имеет мало отношения к тому, что Вы сейчас видите)))
13:34
Зато там говорят о процедуре само обновления. Интересно, что попытка делается до вопросов про настройку сети, а полученные файлы будут сохранены во временную папку загруженного Live образа и будут использованы при установке, а потом удалены. Установщик, во многом, не такой, как другие. Даже по-русски может, но потом система про него "не знает".
17:59
13:55
Читать легко, смотреть приятно! До всяких мелочей докапываться не буду, ибо результат достигнут, так или иначе!)))
20:00
16:53
Для задания имени хоста:
# hostnamectl set-hostname имя_хоста
Для правки sudoers лучше всё таки использовать visudo, а для того, чтобы использовался "любимый" редактор, достаточно его назначить:
#update-alternatives --config editor
По настройке сети именно в Сью при установке:
https://pingvinus.ru/comment/add#c110184
19:35
15:01
А электричество то было тогда?
15:57
16:06
90-е годы 19 столетия — это 1890. В то же время одним из первых общедоступных способов применения электричества было освещение; условия для этого оказались созданы после изобретения лампы накаливания в 1870-х годах.
15:04
Так что я опять не попробую Сусю (не особо и горю желанием есичеснооднимсловом).
Ибо Арчиком единым...
P.S. Тут к CachyOS никак не приступлю (изучения ради)...
P.P.S. А плюсанул-то за труды от души однако!!
19:52
Вот напрасно ее игнорируете. Минимум - стоит попробовать. После арча с классическим оконным менеджером, заходит на ура! Тем более у Вас имеются собственные сборки openbox...
16:08
Сам пробовал OpenSUSE на одном ноутбуке.
Потом решил поставить его на новый, но не завелось ! ;(
После граба просто кирпич без изображения и реакции на любый действия. Смена образа/версии/флешки не помогла.
Ну и я поставил на ноут Alma. Нужен был rpm, неважно какой. На старом ноуте Суся по-прежнему установлена, возвращаюсь к ней периодически.
18:15
сейчас уже rpm-based дистров избегаю .
Хотя начинал с Мандрейка )
22:18
Во времена когда я только начинал знакомится с линуксами, а это времена виндовс хр мне на работе показывали опенсузю. Но работа была напряженная и я посмотрел только рабочий стол. Понравился. Хотя из-за своих заморочек с Российскими линуксами не посмотрю ваша дистрибутив. Интересная статья. Еще раз спасибо.
23:55
IceWM как рабочий стол по умолчанию — надо попробовать. Хотя пару раз пробовал устанавливать Сусю, и всё заканчивалось, когда требовалось установить ffmpeg и кодеки — здесь как-то всё где-то на стороне и в разных вариациях, так что нужно самому точно знать, что тебе нужно и устанавливать именно его. Я-то избалован дебианом, где всё идёт общей кучей со всеми зависимостями и работает сразу. Времени разбираться и курить форумы у меня не было, поэтому сносил.
03:10
13:10
02:56
Жалобы на своём форуме, то есть от опытных пользователей этой ОС, — лишнее тому подтверждение.
Про индикацию раскладки:
у меня клава тоже зажигает огонёк крайний правый при смене раскладки.
Про установщик кальки отзывался, тут именно про него, это было первым препятствием на пути к использованию, знакомству — у установке! Но, почитав ман, я более или менее сообразил что к чему, к опытом использования и многократными переустановками, особенно в начале, я теперь могу установить теперь с "закрытыми глазами", всё выучил. Это уже чистая механика, как при разборке калашмата.
https://pingvinus.ru/gallery/5251#c108459
03:02
12:08
Спасибо, scirpii, за указание про hostname. При подключенном кабеле настройки сети проскакивают "на автомате" и hostname не устанавливается. На странице заключительной сводки, которая перед установкой, будет сказано Hostname: install. Надо кликнуть по Network Configuration и во вкладке задать его, иначе потом больше возиться.
Ставил в UEFI на диск nvme с флешки ventoy. Разделы были размечены, просто указал, что куда монтировать, там удобно сделано. Перезагрузка и ... чёрный экран с Kernel Offset ... relocation range... Выше увидел строку с Kernel panic, а ещё выше строка No filesystem could mount root, tried.
При следующей загрузке (сама начнётся) нужно выбрать в меню вариант с recovery mode, зайти по паролю в терминал (это будет под root) и поправить grub.
Открываем файл: nano /etc/default/grub
Экранируем: символ # перед GRUB_CMDLINE_LINUX_DEFAULT
или оставляем в ней только параметры "splash=silent quiet", остальное удалить.
Обязательно обновить конфигурацию grub:
grub2-mkconfig -o /boot/grub2/grub.cfg
Теперь суса должна загрузиться (командуем reboot).
Ненужные параметры скрипт установки берёт с загрузочной флешки, как и лишний адрес репозитория, о чём scorpii уже сказал.
14:44
16:41
20:35
если не ошибаюсь, установщик спрашивает предпочтения пользователя, вдруг он selinux захочет вместо дефолтного
21:28
16:40
Не совсем так! Посмотрите на скрин в статье. На странице языка, раскладки и лицензии в верхнем правом углу есть вызов меню, там должны быть сетевые настройки, которые Вы можете поправить и выход в командную строку. После внесения изменений вернетесь на исходную.
С grub ничего такого не замечал, но давно не ставил Сьюзи)
21:07
На странице лицензии есть вызов меню, а дальше нигде нет, клик слева на шаги не работает, а вот в конце (Настройки установки) клик по названию раздела сработал и позволил вернуться.
03:45
В правом верхнем углу меню (три горизонтальных полосы). Если нажмёте, сможете настроить сеть или уйти в терминал.
11:03
На вашей же картинке слева видно, что прошла автоматическая настройка сети, прошло авто обновление, ниже будет ещё пункт про сеть, а Юзеру предлагается на этой странице про выбор раскладки (Лицензию не читают) сообразить, что надо-бы сходить задать hostname, а то потом возможности может и не быть. Это необычно.
Далее пункт Включение сети проскакивает (она уже есть) и к нему назад кнопкой Back не вернуться. Но в защиту Установщика нужно сказать, что на заключительной странице (Настройки установки) есть раздел c кликабельным названием Network Configuration, в котором прямым текстом написано Hostname: install, т.е. всё нужное сказано, внимательный Юзер не должен пропустить, надо же внимательно проверять все настройки.
11:26
12:19
12:25
12:31
12:37
13:29
Всем ставить арч по руководству, чтобы всё знали "от зубов"! Никаких вам GUI, виндузятники!
13:35
Оно, конечно, верно! Но только не в Сьюзи)))
13:50
19:36
20:55
YaST такой огромный "комбайн"! Всё можно мышкой в GUI. У меня теперь "игра": если что-то хочу - с интересом ищу, есть ли в YaST. Так и в терминал дорогу забуду.
21:02
21:15
.
Зеркало в России очень тормознутое, прибалты гораздо быстрее :-)
Но может это вчера ... сбой был много где.
21:21
Ну а команда обновления хорошо звучит по-немецки:
zypper dup
21:46
22:03
14:36
15:00
15:12
11:39
16:11
16:33
19:04
17:59
https://pythainlp.org/docs/2.0/_modules/pythainlp/util/date.html
19:19
19:07
Так вот в suse он в ядре и включен, но помещён в blacklist! Вот это продуманный подход! Коммерческая компания осуществляет поддержку и не хочет, чтобы к ней приставали с лишними вопросами, но и не сильно ограничивает своих клиентов. Она даже рассказывает, как убрать из blacklist, но акцентирует, что это на усмотрение пользователей и все последствия тоже его. Кстати, у них в blacklist довольно много редко используемых файловых систем - молодцы, нашли элегантный подход сразу по многим моментам! Однозначно "+" за грамотное использование возможностей, предусмотренных и созданных мудрыми людьми.
17:55
Инструкция для любителей ковырять, сам дистрибутив такого количества телодвижений не требует, он максимально прост. Однако спасибо за труд, чужой опыт всегда полезен и интересен
00:03
sudo популярен как раз из-за удобства, возможности выполнить 1 команду от лица привелегированного пользователя, во всех остальных применениях есть куда более простой и надежный su
08:52
18:52
05:42
08:46