19 ноября 2017 г.

Перерождение дистрибутива Slax

Спустя четыре с половиной года после прошлого выпуска представлен новый релиз компактного Live-дистрибутива GNU/Linux Slax 9.2.1, загрузочный образ которого занимает около 200 Мб (amd64, i386). Дистрибутив полностью переработан: если раньше он базировался на Slackware Linux и KDE 4, то новая версия переведена на пакетную базу Debian (stable), пакетный менеджер apt и систему инициализации systemd.

Графическое окружение построено на основе оконного менеджера FluxBox и рабочего стола/интерфейса запуска программ xLunch, специально разработанного для Slax участниками проекта. Эта компактная утилита (25 Кб после компиляции) использует библиотеки Xlib и Imlib2 для запуска программ (по нажатию на соответствующую иконку) или выполнения набранной консольной команды. При этом xLunch развивается как обособленный пакет и может использоваться для организации работы простого рабочего стола отдельно от Slax. Из входящих в поставку приложений отмечены браузер Chromium 61.0.3163.100, текстовый редактор leafpad, калькулятор и файловый менеджер mc...

xLanch + fluxbox + debian = slax 9.2.1
Не удержался и решил поэкспериментировать с восставшим из мертвых...

Скачал ISO и скопировал с него каталог slax на sda2 и прописал в уже установленный загрузчик grub2 (grub.cfg на sda1):
menuentry "Slax" {
linux (hd0,2)/slax/boot/vmlinuz slax.flags=perch slax.flags=toram noswap quiet
initrd (hd0,2)/slax/boot/initrfs.img
}
Так мы загружаем систему в ОЗУ и все изменения сохраняются в каталоге /slax/changes

Далее требуется настроить часовой пояс, так как у меня в биосе UTC, было достаточно выполнить:
root@slax:~# dpkg-reconfigure tzdata
После захотелось локализировать установив ru_UA.UTF-8, и получил маленький облом. Как оказалось в систему надо вручную накидать файлов:
root@slax:~# ls /usr/share/i18n/locales/
C            iso14651_t1_common   translit_combining  translit_neutral
POSIX        ru_RU                translit_compat     translit_small
eo           ru_UA                translit_font       translit_wide
i18n         translit_circle      translit_fraction
iso14651_t1  translit_cjk_compat  translit_narrow
или установить пакет locales (там находятся все эти и многие другие файлы).
root@slax:~# apt install locales
а потом выполнить
root@slax:~# dpkg-reconfigure locales
Так все проще и быстрее чем вручную настраивать и искать причины почему не генерируется необходимая локаль. Я сначала мурыжил:
root@slax:~# localedef --no-archive -c -f UTF-8 -i ru_UA ru_UA.UTF-8
Снова таки, по желанию, настраиваем локализацию терминала:
root@slax:~# dpkg-reconfigure console-setup
В общем все как обычно в дибиане или убунту, вам не привыкать :)

Далее можно закинул локализацию браузера скопировав нужный файл в /usr/lib/chromium/locales/* или установив полный пакет с ручным, для уменьшения сохраненки, удалением не нужных локалей:
root@slax:~# apt install chromium-l10n
Далее переходим к текстовому редактору leafpad, который надо скачать не устанавливая и скопировать из него каталог:
/usr/share/locale/ru
то по тому же адресу, только в нашу систему и наслаждаться работой в локализированном редакторе. Так же можно поступить с файловым менеджером mc, скопировав в файл mc.mo в
/usr/share/locale/ru/LC_MESSAGES/
В принципе, тут и находятся все файлы локализации ваших программ...

Хотя чуть не забыл! Переключение клавиатуры жуткое, особенно при использовании более двух, поэтому при старте fluxbox прописал в /root/.fluxbox/startup:
setxkbmap -option compose:ralt,lv3:win_switch,nbsp:level3n,misc:typo -option terminate:ctrl_alt_bksp -option grp:ctrl_shift_toggle us,ru,ua -model pc105
— это дает нам три раскладки клавиатуры с доп. вводом «типографских» символов с клавиатуры.

Еще прикрутил монтирование sda2 и создал симлинк на свой профиль браузера в ~/.config/chromium чтобы не держать дубликаты одного и того же... Для начало вроде бы все.

n.b. Регулеровка громкости производится колесиком мышки на значке "Volume Icon" в трее, при ЛКМ заглушает звук (mute), ПКМ открывает alsamixer. В настройках данное поведение можно изменить под себя.

Создание модулей slax из пакетов debian. Жаль, что пока нет утилиты deb2sb, но зато есть dir2sb Создание модуля осуществляется путем распаковки deb-пакета, правки содержимого и упаковки формат .sb
root@slax:~# dir2sb [каталог] [имя модуля.sb]
  1. В удобном для вас месте создает каталог, например: /root/build в котором будут создаваться модули. Копируем в него необходимый deb.
  2. При помощи mc открываем содержимое deb и копируем в /root/build/<имя пакета> и удаляем все что относится к данному формату пакета.
  3. Закрываем mc и переходим в /root/build/ → команда: cd /root/build/
  4. Далее, как описано выше, используем dir2sb.
Поздравляю, вы только что сами создали первый свой модуль для Slax 9.2.1. Он появился в то же каталоге, куда был скопирован deb-пакет, т.е. /root/build/

Сразу же можно протестировать наше детище активировав модуль:
root@slax:~# slax activate [имя модуля.sb]

Мои потуги разродились модулем 04-chromium63.sb — версия Chromium 62.0.3202.89 для Slax 9.2.1 :)

Комментариев нет: