Ремонт PNMixer в sysv-xfce (?)
К заметкам на коленке по поводу отсутствия запуска микшера (кнопка Микшер) в pnmixer (баг #34609):
$ LC_ALL=C pnmixer
error: /usr/src/RPM/BUILD/pnmixer-0.7.2/src/main.c: No mixer application was found on your system. Please open preferences and set the command you want to run for volume control.
^C
$ sed -n '109,113p' pnmixer-0.7.2/README.md
- runtime suggestions (PNMixer can use a full mixer):
- alsamixergui
- gnome-alsamixer
- xfce4-mixer
$ sed -n '57,66p' pnmixer-0.7.2/src/prefs.c
/*
* Default volume commands.
*/
static const gchar *vol_control_commands[] = {
"gnome-alsamixer",
"xfce4-mixer",
"alsamixergui",
NULL
};
Вон оно чё... (и см. скриншот)
# apt-get install xfce4-mixer
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
gst-plugins-base gstreamer libkeybinder liborc-test
Следующие НОВЫЕ пакеты будут установлены:
gst-plugins-base gstreamer libkeybinder liborc-test xfce4-mixer
0 будет обновлено, 5 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
После нажатия кнопки Микшер в pnmixer, идёт поиск микшера одного из трёх
$ sed -n '57,66p' pnmixer-0.7.2/src/prefs.c
/*
* Default volume commands.
*/
static const gchar *vol_control_commands[] = {
"gnome-alsamixer",
"xfce4-mixer",
"alsamixergui",
NULL
};
и если не находит ни одного из них, вываливает окно
$ LC_ALL=C pnmixer
error: /usr/src/RPM/BUILD/pnmixer-0.7.2/src/main.c: No mixer application was found on your system. Please open preferences and set the command you want to run for volume control.
^C
Надо добавить к ним
"xterm -e /usr/bin/alsamixer"
и собрать на пробу пакет.
А вот интересно, xterm во все стартеркиты входит которые с alsa?
А если xterm входит вообще во все альтовые образы, тогда совсем нет проблем. И вызов микшера по кнопке Микшер будет работать в альтовом pnmixer из коробки.
Наваял бы кто патч, как они там пишутся? Ну чтобы prefs.c каждый раз от версии к версии не править.
Нужно сделать патчем вставку одной строки в prefs.c после строки 63
"xterm -e /usr/bin/alsamixer",
Вставку строки сделать сразу после строки alsamixergui
$ sed -n '57,66p' pnmixer-0.7.2/src/prefs.c
/*
* Default volume commands.
*/
static const gchar *vol_control_commands[] = {
"gnome-alsamixer",
"xfce4-mixer",
"alsamixergui",
NULL
};
Сам prefs.c во вложении (убрать расширение txt)