[gelöst] alsamixer/pulseaudio: für Root OK, für User nicht OK,

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
geoliver2104
Beiträge: 111
Registriert: 03.01.2020 13:28:57

[gelöst] alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von geoliver2104 » 05.04.2020 14:15:27

Hallo,
wenn ich alsamixer als root starte, sind alle Einstellungen OK
zb: Gerät: HDA Intel PCH, Chip: Realtek ALC887-VD

bei alsamixer Start als User habe ich bei Gerät und Chip jeweils Pulseaudio
der Sound in grafischen Anwendungen funktioniert aber dennoch.
Probleme hab ich als User aber bei Verwendung des Kommandozeilen mp3 Players: mpg123
da kommt kein Ton. Brauche diese Funktion aber für einige selbst geschriebene C-Programme.
Selbst wenn ich im alsamixer manuell die richtige Soundkarte und die Lautstärken einstelle,
kommt bei z.b. >$ mpg123 test.mp3 , maximal ein krächzen heraus.

Unter Root läuft das alles einwandfrei.
Komme aber nicht drauf, wie ich das für die User genauso einrichte.
Bitte um Hilfe
Zuletzt geändert von geoliver2104 am 15.04.2020 11:05:53, insgesamt 1-mal geändert.

KP97
Beiträge: 3403
Registriert: 01.02.2013 15:07:36

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von KP97 » 05.04.2020 16:06:16

Mittlerweile wird der Sound über Pulseaudio und systemd gesteuert, Alsamixer ist also ziemlich überholt. Als Mixer würde ich pavucontrol nutzen.
Pulseaudio läuft nicht als root sondern als User, nachzusehen in /etc/systemd/user/, dort findet sich auch der dazugehörige Service.
Wenn es denn unbedingt alsamixer sein muß, findest Du im Home des root die Einstellungen dazu. Wenn ich mich recht entsinne, mußte man das mit alsastore auch für den User ausführen.
Evtl. kannst Du die config aber auch zum User kopieren.

Übrigens gehören in einen Eröffnungsthread auch die Angaben zum eingesetzten System, damit man keine Glaskugel bemühen muß.

willy4711

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von willy4711 » 05.04.2020 16:52:21

Bei mir wird,wie KP97 schon sagte, die Ausgabe mit mpg123 per default über PA wiedergegeben.
Bei PA dann wiederum über die als default eingestellte Sink
Schnell herauszufinden:

Code: Alles auswählen

pactl list short sinks

Da brauch ich nichts über den Alsamixer konfigurieren.
es gibt für PA auch ein ganz nettes Konsolen- Tool Debianpulsemixer falls Debianpavucontrol zu Gui-lastig ist.
Es wird wohl daran liegen, dass du nicht die richtige Sink eingestellt hast in PA

Code: Alles auswählen

F1 Output  F2 Input  F3 Cards                                                              ? - help
*TEAC USB AUDIO DEVICE Digital Stereo~   96  ─┌▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮-----------------┐─
                                         96  ─└▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮-----------------┘─

 Internes Audio Digital Stereo (HDMI)    95   ┌▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮-----------------┐ 
                                         95   └▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮-----------------┘ 




L M  TEAC USB AUDIO DEVICE Digital Stereo (IEC958): All

Code: Alles auswählen

$ mpg123 /media/Musik/Breakout/ZOL/Breakout_-_ZOL_-_06_-_Gdy_Masz_Przyjsc.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
	version 1.25.13; written and copyright by Michael Hipp and others
	free software (LGPL) without any warranty but with best wishes

Directory: /media/Musik/Breakout/ZOL/

Terminal control enabled, press 'h' for listing of keys and functions.

Playing MPEG stream 1 of 1: Breakout_-_ZOL_-_06_-_Gdy_Masz_Przyjsc.mp3 ...

MPEG 1.0 L III cbr320 44100 j-s

Title:   Gdy Masz Przyjsc                          Artist: Breakout                                 
Comment:                                           Album:  ZOL                                      
Year:    1979                                      Genre:  Blues - Polnisch Blues / Blues Rock    

geoliver2104
Beiträge: 111
Registriert: 03.01.2020 13:28:57

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von geoliver2104 » 07.04.2020 08:56:39

Danke für die Antworten,
Tut mir leid, hab vergessen zu sagen: ich habe auf meinem PC ein aktuelles 64-Bit Debian Buster.
Für Sound verwende ich das Onboard Device: HDA Intel PCH mit Realtek ALC887-VD chip, also nichts exotisches.
Debian Buster ist für mich das erste Linux mit systemd. Kenn mich damit noch nicht aus.
Wenn der Sound mittlerweile über Pulseaudio gesteuert wird, ist das auch OK
Für mich ist nur wichtig: $ mpg123 läuft wieder.

erhalte folgende Ausgabe:

Code: Alles auswählen

$ pactl list short sinks
0       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       IDLE
weiss aber nicht wie mir diese Info helfen kann, pulsemixer bzw. pavucontrol zu konfigurieren.
Beim herumprobieren mit den verschiedenen Optionen, gabs maximal wieder dieses kurze Krächzen bzw. Rauschen.
Soll ich vielleicht Alsa zuerst einmal deinstallieren ?
LG

pferdefreund
Beiträge: 3791
Registriert: 26.02.2009 14:35:56

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von pferdefreund » 07.04.2020 09:34:25

Ich würde eher mal pulseaudio stoppen und alsa native probieren. Wenn es da krächzt usw. dann stimmen sicherlich irgend welche Pegeleinstellungen nicht. Irgendwo kann man einstellen, dass pulseaudio nicht automatisch startet - das mal tun und mpg123 mit alsa direkt probieren. Dann mit alsamixer mal schauen, dass nichts gemutet ist und die Pegel so einstellen, dass keine Verzerrungen mehr entstehen. Wenn das rund läuft, dann ggf. pulseaudio wieder aktivieren und auch hier in den entsprechenden Programmen nach mute und Pegel schauen. Auf diese Art kann man dann jede Baustelle nacheinander abarbeiten - wobei die Hauptbaustelle ist Alsa - das muss erst mal rund laufen, da pulseaudio ja darauf aufbaut. Noch was fällt mir dazu ein. Kann es sein, dass du mal mit sudo oder was auch immer in deinem $HOME gearbeitet hast und da auch Sound verwendet hast ? Es kann vorkommen, dass dann irgend eine .config mit User Root angelegt wird, die dann der eigene User nicht lesen und auch nicht ändern kann. Such mal in deinem $HOME nach Dateien mit userid 0 bez root und entsorge die. Die haben da eh nix verloren.

willy4711

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von willy4711 » 07.04.2020 10:31:45

Ich würde mal folgendes probieren: mpg123 hat die Option -o mit der du die Ausgabemodule gezielt ansprechen kannst.

Code: Alles auswählen

mpg123 -o alsa [Datei]
zeigt mir imDebian pulsemixer folgendes an:

Code: Alles auswählen

                                                           ? - help
*TEAC USB AUDIO DEVICE Digital Stereo~   84  ─┌▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮---------------------┐─
 │                                       84  ─└▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮---------------------┘─
 └─mpg123.bin: ALSA Playback             71   ┌▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮-------------------------┐ 
                                         71   └▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮-------------------------┘ 
 

Code: Alles auswählen

mpg123 -o pulse
Folgendes:

Code: Alles auswählen

TEAC USB AUDIO DEVICE Digital Stereo~   84  ─┌▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮---------------------┐─
 │                                       84  ─└▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮---------------------┘─
 └─mpg123: via out123                    100  ┌▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮----------------┐ 
                                         100  └▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮----------------┘ 
Vielleicht ist möglich so gezielt dein Device anzusteuern. :?:

Wenn du den Pulsemixer benutzt, zu dem Device mal manövrieren, Enter ---> als default auswählen
Unten siehst du L und M . M ist mute also mal M drücken ( mute ein / aus)

Edit:
Eine Idee hab ich noch weil du sagst, mit Root hast du Ton, als User nicht:
Was ergibt denn:

Code: Alles auswählen

fuser -v /dev/dsp* /dev/snd/* 

geoliver2104
Beiträge: 111
Registriert: 03.01.2020 13:28:57

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von geoliver2104 » 09.04.2020 12:55:46

Wie immer Danke für Antworten,
Bei der Erstinstallation von Debian Buster hab ich alsa bewusst installiert und als Root mit alsamixer konfiguriert.
Pulseaudio ist dann eher nebenbei, durch Installation div. Pakete mitreingezogen worden, hab das nie irgendwie konfiguriert.

Lieber pferdefreund:
Hab in /etc/pulse/client.conf die ;autospawn Option auf no gesetzt.
Damit soll PulseAudio für alle User disabled sein.
dann als User alsamixer wieder mit F6 auf HDA Intel PCH eingestellt und alles voll aufgedreht.
jetzt bleibt mpg123 *.mp3 stumm, nicht einmal das Rauschen.

in $Home gibts keine Dateien mit userid 0

Lieber willy4711:
Wenn du den Pulsemixer benutzt, zu dem Device mal manövrieren, Enter ---> als default auswählen
Das ist ja das Problem, finde mein Device einfach nicht.
Du hast da zb. TEAC USB AUDIO DEVICE Digital Stereo stehen.
ich kann bei pulsemixer unter F3 Cards, mein Device nicht finden.
seh da nur so allgemeine Optionen wie z.b:
Analog Stereo-Ausgabe
Analog Surround 2.1 Ausgabe
Digital Stereo (IEC958)-Ausgabe
usw...
aber nichts, was irgendwie an meine Hardware erinnert.
wie zb. HDA Intel PCH oder Realtek ALC887

Code: Alles auswählen

 $ fuser -v /dev/dsp* /dev/snd/* 
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  oliver     1625 F.... pulseaudio
/dev/snd/controlC1:  oliver     1625 F.... pulseaudio
LG und bitte weiter um Hilfe

willy4711

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von willy4711 » 09.04.2020 14:22:30

hmmm
mal von vorne:
Was passiert (als user),

Code: Alles auswählen

aplay /usr/share/sounds/alsa/*.wav
Vorher nachsehen, ob du da auch Dateien hast, bzw. wo sie bei dir sind.

Hast du das mal probiert ?

Code: Alles auswählen

mpg123 -o alsa [Datei]
dann sollte mpg123 über alsa ausgeben

Code: Alles auswählen

mpg123 -o pulse [Datei]
dto über PulseAudio

geoliver2104
Beiträge: 111
Registriert: 03.01.2020 13:28:57

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von geoliver2104 » 13.04.2020 11:30:49

Danke an willy4711
OK, als User hab ich pulsemixer gestartet und unter F3 Cards zwei Einträge gefunden :
) GP107GL High Definition Audio Control -> hab das auf AUS gestellt ( hat was mit HDMI zu tun, sowas hab ich nicht)
) Internes Audio -> hab das auf Analog Stereo-Ausgabe gestellt

Code: Alles auswählen

$ aplay /usr/share/sounds/alsa/Front_Center.wav
funktioniert einwandfrei, gut hörbar

Code: Alles auswählen

$ mpg123 - o alsa /usr/local/lib/test.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
        version 1.25.10; written and copyright by Michael Hipp and others
        free software (LGPL) without any warranty but with best wishes


Terminal control enabled, press 'h' for listing of keys and functions.

Playing MPEG stream 1 of 4: - ...
spielt 1) nichts und wird 2) nicht mal beendet.
Zwar kann ich den Befehl mit Strg-C abbrechen und komm auch wieder zum Prompt,
aber das Terminalfenster ist irgenwie abgestürzt -> nimmt keine Tastatureingaben mehr an.

Code: Alles auswählen

$ mpg123 - o pulse /usr/local/lib/test.mp3
reagiert genauso

Vermisse bei Debian eine gute Step by Step Anleitung zur Soundkonfiguration.
Soweit ich verstanden habe ist PA eine Software die auf ALSA angewiesen ist
und darauf aufsetzt. Bin mir aber nicht mal da ganz sicher.

Oft findet man bei Suche nach PA, Empfehlungen zur idealen Konfiguration der /etc/asound.conf
Hab so eine Datei gar nicht, bei mir gibts nur die Dateien unter /etc/alsa/conf.d
Eigene Versuche eine /etc/asound.conf zu Erstellen brachten auch nichts.
Oder muss bei den Dateien unter /etc/pulse/ angesetzt werden ?
Bin relativ ratlos

willy4711

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von willy4711 » 13.04.2020 12:20:42

Was sagt denn

Code: Alles auswählen

aplay -l
und

Code: Alles auswählen

pactl list sinks short
Man kann auch im home eine ~/.asoundrc
da steht bei mir nichts Anderes drin als:

Code: Alles auswählen

cat ~/.asoundrc
defaults.pcm.!card 1
defaults.ctl.!card 1
card 1 ist aus aplay -l

Code: Alles auswählen

....
...
Karte 1: DEVICE [TEAC USB AUDIO DEVICE], Gerät 0: USB Audio [USB Audio]
  Sub-Geräte: 0/1
  Sub-Gerät #0: subdevice #0
Ich bräuchte die an sich nicht, aber sie ist halt da :facepalm:

Irgendwie hast du deinen Sound ganz schön verbogen :roll:
Hast du Debiansox installiert ?
Debiansox + Debianlibsox-fmt-mp3 spielt mp3 wunderbar im Terminal

Code: Alles auswählen

play  ~/Musik/Alarm_Sounds/bells-tibetan-daniel_simon.mp3
play WARN alsa: can't encode 0-bit Unknown or not applicable

/home/hans/Musik/Alarm_Sounds/bells-tibetan-daniel_simon.mp3:

 File Size: 311k      Bit Rate: 138k
  Encoding: MPEG audio    
  Channels: 2 @ 16-bit   
Samplerate: 44100Hz      
Replaygain: off         Artist: SoundBible.com Must Credit
  Duration: 00:00:18.08  Title: SoundBible.com Must Credit

In:99.9% 00:00:18.05 [00:00:00.03] Out:796k  [      |      ]        Clip:0    
Done.

willy4711

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von willy4711 » 13.04.2020 12:46:55

Eine weitere Möglichkeit wäre

Code: Alles auswählen

paplay -d [sink] [Datei]
allerdings kann paplay aus irgend einem Grund kein mp3.

Mal ne Frage am Rande; wofür brauchst du das eigentlich ? Irgend ein Skript ?

geoliver2104
Beiträge: 111
Registriert: 03.01.2020 13:28:57

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von geoliver2104 » 14.04.2020 10:43:08

Dank an willy4711

Code: Alles auswählen

$ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: PCH [HDA Intel PCH], Gerät 0: ALC887-VD Analog [ALC887-VD Analog]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 1: ALC887-VD Digital [ALC887-VD Digital]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: NVidia [HDA NVidia], Gerät 3: HDMI 0 [HDMI 0]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: NVidia [HDA NVidia], Gerät 7: HDMI 1 [HDMI 1]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: NVidia [HDA NVidia], Gerät 8: HDMI 2 [HDMI 2]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Meine Soundkarte wäre die Karte 0,
Karte 1 ist wahrscheinlich meine Grafikkarte, glaub nicht das die Sound ausgeben kann.
Nutze den HDMI-Ausgang der Grafikkarte jedenfalls nicht.

Code: Alles auswählen

$ pactl list sinks short
0       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED
hab mir jetzt auch eine .asoundrc erstellt.

Code: Alles auswählen

$ cat ~/.asoundrc
defaults.pcm.!card 0
defaults.ctl.!card 0
bringt aber auch nichts, nur kurzes Rauschen.

sox an und für sich hab ich nicht installiert, nur ein paar libsox* libraries wurde irgenwann
mal mitinstalliert.
Möchte aber nichts Neues installieren um bestehende Probleme zu kompensieren.
Bin eher bereit PA zu deinstalliern und nochmal neu anzufangen.

Brauchen tu ich das ganze nicht wirklich, hab einfach Spaß am Programmieren zb. in C.
Manchmal möchte man in selbstgeschriebenen Programmen auch Sound ausgeben.
Ein einfacher Weg dafür ist ein Kommandozeilenprogramm aufzurufen.
Unter C zb.:

Code: Alles auswählen

system("mpg123 -q /usr/local/lib/test.mp3");
könnte natürlich das *.mp3 auch in *.wav konvertieren und dann aplay verwenden.
möchte aber noch nicht aufgeben.
LG

geoliver2104
Beiträge: 111
Registriert: 03.01.2020 13:28:57

Re: alsamixer/pulseaudio: für Root OK, für User nicht OK,

Beitrag von geoliver2104 » 15.04.2020 11:04:27

Hallo
das Problem hat sich, zumindests für mich, gelöst
und zwar durch:

Code: Alles auswählen

sudo apt-get purge --auto-remove pulseaudio
also komplette PA Deinstallation.
jetzt funktioniert alles wieder wie gewünscht.
hab Sound auf der Kommandozeile und auch in allen Anwendungen die ich benutze.
Sehe momentan noch keinen Grund Pulseaudio wieder zu installieren.
LG

Antworten