Проблемы с регулировкой звука под Linux

Доброго времени суток!

Столкнулся со следующей проблемой: нет возможности осуществлять регулировку уровня громкости с помощью amixer:

gluttton@tiptop:~$ amixer set Master +5
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Access denied

amixer: Mixer attach default error: Connection refused

Звук, строго говоря, есть, но очень тихий (на максимальном уровне громкости VLC ели слышно, и то с «потрескиванием»).

Потребность возникла в процессе экспериментов и попытке настроить управление уровнем громкости в XMonad:

...
      , ( (mod4Mask, xK_F11),   spawn "amixer set Master -5")
      , ( (mod4Mask, xK_F12),   spawn "amixer set Master +5")
...
gluttton@tiptop:~$ uname -a
Linux tiptop 3.13-1-amd64 #1 SMP Debian 3.13.7-1 (2014-03-25) x86_64 GNU/Linux
gluttton@tiptop:~$ dpkg --get-selections | grep -v deinstall | grep alsa
alsa-base                                       install
alsa-oss                                        install
alsa-tools                                      install
alsa-tools-gui                                  install
alsa-utils                                      install
alsamixergui                                    install
bluez-alsa:amd64                                install
gluttton@tiptop:~$ dpkg --get-selections | grep -v deinstall | grep pulse
gstreamer0.10-pulseaudio:amd64                  install
libpulse-mainloop-glib0:amd64                   install
libpulse0:amd64                                 install
libpulsedsp:amd64                               install
pulseaudio                                      install
pulseaudio-module-x11                           install
pulseaudio-utils                                install
vlc-plugin-pulse                                install

Спасибо за любую подсказку!

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Итак, в конце-концов получилось следующее.
Во-первых: ошибка, как минимум связанна с неверным вызовом команды (спасибо, rmn k).
Вместо:

      , ( (mod4Mask, xK_F11),   spawn "amixer set Master -5")
      , ( (mod4Mask, xK_F12),   spawn "amixer set Master +5")
Должно быть:
      , ( (mod4Mask, xK_F11),   spawn "amixer set Master 5-")
      , ( (mod4Mask, xK_F12),   spawn "amixer set Master 5+")
Или так:
      , ( (mod4Mask, xK_F11),   lowerVolume 5 >> return () )
      , ( (mod4Mask, xK_F12),   raiseVolume 5 >> return () )

Во-вторых: после длительной борьбы с настройками vlc, а так же одновременным воспроизведением звука с Firefox и vlc, я решил последовать совету Андрій Stuff — помогло, в т.ч.

Хотя субъективно, все равно как-то тихо...
(по ссылке ничего делать пока не пришлось).

регулировка звука это баян,
мне вот ядро приходиться патчить при каждом его апдейте и впиливать туда левую кнопку тачпада ноутбука

--- elantech.c.orig 2013-06-14 00:52:08.000000000 +0700
+++ elantech.c  2013-07-15 12:45:52.000000000 +0700
@@ -486,6 +486,7 @@ elantech_input_sync_v4
    unsigned char *packet = psmouse->packet;

    input_report_key(dev, BTN_LEFT, packet[0] & 0x01);
+   input_report_key(dev, BTN_RIGHT, packet[0] & 0x02);
    input_mt_report_pointer_emulation(dev, true);
    input_sync(dev);
 }
@@ -1019,7 +1018,7 @@ elantech_set_input_params { case 4: }
        }
        /* v4 is clickpad, with only one button. */
        __set_bit(INPUT_PROP_BUTTONPAD, dev->propbit);
-       __clear_bit(BTN_RIGHT, dev->keybit);
+       //__clear_bit(BTN_RIGHT, dev->keybit);
        __set_bit(BTN_TOOL_QUADTAP, dev->keybit);
        /* For X to recognize me as touchpad. */
        input_set_abs_params(dev, ABS_X, x_min, x_max, 0, 0);

а потом компилить неведомый compat-wireless-3.6.6-1, там модули ядра, чтобы работал езернет порт! ... (вайфай с коробки работает)

.... независимо от вышесказанного линуксы прекрасны ... спасибо Торвальдсу и ко

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

К сожалению skype for Linux без pulseaudio не будет работать. По крайней мере последняя доступная для установки версия. А в остальном pulseaudio почти всегда преподносит глюки, независимо от дистра. Но жить с ними можно!

skype for Linux без pulseaudio не будет работать
в мене працює на ALSA. Лінк вище, як налаштувати.

При пошуку рішення в Інтернеті я вже натикавчся на такі поради :), але ж так само інші казали, що нічого поганого у використанні PulseAudio немає — лише требя його як слід налаштувати.

Але якщо меньш радікальні заходи не допоможуть, то доведеться скористатись цією порадою...

Для начала обратите внимание на права на устройство /dev/mixer. Юзер вебмервера может работать от пользователя www или даже nobody. Записывать при этом в миксер должен иметь возможность

Для начала обратите внимание на права на устройство /dev/mixer.
gluttton@tiptop:~$ ls -l /dev/mixer 
crw-rw---- 1 root audio 14, 0 Apr  8 19:51 /dev/mixer

Но в то же время:

gluttton@tiptop:~$ groups 
gluttton cdrom floppy audio dip video plugdev netdev bluetoot

У меня стоит сейчас такое, прекрасно работает.

("<XF86AudioLowerVolume>", spawn "amixer -c0 set Master 10%- > /dev/null"),
("<XF86AudioRaiseVolume>", spawn "amixer -c0 set Master 10%+ > /dev/null"),
Пробовали исполнять все это под рутом?

Ха! Спасибо, в консоли работает от имени пользователя!

gluttton@tiptop:~$ amixer -c0 set Master 10+
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 63
  Mono: Playback 63 [100%] [0.00dB] [on]
Хотя субъективно, все равно как-то тихо... Но это такое дело...

А вот, когда вставляю в xmonad.hs — возникает та же ошибка... Наверное где-то ошибся, надо бы повнимательнее проверить...

Могу посоветовать обратить внимание на утилиту pactl.

pactl set-sink-volume 0 150%
На вашем месте я бы еще посмотрел, какой пользователь запускает XMonad.
гу посоветовать обратить внимание на утилиту pactl.
Спасибо, посмотрю.
На вашем месте я бы еще посмотрел, какой пользователь запускает XMonad.
Запускаю, вот так:
gluttton@tiptop:~$ cat /etc/rc.local 
#!/bin/sh -e

su gluttton -c startx &

exit 0
gluttton@tiptop:~$ cat /home/gluttton/.xinitrc
setxkbmap -layout 'us,ru,ua' -option 'grp:alt_shift_toggle'
xsetroot -cursor_name left_ptr
feh --bg-scale /home/gluttton/Pictures/Wallpapers/simple.jpg &
exec xmonad

И как результат получается вот такое:

gluttton@tiptop:~$ ps aux | grep xmonad
gluttton  2782  0.1  0.1  58060  4644 ?        S    19:52   0:00 /home/gluttton/.xmonad/xmonad-x86_64-linux
А вот, когда вставляю в xmonad.hs — возникает та же ошибка... Наверное где-то ошибся, надо бы повнимательнее проверить...
Все нормально, код работает и в xmonad.hs.

Но!

Хотя субъективно, все равно как-то тихо...

Подписаться на комментарии