GNOME, kein Ton

Sound, Digitalkameras, TV+Video und Spiele.
Benutzeravatar
smutbert
Moderator
Beiträge: 8314
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: GNOME, kein Ton

Beitrag von smutbert » 23.07.2018 10:58:19

Dasselbe habe ich mir auch gedacht (ohne mir 100%ig sicher zu sein).

Das alleine sollte aber noch nicht funktionieren, denn ohne weitere Maßnahmen kann sich root ja noch nicht mit Pulseaudio verbinden (also entweder Pulseaudio als systemweiten Daemon einrichten oder in Pulseaudio Zugriff über das Netzwerk erlauben, wie du es wolltest oder bereits getan hast, dann ist es wie geschrieben möglicherweise notwendig zusätzlich localhost als Server anzugeben.)

Benutzeravatar
smutbert
Moderator
Beiträge: 8314
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: GNOME, kein Ton

Beitrag von smutbert » 26.07.2018 20:18:13

Nachdem auch michaa7 ein paar Probleme hatte, habe ich mir timidity und timidity-daemon etwas genauer angesehen und nun eine etwas elegantere Lösung, die noch dazu auch problemlos funktioniert (sie stammt aus diesem Bugreport Debian Bugreport745373):

Es gibt nämlich neben dem offensichtlichen Problem, mit dem Zugriff auf die Pulseaudio-Instanz des Users, die noch dazu zum Zeitpunkt des Starts von timidity-daemon noch gar nicht läuft (was ich gar nicht bedacht habe) noch mindestens 2 weitere Schwierigkeiten.

Die Lösung besteht darin den timidity-Daemon als Benutzer beim Anmelden zu starten (bzw. automatisch starten zu lassen). Damit hat timidity automatisch Zugriff auf den Alsa-Sequencer und auf Pulseaudio, das dann beim Start auch schon läuft. Obendrein ist die Lösung wesentlich einfacher als die bisherigen Ideen:
  1. Es ist empfehlenswert alle bisherigen Änderungen an der timidity-Konfiguration und an Alsa (»/etc/asound.conf«), die aus diesem Anlass gemacht wurden, rückgängig zu machen!
  2. Debiantimidity-daemon deinstallieren. Das Paket beinhaltet lediglich ein init-Skript, das in der Lösung nicht verwendet wird (und mit Pulseaudio ohnehin nicht richtig funktioniert).
  3. Eine systemd-unit für den Start von timidity anlegen und zwar als Benutzer-unit »/etc/systemd/user/timidity.service« mit dem Inhalt

    Code: Alles auswählen

    [Unit]
    Description=TiMidity++ Daemon
    After=sound.target
    
    [Service]
    ExecStart=/usr/bin/timidity -iA -Os
    
    [Install]
    WantedBy=default.target
    
  4. Die systemd-Unit per default für alle Benutzer aktivieren

    Code: Alles auswählen

    # systemctl --user --global enable timidity.service
    
  5. und entweder neu anmelden oder die timidity-Unit starten

    Code: Alles auswählen

    $ systemctl --user start timidity.service
    
Dann sollte sich timidity beispielsweise mit aplaymidi nutzen lassen

Code: Alles auswählen

$ aplaymidi -p 128:0 meine-midi-Datei.mid

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: GNOME, kein Ton

Beitrag von inne » 30.07.2018 14:15:13

Dann ist das timidiy-daemon Paket eigentlich falsch.. Aber gut, zwei UIDs/Prozesse können nicht den selben Port belegen usw.

gemma
Beiträge: 322
Registriert: 28.07.2010 12:19:49

Re: GNOME, kein Ton

Beitrag von gemma » 25.08.2018 01:07:22

Bei mit wars (mit ähnlichem Grundproblem, ohne tief zu forschen)
apt remove --purge alsa-oss
modprobe snd_hda_intel


PS: Evtl. für voodoo-affine die auf den Thread stoßen ;)
PPS: Für mich ist es allerdings ein Mysterium warum aplay nur als root etwas ausgegeben hat, obwohl alle (?) relevanten Gruppen für den user eingetragen sind?

Antworten