ALSA-only + "де-Qt-изация" into Slackware Linux mini-HOWTO. :-)
Проверено и работает на : Slackware-Current for x86 and x86_64.
Текущая версия : 0.3-beta ru_RU.UTF-8 "He's Gone"
Автор(ы) : Ne01eX.
Дополнение(я) :
Лицензия : Это mini-HOWTO распространяется по лицензии EFTPL v.1.0
Всем привет. Это небольшое HOWTO написано для пользователей, которые используют родную для Linux систему звука ALSA и только её. И это mini-HOWTO не подойдёт пользователям, использующим Qt4 и KDE в Slackware Linux. И так, поехали!
На самом деле вы можете просто удалить некоторые не нужные для работы с ALSA пакеты, тем самым пропустив некоторые шаги. Но я поступил иначе. :-)
И да, - это mini-HOWTO написано для тех, кто знает что делает. :-)
0. Хорошей идеей будет сначала удалить все упоминаемые в тексте пакеты, а также пересобрать ядро с поддержкой только ALSA. Для этого достаточно выключить поддержку OSS в конфигураторе ядра Linux menuconfig.
0.1. Удаляем все пакеты из директорий kde и kdei:
Code:
removepkg amarok
removepkg amor
removepkg analitza
removepkg ark
removepkg artikulate
removepkg audiocd-kio
removepkg baloo
removepkg baloo-widgets
removepkg blinken
removepkg bluedevil
removepkg bomber
removepkg bovo
removepkg calligra
removepkg cantor
removepkg cervisia
removepkg dolphin-plugins
removepkg dragon
removepkg filelight
removepkg granatier
removepkg gwenview
removepkg juk
removepkg k3b
removepkg kaccessible
removepkg kactivities
removepkg kajongg
removepkg kalgebra
removepkg kalzium
removepkg kamera
removepkg kanagram
removepkg kapman
removepkg kapptemplate
removepkg kate
removepkg katomic
removepkg kaudiocreator
removepkg kblackbox
removepkg kblocks
removepkg kbounce
removepkg kbreakout
removepkg kbruch
removepkg kcachegrind
removepkg kcalc
removepkg kcharselect
removepkg kcolorchooser
removepkg kcron
removepkg kdeartwork
removepkg kde-baseapps
removepkg kde-base-artwork
removepkg kdeconnect-kde
removepkg kde-dev-scripts
removepkg kde-dev-utils
removepkg kdegraphics-mobipocket
removepkg kdegraphics-strigi-analyzer
removepkg kdegraphics-thumbnailers
removepkg kdelibs
removepkg kdenetwork-filesharing
removepkg kdenetwork-strigi-analyzers
removepkg kdepim
removepkg kdepimlibs
removepkg kdepim-runtime
removepkg kdeplasma-addons
removepkg kde-runtime
removepkg kdesdk-kioslaves
removepkg kdesdk-strigi-analyzers
removepkg kdesdk-thumbnailers
removepkg kdevelop
removepkg kdevelop-pg-qt
removepkg kdevelop-php
removepkg kdevelop-php-docs
removepkg kdevplatform
removepkg kdev-python
removepkg kde-wallpapers
removepkg kdewebdev
removepkg kde-workspace
removepkg kdf
removepkg kdiamond
removepkg kfilemetadata
removepkg kfloppy
removepkg kfourinline
removepkg kgamma
removepkg kgeography
removepkg kget
removepkg kgoldrunner
removepkg kgpg
removepkg khangman
removepkg kig
removepkg kigo
removepkg killbots
removepkg kio-mtp
removepkg kiriki
removepkg kiten
removepkg kjumpingcube
removepkg klettres
removepkg klickety
removepkg klines
removepkg kmag
removepkg kmahjongg
removepkg kmines
removepkg kmix
removepkg kmousetool
removepkg kmouth
removepkg kmplot
removepkg knavalbattle
removepkg knetwalk
removepkg kolf
removepkg kollision
removepkg kolourpaint
removepkg kompare
removepkg konquest
removepkg konsole
removepkg kopete
removepkg korundum
removepkg kpat
removepkg kplayer
removepkg kppp
removepkg kqtquickcharts
removepkg krdc
removepkg kremotecontrol
removepkg kreversi
removepkg krfb
removepkg kross-interpreters
removepkg kruler
removepkg ksaneplugin
removepkg kscreen
removepkg kshisen
removepkg ksirk
removepkg ksnakeduel
removepkg ksnapshot
removepkg kspaceduel
removepkg ksquares
removepkg kstars
removepkg ksudoku
removepkg ksystemlog
removepkg kteatime
removepkg ktimer
removepkg ktorrent
removepkg ktouch
removepkg ktuberling
removepkg kturtle
removepkg ktux
removepkg kubrick
removepkg kuser
removepkg kwalletmanager
removepkg kwebkitpart
removepkg kwordquiz
removepkg libkcddb
removepkg libkcompactdisc
removepkg libkdcraw
removepkg libkdeedu
removepkg libkdegames
removepkg libkexiv2
removepkg libkipi
removepkg libkmahjongg
removepkg libkomparediff2
removepkg libksane
removepkg libkscreen
removepkg libktorrent
removepkg libmm-qt
removepkg libnm-qt
removepkg lokalize
removepkg lskat
removepkg marble
removepkg mplayerthumbs
removepkg nepomuk-core
removepkg nepomuk-widgets
removepkg okteta
removepkg okular
removepkg oxygen-gtk2
removepkg oxygen-icons
removepkg pairs
removepkg palapeli
removepkg parley
removepkg partitionmanager
removepkg perlkde
removepkg perlqt
removepkg picmi
removepkg plasma-nm
removepkg polkit-kde-agent-1
removepkg polkit-kde-kcmodules-1
removepkg poxml
removepkg print-manager
removepkg pykde4
removepkg qtruby
removepkg rocs
removepkg skanlite
removepkg smokegen
removepkg smokekde
removepkg smokeqt
removepkg step
removepkg superkaramba
removepkg svgpart
removepkg sweeper
removepkg umbrello
removepkg wicd-kde
removepkg zeroconf-ioslave
removepkg calligra*
removepkg kde-l10n*
0.2. Хорошей идеей будет удалить xmms и всё с ней связанное (есть же audacious!):
Code:
removepkg glib
removepkg gst-plugins-base0
removepkg gst-plugins-good0
removepkg gstreamer0
removepkg gtk+
removepkg libvisual-plugins
removepkg xmms
0.3. Продолжаем удалять ненужные пакеты:
Code:
removepkg pamixer
removepkg QScintilla
removepkg PyQt
removepkg alsa-oss
removepkg akonadi
removepkg attica
removepkg audiofile
removepkg automoc4
removepkg esound
removepkg grantlee
removepkg libasyncns
removepkg libcanberra
removepkg libkarma
removepkg phonon
removepkg phonon-gstreamer
removepkg pulseaudio
removepkg qca
removepkg qimageblitz
removepkg qjson
removepkg qt-gstreamer
removepkg qtscriptgenerator
removepkg shared-desktop-onotologies
removepkg soprano
removepkg strigi
removepkg pavucontrol
removepkg xfce4-pulseaudio-plugin
0.4. И, наконец, если вам не нужна сама библиотека Qt, то вы можете удалить и её:
0.5 Пересобираем пакаджи без Qt:
d/cmake
l/poppler
l/v4l-utils
n/wpa_supplicant
x/scim
1. Пересобираем пакеты для работы только с ALSA:
1.1. Я начал с этих:
ap/normalize
ap/flac
1.2. На этом этапе вы можете добавить дополнительные пакеты для работы со звуком. Это свободное программное обеспечение, но в некоторых странах оно может дополнительно регулироваться патентами на программное обеспечение. Я добавил эти:
m/gsm
m/libass
m/libavc1394
m/libbluray
m/libdc1394
m/libiec61883
m/libmodplug
m/rtmpdump
m/twolame
# m/x264 # По умолчанию не собирается и не используется
# m/x265 # По умолчанию не собирается и не используется
m/xvidcore
1.3. Продолжаем пересобирать пакеты для работы только с ALSA:
l/ffmpeg
l/alsa-lib # Не забудьте удалить /etc/asound.conf !
l/alsa-plugins
ap/alsa-utils # Не забудьте выключить /etc/rc.d/rc.alsa-oss !
ap/mpg123
l/libao
ap/madplay
xap/fluidsynth
xap/xine-lib
xap/audacious-plugins
xap/MPlayer
ap/sox
1.4. Пересобираем gstreamer и всё с ним связанное:
l/libvisual
l/gstreamer
l/gst-plugins-base
l/gst-plugins-good
l/gst-plugins-libav
1.5. Таже вы можете добавить на данном этапе:
l/gst-plugins-ugly
l/gst-plugins-bad
Но использование этих пакетов также может ограничиваться патентами на программное обеспечение. В свободных странах, например, в России, где пользователи СПО борются за свои права, - нет патентов на программное обеспечение. :-)
1.6. Итак, заканчиваем сборку. На самом деле, единственные пакеты которые теперь используют gstreamer это:
xap/pidgin
xfce/tumbler
Если вам не нужен звук в pidgin, то вы можете пересобрать его без поддержки звука. Для генерации thumbnail можно пересобрать tumbler с поддержкой ffmpeg. Таким образом, вам и Gstreamer будет не нужен и шаги 1.4-1.6 можно будет пропустить полностью. Но я использую GStreamer для этих (и некоторых других) приложений (например, - parole и xfburn). :-)
Важное замечание: Я собираю pidgin без поддержки pidgin-encryption и с поддержкой gnutls вместо mozilla-nss!
2.0 Дополнительное ПО.
Начиная с версии 0.1-beta этого мини-руководства в архиве ALSA-ONLY-TREE была расположена утилита volumeicon.
Это простой регулятор громкости, работающий в системном трее и ничего больше. Эта программа работает одинаково хорошо в любой DE. Для её сборки необходимо скачать исходные коды с официального сайта программы:
Всё остальное для сборки представлено в каталоге xap/volumeicon
Если вы оставили в своей системе GStreamer, то будет неплохой идеей использовать его возможности по максимуму. Особенно, если вы используете в качестве своей DE - XFCE. Для начала, вы можете попробовать универсальный мультимедийный проигрыватель parole (как замену kde/dragon) и утилиту для простой записи дисков (как замену для kde/k3b).
Всё вышеперечисленное я собирал в следующем порядке:
Code:
xap/volumeicon
l/libburn
l/libisofs
xfce-extra/xfburn
xfce-extra/parole
2.1. Ссылки.
xap/volumeicon,
l/libburn,
l/libisofs,
xfce-extra/xfburn,
xfce-extra/parole.
Эпилог. Для автоматизации сборки приложений вы можете использовать скрипты из вложения. Там отсутствует процедура удаления KDE и необходимых для этой DE библиотек. Но и разбираться со звуком в KDE теперь тоже необходимо тем, кому это нужно. :-) Я описал лишь свой путь Slackware-воина. :-D
3.0.0.0.0. Чтобы, сука, за душу взяло:
Grateful Dead - He's Gone (Sullivan Stadium, Foxboro, MA 7/2/89);
Unheilig - Hand in Hand (Gipfelstürmer, Deluxe Edition, 2014);
Catharsis - Не зарекайся! (Острова во сне, Single, 2013).
P.S. Приветствуются любые замечания и дополнения.
P.P.S. Необходимо заменить скрипты из slackware-current скриптами из вложения. Для автоматизации можно запустить скрипт
Code:
./ALSA-ONLY-tree.build.sh
Для новых пакетов, не представленных в Slackware Current необходимо дополнительно скачать исходные коды. Это также касается новой темы оформления для Mplayer.
P.P.P.S. Некоторые скрипты создают два пакажда (второй с документацией). Если вы привыкли к традиционной компоновке "всё-в-одном", то установите переменную SPLIT в значение "no" (в тех скриптах SlackBuild, где это используется).
P.P.P.P.S. Не забудьте переименовать ALSA-ONLY-TREE-0.3-beta.tar.lz.txt в ALSA-ONLY-TREE-0.3-beta.tar.lz . ;-)
P.P.P.P.P.S. Full text EFTPL v.1.0:
Code:
# EXCELLENT FUCKED THE PUBLIC LICENSE.
# Version 1.0, March 2018
#
#Copyright (C) 2018 Aleksandr "Ne01eX" Sayfulin <Ne01eX[dog]rambler[dot]ru>
#
#Everyone is permitted to copy and distribute verbatim or modified
#copies of this license document, and changing it is allowed as long
#as the name is changed.
#
# EXCELLENT FUCKED THE PUBLIC LICENSE.
# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
#
# 0. You just DO WHAT THE FUCK YOU WANT TO.
# 1. DON'T FUCK MY BRAIN.
#
История изменений:
0.3-beta "He's Gone":
* Обновлена секция 1.2 (исключены m/celt и m/libilbc, выключены по умолчанию m/x264 и m/x265);
* Добавлена секция 2.0 (про дополнительные пакаджи);
* Добавлена секция 2.1 (ссылки на дополнительно ПО);
* Важное замечание про использование ALSA-ONLY-TREE перенесено в секцию Эпилог.
* Секция 2.0.0.0.0 переименована в 3.0.0.0.0;
* В секции 3.0.0.0.0 добавлена ссылка на "Grateful Dead - He's Gone". Для души. :-)
* Oбновлена секция P.P.S.
0.2-beta "Hand in Hand":
* Обновлена секция 0.3 (удалены пакаджи: akonadi, attica, automoc4, grantlee);
* Добавлена секция 0.5 (d/cmake l/poppler, l/v4l-utils, n/wpa_supplicant и x/scim пересобираются теперь без Qt);
* volumeicon пересобрана с поддержкой автозапуска через XDG autostart;
* Разные небольшие изменения для:
ap/alsa-utils, ap/flac, ap/madplay, ap/mpg123, ap/normalize, ap/sox;
l/alsa-lib, l/alsa-plugins, l/fluidsynth, l/libao, l/libvisual
xfce/tumbler.
* .desktop файлы для x/scim теперь говорят по-русски :-D.
* Официально добавлена секция 2.0.0.0.0. Для души. ;-)
0.1-beta "Не зарекайся!":
* Initial version.