GerBra Tip1: Im geposteten ps uax und im systemctl status (failed->Result) findet sich die Ursache.
Tip2: Du hast eines zuviel.
Tip3: Unter systemd brauchst du etwas nicht zu machen.

mal sehen, erst mal pulseaudio mit systemd zum laufen bringen…
1) systemd legt einen sockel für dbus als --user prozess an, dabei kommt das raus: /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
2) 'start-limit-hit', pulseaudio wird zu oft gestartet, warum auch immer
3) dbus-daemon --session, erledigt systemd

  • GerBra hat auf diesen Beitrag geantwortet.

    Soll ich? Oder soll ich nicht?
    ....
    Ah nein, ich geb dir Zeit bis Morgen abend <g>

    Du bist nahe dran, aber nicht so das ich den Eindruck habe das du es verstanden hast. Wenn du die Lösung hast oder siehst wirst du denken: Klar, Mensch, wieso hab ich das nicht gleich gesehen. (Wenn das Ganze für dich jetzt "oberlehrerhaft" o.ä. daher kommt: Ist mir egal <g>, ich kann mir das erlauben ;-)

    Deine Interpretation meiner Tips:

    brikler 1) systemd legt einen sockel für dbus als --user prozess an, dabei kommt das raus: /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

    Richtig erkannt, das macht systemd (und logind und wasimmernochd) automatisch. Deshalb ist dieser dbus-daemon --session Prozeß in dieser ps-Ausgabe.

    brikler 2) 'start-limit-hit', pulseaudio wird zu oft gestartet, warum auch immer

    Nein, mein Tip2 "Du hast eines zuviel" bezieht sich auf die ps uax | grep dbus Ausgabe.

    brikler 3) dbus-daemon --session, erledigt systemd

    Stimmt, aber das ist mit Tip3 "Unter systemd brauchst du etwas nicht zu machen" nicht gemeint. Wenn du irgendwann<g> "Du hast eines zuviel" erkannt hast, dann ist das was du unter systemd gemacht hast (Tip5: steht in der ps Ausgabe) eben für systemd nicht notwendig (im Gegensatz zur minirc-Umgebung) - und genau das ist die Ursache für das nichtstartende Pulseaudio(.service) in dem Fall der sich gestern um ca. 20:50 Uhr dargestellt hat.
    (Mittlerweile kannst du ja schon viel weiter sein, oder anders rangehen. Es geht wirklich nur um diesen damaligen Zustand und dessen Ursache. Und das man diese Ursache erkennen können sollte).

    Schönen Abend noch!

    • brikler hat auf diesen Beitrag geantwortet.

      GerBra Deine Interpretation meiner Tips:

      brikler 1) systemd legt einen sockel für dbus als --user prozess an, dabei kommt das raus: /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

      Richtig erkannt, das macht systemd (und logind und wasimmernochd) automatisch. Deshalb ist dieser dbus-daemon --session Prozeß in dieser ps-Ausgabe.

      jetzt hab ich den dbus-run-session entfernt, weils den eigentlich nicht braucht, und dbus-daemon --system gestartet, funktionieren tuts trotz dem nicht

      [tom@donar ~]$ ps uax | grep dbus
      dbus       231  0.0  0.1  13116  3476 ?        Ss   09:00   0:00 
      tom        282  0.0  0.1  12812  5476 tty1     S+   09:00   0:00 dbus-daemon --session --syslog-only
      tom       1800  0.0  0.0   7684  2780 pts/0    S+   09:07   0:00 grep --color=tty -d skip dbus
      • GerBra hat auf diesen Beitrag geantwortet.

        Ich löse erstmal die "Hausaufgabe" (eigentlich ist es ja kindisch<g>) vom Problem am 26.2. 20:50, dort ging es ja um den systemd-Teil (ps-Ausgabe und systemctl-Startproblem für pulseaudio):

        Du konntest dort den user-pulseaudio.service nicht starten bzw. die Fehlermeldung des services war sinngemäß "Startversuche zu schnell hintereinander, start-limit-hit überschritten". Das war die Wirkung.
        Ursache war: In der ps-Ausgabe für systemd sieht man (sollte man sehen), daß es 2/zwei /use/bin/dbus-daemon --session Prozesse gab. Es soll darf aber nur einen geben. Diese zwei (user)--session-Prozesse("Hinterhof") bewirkten nun, daß auch zweimal kurz hintereinander versucht wurde den pulseaudio.service zu starten. Was dann mit der entsprechenden Fehlermeldung(start-hit-limit) nicht erfolgte.
        Auslöser dieser Situation war, das du dein XOrg (wie für minirc) mit "dbus-run-session -- startx" gestartet hast. Und dieses dbus-run-session führte zur zweiten (user)dbus-session, unter systemd ist das nicht nötig, die (user)-dbus-session wird automatisch gestartet. Ein einfaches startx unter systemd hätte also genügt.

        Das war eigentlich schon alles, meine ganzen Tips sollten halt draufrauslaufen daß du siehst: Huch, da sind ja 2 --session User-Prozesse, deswegen die pulseaudio-Service-Meldung. Eine startet systemd, die andere wohl ich per meinem startx-kommando, also lasse ich die doch mal weg unter systemd.

        So, zum aktuellen Stand.
        Du versuchst z.Zt. ausschließlich unter systemd pulseaudio zum Laufen zu kriegen, sehe ich das richtig?

        brikler jetzt hab ich den dbus-run-session entfernt, weils den eigentlich nicht braucht, und dbus-daemon --system gestartet, funktionieren tuts trotz dem nicht

        Es ist definitiv nicht notwendig, den dbus-daemon --system Prozeß (die "Hauptstrasse") per Hand zu starten. Das scheint in deiner ps-Ausgabe auch nicht funktioniert zu haben, man sieht in der Zeile für PID 231 ja nicht mal das gestartete Programm(Ende der Zeile).

        Ich kann dir nur den "normalen" Ablauf unter einem systemd-System nochmal zeigen, so wie es für 99% der User auch funktioniert. Ich habe rebootet um 15:29.

        a) Der dbus-daemon --system Prozeß

        $ journalctl --system -b -u dbus
        Feb 28 15:29:06 ws01 systemd[1]: Started D-Bus System Message Bus.
        ...

        Dieser Prozeß wird/muß von systemd gestartet. Automatisch. Immer. Und sieht in der Prozeßliste dann so aus:

        dbus         600  0.0  0.0  13660  6900 ?        Ss   15:29   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

        b) Nach dem Einloggen meines Users an tty1

        $ journalctl --user -b
        Feb 28 15:29:12 ws01 systemd[883]: Starting D-Bus User Message Bus Socket...
        ...
        Feb 28 15:29:12 ws01 systemd[883]: Listening on Sound System.
        Feb 28 15:29:12 ws01 systemd[883]: Listening on D-Bus User Message Bus Socket.
        Feb 28 15:29:12 ws01 systemd[883]: Reached target Sockets.

        Hier wird nun der User-Message-Bus angestoßen (dbus-daemon --session). Und zwar wird erst nur die dbus.socket Unit gestartet. Dies sorgt für das korrekte Erzeugen des Sockets (unter systemd in /run/user/UID/bus) und das korrekte Setzen der Umgebungsvaiablen DBUS_SESSION_BUS_ADDRESS.
        Zu dem Zeitpunkt gibt es noch keinen /usr/bin/dbus-daemon --session Prozeß in der Prozeßliste! Dieser wird später durch die Unit dbus.service erst real gestartet. Die Unit dbus.socket triggert später dbus.service (kann man durch systemctl --user status dbus.socket dbus.service nachprüfen)

        c) nachdem mein User XOrg startet

        $ journalctl --user -b
        ...
        Feb 28 15:29:16 ws01 systemd[883]: Started D-Bus User Message Bus.

        Ab hier (also nach startx) taucht nun er wirkliche (user)dbus-session Prozeß in der ps-Liste auf. Das Starten von XOrg und meinem Mate-DE hat über den dbus.socket (Zugriff auf den Socket) den dbus.service ausgeführt. Was zu folgender ps-Ausgabe führt:

        $ ps uax |grep dbus
        dbus         600  0.0  0.0  13828  7044 ?        Ss   15:29   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
        gerhard      921  0.0  0.0  13516  6764 ?        Ss   15:29   0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

        Also ein --system dbus-Prozeß und genau ein --session dbus-Prozeß. Das alles macht systemd automatisch.

        Und ab hier funktioniert dann auch pulseaudio, was übrigens ebenfalls über die Reihenfolge pulseaudio.socket->pulseaudio.service aktiviert wird. Kann mit:
        $ systemctl --user status pulseaudio.socket pulseaudio
        nachvollzogen werden.

        Damit pulseaudio funktionieren kann braucht es - wie schon mehrfach erwähnt, und oben anhand meines Systems dokumentiert - eben den:
        dbus-daemon --system Prozeß
        dbus-daemon --session Prozeß (genau einen!)

        Wenn das bei dir nun unter systemd nicht ebenso funktioniert:
        Dann mußt du wirklich nochmal explizit nachprüfen, ob du irgendwelche systemd-Units für dbus und pulseaudio (auch die *.socket Units) maskiert, verändert hast. Oder Configs (inkl. deiner User-Shell-rc/profile) durch das parallel vorhandene (aber nicht genutzte minirc) dem Ablauf unter systemd stören würden.

        Du solltest ggf. auch mal ein komplettes Bootlog (journalctl --system -b) auf einen Paste-Server hochladen und den Link hier posten. Das Bootlog am besten von nach deinem Anmelden/Starten von XOrg und wenn das pulseaudio-Problem auftritt.
        Das User-Journal vom gleichen Vorgang (journalctl --user -b) wäre dann ggf. auch hifreich.

        Und: ich an deiner Stelle würde mir in einer virtuellen Maschine ein funktionierendes Archlinux mit "purem" systemd (inkl. XOrg/Windowmanager) installieren. Wenn du das unverändert (also keine deiner Konfigs, kein minirc/busybox/etc.) parallel laufen hast, dann kannst du das als "Referenzsystem" nutzen. Um ggf. zu sehen: wo hakt es denn aktuell bei meinem richtigen System (was ist ggf. anders konfiguriert). Und beim Umstellen von systemd nach minirc, da wird sowas ebenfalls nützlich sein um einfach nochmal nachzuprüfen: Was macht die funktionierende Referenz anders als ich, was fehlt evtl., was ist zuviel...

        • brikler hat auf diesen Beitrag geantwortet.

          GerBra danke dir für deine geduld 🙂
          minirc:

          [tom@donar ~]$ ps uax | grep pulse
          tom        590  0.7  0.9 1169460 27552 ?       S<l  18:25   0:22 /usr/bin/pulseaudio --start --log-target=syslog
          tom        608  0.0  0.2 162852  7772 ?        S<l  18:25   0:00 /usr/lib/pulse/gsettings-helper
          tom       1095  0.0  0.0   7684  2724 pts/1    R+   19:14   0:00 grep --color=tty -d skip pulse

          für was steht eigentlich pts/1?

          • GerBra hat auf diesen Beitrag geantwortet.

            brikler für was steht eigentlich pts/1?

            PseudoTerminalSlave

            X-Terminals wie xterm sind z.B. Pseudo-Terminals, im Gegensatz zu "realen" Terminals wie tty1, ttyS1.

            Bei solchen Fragen ist mit "Bordmittel" (abseits Suchmaschinen) immer ein probates Herangehen:
            apropos pts
            (Was dich aus einem Wust von Treffer beim Buchstabe p aber auch auf eine manpage hinweist, also: )
            man pts

            //Edit: Ist mir grad eingefallen, in dem Fall sogar zielführender als apropos:
            whatis pts

            7 Tage später

            pulseaudio neu installiert und es läuft wie es soll, aber ich mußte feststellen, daß es nichts mit dem dbus-daemon --session zu tun hat, das mit dem dbus-daemon --session --syslog-only ist mal wieder so ein systemd ding.

            aus man dbus-daemon

            The --session option is equivalent to "--config-file=/etc/dbus-1/session.conf" and the --system option is equivalent to "--config-file=/etc/dbus-1/system.conf". By creating additional configuration files and using the --config-file option, additional special-purpose message bus daemons could be created. 
            …
            --session
                Use the standard configuration file for the per-login-session message bus. 
            --system
                Use the standard configuration file for the systemwide message bus. 

            edit: dbus-x11 löst das problem

            [tom@donar ~]$ ps -ax |  grep dbus
              240 ?        Ss     0:00 dbus-daemon --system
              565 pts/0    S      0:00 dbus-launch --autolaunch f264b1f7abd24b9487567e9ac28197f7 --binary-syntax --close-stderr
              566 ?        Ss     0:00 /usr/bin/dbus-daemon --syslog-only --fork --print-pid 5 --print-address 7 --session
              745 pts/0    S+     0:00 grep --color=tty -d skip dbus