Bericht: stretch mit anderem Init-System

Smalltalk
breakthewall
Beiträge: 507
Registriert: 30.12.2016 23:48:51

Re: Bericht: stretch mit anderem Init-System

Beitrag von breakthewall » 23.03.2018 12:54:16

Ignorance of fundamental operating system concepts
Dieses Argument stinkt schon nach religiös angehauchtem Fanatismus. Als könne es nur einen einzigen Weg geben. Was somit im Geiste weniger nicht vorstellbar ist, darf auch nicht sein. Und was einer über 50 Jahre alten Unix-Philosophie zuwider läuft, die heutige Anforderungen nicht ansatzweise auf dem Schirm hatte, kann erst recht nicht angehen. Um mehr geht es idR. nicht. So wird man zumindest von der großen Masse nicht ernst genommen.

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 25.03.2018 23:37:15

@guennid: Und rootless X lässt Du einfach?
Das mit dem autologin mittels getty* in inittab aus dem Artikel finde ich praktisch, das mache ich vielleicht auch.

@breakthewall: Sag' ich ja.
Zu Unix: Das wurde da ja gar nicht namentlich angesprochen. Ich zweifele auch daran, ob jeder wirklich darüber informiert ist, was "Unix" ausmacht.** Obwohl man ja den Begriff eines "unixoiden" Betriebssystems oft hört.
Als ich kürzlich mal nachschaute, was "Unix" eigentlich genau bedeutet, war ich total überrascht, was da alles dahintersteckt, was über "do one thing and do it well" hinausgeht, - s. z.B.:
https://en.wikipedia.org/wiki/Unix_philosophy
oder auch in Deutsch: https://de.wikipedia.org/wiki/Unix-Philosophie

Cgroups sind etwas kompliziert. Mal sehen, ob ich da noch etwas mehr dahinter komme, auch dahingehend, was die jetzt genau mit X machen. Wenn jemand da zufällig bereits eine Quelle kennt: Natürlich immer gerne her damit... :wink:

*getty ist übrigens in stretch ein Link zu agetty.
Apropos: Was bedeuten eigentlich Nummern wie 38400 in einer inittab-Zeile wie:

Code: Alles auswählen

1:2345:respawn:/sbin/getty 38400 tty1
**Ich meine damit nicht Dich, sondern das ist eine generelle Überlegung, die mir kam, weil es mir so ging.

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 17.04.2018 10:27:30

Vor einigen Tagen habe ich jetzt doch mal systemd, libpam-systemd und polkit ganz runtergenommen (gemeinsam mit den Paketen, die nur Abhängigkeiten von diesen Programmen sind, so wie systemd-shim o.ä.).
Ich bin eh nicht so der Nutzer von grafischen root-Programmen und polkit war noch das letzte, was mich daran gehindert hat, libpam-systemd und damit auch systemd zu entfernen.

Jetzt bin ich aber auf ein komisches Problem gestoßen:

Also erstmal wollte pulseaudio nicht laufen. Das habe ich nach einiger googelei durch Entfernen von folgendem Schnipsel in "~/.config/pulse/default.pa" gelöst.

Code: Alles auswählen

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif
Nun ist wieder alles fein, außer firefox (Release, nicht ESR aus den Paketquellen), wenn er im default-Profile von firejail "0.9.52-2~bpo9+2" läuft.
Will ich dann z.B. ein Video auf youtube hören, meldet mir Firefox, dass ich doch bitteschön die erforderliche pulseaudio-Software installieren soll.
Lasse ich firefox ohne firejail laufen, besteht das Problem nicht!
Vor dem Entfernen von systemd und libpam-systemd (und damit logind) ging aber alles, auch mit dem (gleichen!) firejail-Profil und dem gleichen firefox.
Was ist denn hier los? 8O

OT: Warum hat eigentlich gefühlt so ziemlich jedes Progamm eine eigene Syntax für Konfigurationsdateien? (s. pulse-Schnipsel) Man könnte das doch alles im shell-script-Stil machen und nur Eigenes anfügen, wo es aufgrund von speziellen Funktionen nötig ist.

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Bericht: stretch mit anderem Init-System

Beitrag von MartinV » 17.04.2018 12:31:43

Ich habe diese Tage mit elogind in docker Containern experimentiert und bekomme es jetzt zum Laufen. Wenn Du Programme mit systemd-logind Abhängigkeit zum laufen bringen willst, ist elogind ein guter Ersatz. Es geht dabei vor allem um Session Management. (Consolekit erfüllt(e) auch diesen Zweck, wird aber nicht mehr gepflegt. Es gibt ein Consolekit2, das noch in Entwicklung ist.)
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 10:27:30
Will ich dann z.B. ein Video auf youtube hören, meldet mir Firefox, dass ich doch bitteschön die erforderliche pulseaudio-Software installieren soll.
Lasse ich firefox ohne firejail laufen, besteht das Problem nicht!
Bekommst Du eine Ausgabe von "pax11publish -d"? Kannst Du das auch in firejail ausführen?
Von docker Containern weiß ich, daß ich pulseaudio über TCP oder mit Bereitstellen vom pulse unix socket isolierten Programmen zur Verfügung stellen kann.
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 10:27:30
OT: Warum hat eigentlich gefühlt so ziemlich jedes Progamm eine eigene Syntax für Konfigurationsdateien?
https://xkcd.com/927/
*getty ist übrigens in stretch ein Link zu agetty.
Apropos: Was bedeuten eigentlich Nummern wie 38400
Das ist die BAUD Rate von deinem Analogmodem, auf das Du den Telefonhörer legst, wenn Du ins Internet gehst. :mrgreen:
Die Angabe der BAUD Rate ist sinnvoll für echte Terminals aus den 70er Jahren, aber bei einer virtuellen Konsole ziemlich sinnfrei.
Zuletzt geändert von MartinV am 17.04.2018 14:22:49, insgesamt 1-mal geändert.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

tobo
Beiträge: 1953
Registriert: 10.12.2008 10:51:41

Re: Bericht: stretch mit anderem Init-System

Beitrag von tobo » 17.04.2018 13:34:13

RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 10:27:30
[...] was mich daran gehindert hat, libpam-systemd und damit auch systemd zu entfernen.
Und dein X läuft noch immer rootless?

guennid

Re: Bericht: stretch mit anderem Init-System

Beitrag von guennid » 17.04.2018 16:44:47

@guennid: Und rootless X lässt Du einfach?
Irgendwie missverständlich formuliert. Wenn du meinst: "Lässt du /usr/lib/xorg/Xorg mit Root-Rechten laufen?" ist die Antwort: Ja.

In diesem Zusammenhang hätte ich eine Frage: Wird wayland von systemd abhängig sein?

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Bericht: stretch mit anderem Init-System

Beitrag von MartinV » 17.04.2018 17:12:46

guennid hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 16:44:47
Wird wayland von systemd abhängig sein?
Nein.
Es braucht derzeit lediglich ein XDG_RUNTIME_DIR, daß gewöhnlich von dbus angelegt wird. Kann man aber auch manuell anlegen. Zukünftig soll auch diese Notwendigkeit wegfallen. XDG_RUNTIME_DIR wird benötigt, um dem Unix Socket WAYLAND_DISPLAY einen Platz zu geben. Zukünftig soll man aber in WAYLAND_DISPLAY einen absoluten Pfad angeben können; derzeit ist nur der Socketname erlaubt.

Edit: Eine Abhängigkeit von udev oder eudev besteht auch.
Zuletzt geändert von MartinV am 21.04.2018 13:40:09, insgesamt 1-mal geändert.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 17.04.2018 18:29:23

Der Reihe nach:

@MartinV, 1. Beitrag:
Du hast elogind für stretch kompiliert und unter stretch zum Laufen gebracht? Geht das so einfach?
Welche Schritte hast Du außer dem Kompilieren vornehmen müssen?
Wenn das alles problemlos klappen würde, könnte man daraus dann ja vielleicht auch ein lokales Paketchen machen, welches libpam-systemd bereitstellt...
Allerdings natürlich nur unter der Vorraussetzung, dass man damit nicht in "Don't break Debian" tappt und sich sozusagen selbst ins Bein schießt... :?

"pax11publish -d" erzeugt bei mir keine Ausgabe, weder mit noch ohne firejail. Was heißt das?

Danke übrigens wegen der Auklärung bezüglich der BAUD Rate.

bzgl. OT: :mrgreen:


@tobo:
Ja, jetzt eben mit den genannten Modifikationen an der X-binary (/usr/lib/xorg/Xorg), also "chown :input" und "chmod g+s". (Und ich bin in der video-Gruppe.)
Ich finde es sehr wichtig, dass X rootless laufen kann. Mir scheint das wichtiger, als die Wahl des init-Systems oder so, denn schließlich wird ja immer gesagt, wie groß, unübersichtlich und wirr der X-Code sei - da würde ich mich unwohl fühlen, den mit root-Rechten laufen zu lassen...

Möglicherweise ist auch schon "chown :input" und "chmod g+s" aus Sicherheitsgründen unsicherer als das, was (e)logind macht? Mal sehen, ob ich das irgendwann noch herausfinden werde...


@guennid:
Stimmt, war missverständlich. Hast es aber richtig verstanden.
Aber ist Dir das nicht zu unsicher, X mit root-Rechten zu versehen?

DebianWeston z.B. hängt nicht von systemd ab, nur von der library Debianlibsystemd0, aber die hängt nicht von systemd als init-System oder von systemd als Paket ab.


@MartinV, 2. Beitrag:
Debianudev wurde bei Debian ja eh schon in ein separates Paket ohne systemd-Abhängigkeiten gesteckt.

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Bericht: stretch mit anderem Init-System

Beitrag von MartinV » 17.04.2018 18:44:56

RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
Du hast elogind für stretch kompiliert und unter stretch zum Laufen gebracht?
Hm, nein. Ich habe ein devuan ascii docker Image mit elogind zum Laufen gebracht. Unter debian stretch habe ich noch keine Versuche gemacht. Man könnte es mal darauf ankommen lassen, stretch in einer VM zu installieren und ihm das elogind-Paket von devuan unterzujubeln.
elogind im docker container unter einem systemd host war eine Herausforderung für sich, siehe: https://github.com/elogind/elogind/issues/52
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
Wenn das alles problemlos klappen würde, könnte man daraus dann ja vielleicht auch ein lokales Paketchen machen, welches libpam-systemd bereitstellt...
Es gibt ein Paket libpam-elogind.
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
udev wurde bei Debian ja eh schon in ein separates Paket ohne systemd-Abhängigkeiten gesteckt.
Bist Du sicher, daß es ohne systemd Umgebung läuft? udev war seinerzeit, vor eudev, der größte Problempunkt für devuan.
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
"pax11publish -d" erzeugt bei mir keine Ausgabe, weder mit noch ohne firejail. Was heißt das?
Pulseaudio trägt einige Daten in die X Server Umgebungsvariablen ein, so daß andere Programme pulseaudio leichter finden können. Das scheint es bei Dir nicht gemacht zu haben. Beispielausgabe bei mir:

Code: Alles auswählen

$ pax11publish -d
Server: {1b453596804544d385d72d36f5482faf}unix:/run/user/1000/pulse/native
Cookie: 567cd4f792b44a2b161658bb272d97e446528d3e2ac166971c14225caee7810e170712a992e2a3b36b53f23029cf73243fbe109ed034a5b672fa17ef5df55795916781f0c8ea16b7e782692cba865d53c5fb2a4cca03a9ed14929691867760485913ffc681bdadc93757e572694f74c0c5a699391fb54010aa557b58a63ae2b7960ed42b9096751d060ff980c06ef565faaa458d0104756c0ba8649e0511f0db19ecb899693c69e5fbb3c46600079c3709fbb87d3d73f19a82dcd0a34b19a3e2586ac4448bb0756c422286b8d22780ae40f6b10d7cc5e93e6a48a8546c5db275696b23ec84da4373483625fa1337f3876f629b82f094e7995d4a85d869a0a6a0
Versuch mal,mit "pax11publish -e" die Daten in den X server einzutragen. "man pax11publish" kann Dir ein paar Hintergründe erzählen.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

tobo
Beiträge: 1953
Registriert: 10.12.2008 10:51:41

Re: Bericht: stretch mit anderem Init-System

Beitrag von tobo » 17.04.2018 18:47:49

RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
@tobo:
Ja, jetzt eben mit den genannten Modifikationen an der X-binary (/usr/lib/xorg/Xorg), also "chown :input" und "chmod g+s". (Und ich bin in der video-Gruppe.)
Nochmal gezielt: Du hast ein rootless-X, mit sysvinit als init-System und ohne installiertes libpam-systemd?

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 17.04.2018 18:59:10

@tobo: Ja!

@MartinV:
MartinV hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:44:56
Bist Du sicher, daß es ohne systemd Umgebung läuft? udev war seinerzeit, vor eudev, der größte Problempunkt für devuan.
Jedenfalls erscheint bei mir ein Prozess "systemd-udevd" und init listed auch beim booten den Start von udev mit "OK".
Der Prozess heißt systemd-udevd, aber das Paket wurde bei Debian eben aus systemd extrahiert.
Bei apt-file oder hier: https://packages.debian.org/stretch/amd64/udev/filelist kannst Du Dir die Liste der Dateien anschauen, die im Paket Debianudev enthalten sind.
Außerdem: Wenn das Paket udev keine systemd-Abhängigkeit hat, hat es keine systemd-Abhängigkeit. Alles andere wäre ja ein Bug in der Liste der Abhängigkeiten.
pax11publish studier' ich mal...

guennid

Re: Bericht: stretch mit anderem Init-System

Beitrag von guennid » 17.04.2018 19:20:04

Aber ist Dir das nicht zu unsicher, X mit root-Rechten zu versehen?
Die letzten 15 Jahre, in denen ich mit Debian arbeite, war das Standard. Und ich denke, die Zeitspanne bis wayland produktiv zu gebrauchen sein wird (wenn's denn mal produktiv zu gebrauchen sein wird), werde ich die X-Unsicherheiten auch noch aussitzen können. :wink:

Was udev angeht: Soweit mir bekannt, wird udev seit geraumer Zeit vom systemd-Projekt gemacht. Zeigt auch die Namensänderung: systemd-udevd. Ich komme mit stretch ohne udev, bzw. mit einem equvis-dummy, aus.

systemd ist weit mehr als ein bloßes init-System.

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 17.04.2018 22:03:31

guennid hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 19:20:04
Soweit mir bekannt, wird udev seit geraumer Zeit vom systemd-Projekt gemacht.
Ja gut, aber das ist ja egal, solange keine Abhängigkeiten zum restlichen systemd bestehen.
guennid hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 19:20:04
Ich komme mit stretch ohne udev, bzw. mit einem equvis-dummy, aus.
Udev hat die Priorität "important", von udev hängt u.a. "initramfs-tools-core" ab, davon hängt "initramfs-tools" ab und davon hängt "linux-image-4.9.0-6-amd64 4.9.82-1+deb9u3" ab. Ich würde da lieber nicht dran fummeln, außer ich wüsste genau, was ich tue... :wink:

Apropos Kernel...
Linus Torvalds hat geschrieben:And yes, a large part of this may be that I no longer feel like I can
trust "init" to do the sane thing. You all presumably know why.
Zitat von hier: https://lkml.org/lkml/2017/7/6/577 (ganz unten)
Ich hab' allerdings noch nicht so richtig verstanden, worum es im Rest vom Text ging (nicht aus sprachlichen, sondern aus inhaltlichen Gründen). Aber immerhin fallen schonmal die Worte "suid", "namespace" und "init". Vielleicht weiß jemand mehr?

guennid

Re: Bericht: stretch mit anderem Init-System

Beitrag von guennid » 17.04.2018 22:30:35

von udev hängt u.a. "initramfs-tools-core" ab, davon hängt "initramfs-tools" ab und davon hängt "linux-image-4.9.0-6-amd64 4.9.82-1+deb9u3" ab. Ich würde da lieber nicht dran fummeln
Ich schon. :wink:

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 19.04.2018 23:50:43

Wegen pax11publish:
Also wenn ich "pax11publish -e" mache, habe ich zwar auch so eine Ausgabe, wie Du, MartinV, aber leider beendet sich pulse dann - will sagen, Prozess ist futsch. Keine Ahnung, wieso. In syslog ist nix, wenn ich "start-pulseaudio-x11 &" manuell versuche (statt faul mittles inplace restart von i3), erscheint: "Connection failure: Connection refused".
Leere ich das ganz mit "pax11publish -r" wieder, startet pulse auch wieder (egal ob mittels inplace restart des WM oder manuell im Terminal). :?:

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Bericht: stretch mit anderem Init-System

Beitrag von MartinV » 20.04.2018 00:03:05

RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
19.04.2018 23:50:43
Also wenn ich "pax11publish -e" mache, habe ich zwar auch so eine Ausgabe, wie Du, MartinV, aber leider beendet sich pulse dann - will sagen, Prozess ist futsch.
Das klingt nach einem pulseaudio bug. Ich habe keine Ahnung, wo pulseaudio sein log schreibt.

Etwas blind geraten: Vielleicht braucht pulseaudio eine "aktive session". So etwas wird von systemd-logind, elogind, consolekit oder consolekit2 bereitgestellt. Du hast aber aktuell keines davon laufen, oder?

Hast Du einen pulseaudio socket /run/user/1000/pulse/native? Oder ähnlich, jedenfalls in XDG_RUNTIME_DIR? Läuft bei dir dbus?

Wenn es über pax11publish nicht geht, könnte man eine TCP Verbindung zu pulseaudio aufbauen Das habe ich schon mal hingetrickst, könnte ich mal nachgucken, wie genau das ging.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 20.04.2018 11:00:39

Der Reihe nach:
1. Richtig, irgendwas mit logind oder consolekit setze ich gerade nicht ein.
2. /run/user existiert bei mir nicht.

Ich zweifele aber daran, dass pulseaudio ein grundlegendes Problem hat, denn außer in der Sandbox von firejail funktioniert ja alles wie gewohnt.
Hier deswegen jetzt mal einfach der Log einer firefox-session, in der ich versuche, ein Video bei Youtube abzuspielen!

Code: Alles auswählen

Reading profile /etc/firejail/firefox.profile
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-devel.inc
Reading profile /etc/firejail/disable-programs.inc
Reading profile /etc/firejail/whitelist-common.inc
Reading profile /etc/firejail/whitelist-var-common.inc
Blacklist violations are logged to syslog
0;firejail /opt/firefox/firefox ^GFailed to symlink /home/robert/.config/pulse/3b911989521147309cd4db36269d754f-runtime to /tmp/user/1000/pulse-vo2Zua5DICj6: Permission denied
fork(): Operation not permitted
Failed to symlink /home/robert/.config/pulse/3b911989521147309cd4db36269d754f-runtime to /tmp/user/1000/pulse-t6gN7KMjmznn: Permission denied
fork(): Operation not permitted
[Child 42, MediaPlayback #2] WARNING: 7f58baf46100 Can't get cubeb context!: file /builds/worker/workspace/build/src/dom/media/AudioStream.cpp, line 358
[Child 42, MediaPlayback #2] WARNING: Decoder=7f58bdfed3e0 [OnMediaSinkAudioError]: file /builds/worker/workspace/build/src/dom/media/MediaDecoderStateMachine.cpp, line 3755
Parent pid 6995, child pid 6996

Parent is shutting down, bye...
Was ist jetzt eigentlich das Fehlverhalten? Funktionierendes Audio oder nicht-funktionierendes Audio? Immer bezogen auf die Sandbox natürlich!

Wenn ich im Terminal eine firejail-shell öffne, also eine bash-session, die mit "default.profile" gesandboxt ist, kann ich auf /tmp/user/1000 zugreifen und dort z.B. eine Datei erstellen und löschen. Auch "ln -s [irgendeine Datei] /tmp/user/1000" funktioniert.

(Habe auch mal firefox.profile aus /etc/firejail nach nopaste hochgeladen:
http://nopaste.debianforum.de/40273
oder NoPaste-Eintrag40273)

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 20.04.2018 11:05:45

Nachtrag:
Am firefox-profile von firejail liegt es nicht. Wenn ich firefox mit firejail ohne Profil sandboxe, bekomme ich:

Code: Alles auswählen

$ firejail --noprofile /opt/firefox/firefox
Parent pid 17466, child pid 17467
Child process initialized in 54.47 ms
Failed to symlink /home/robert/.config/pulse/3b911989521147309cd4db36269d754f-runtime to /tmp/user/1000/pulse-SNdmoUxDouS3: Permission denied
fork(): Operation not permitted
Failed to symlink /home/robert/.config/pulse/3b911989521147309cd4db36269d754f-runtime to /tmp/user/1000/pulse-Xybl4xKkjPve: Permission denied
fork(): Operation not permitted
[Child 37, MediaPlayback #2] WARNING: 7f7ae9741dc0 Can't get cubeb context!: file /builds/worker/workspace/build/src/dom/media/AudioStream.cpp, line 358
[Child 37, MediaPlayback #2] WARNING: Decoder=7f7ae879da60 [OnMediaSinkAudioError]: file /builds/worker/workspace/build/src/dom/media/MediaDecoderStateMachine.cpp, line 3755

Parent is shutting down, bye...

Benutzeravatar
safran
Beiträge: 94
Registriert: 02.01.2008 04:46:07
Lizenz eigener Beiträge: Artistic Lizenz

Re: Bericht: stretch mit anderem Init-System

Beitrag von safran » 20.04.2018 18:07:32

hast du mal versucht als Benutzer im Terminal vorher

Code: Alles auswählen

xhost +
und dann

Code: Alles auswählen

firejail --noprofile /opt/firefox/firefox
zu starten?

Zum Debuggen ...

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 20.04.2018 20:31:58

Warum sollte das denn helfen? Audio hat mit X doch nix zu tun...
Naja, ich hab's trotzdem mal getestet, schließlich scheinen die Wege des Audio ja unergründlich... :wink:
Aber hat keine Veränderung gebracht.
Das ist wirklich irre. Ohne firejail-sandbox kann ich ganz gemütlich alles machen wie bisher, mit firejail-sandbox klappt es nicht und ich sehe bei youtube z.B. nur noch Stummfilme. Manchmal mag das ja wünschenswert sein, aber auf Dauer...
Anyway, vielleicht krieg' ich ja diesbezüglich doch noch was raus.
Möglicherweise braucht es doch das Paket Debianrtkit, welches eine Recommendation von Debianpulseaudio ist*.
Aber eigentlich kann es nicht an pulse liegen, sondern es muss irgendwie daran liegen, dass Restriktionen der sandbox zuvor mittels "logind-Magie" umgangen wurden, was nun ohne logind eben nicht mehr geht. Vielleicht hat es was mit diesen cgroups zu tun?

*... und selber wieder polkit empfiehlt, was mich wundert, denn entweder kann es mit seinen "scheduling policies" umgehen, oder eben nicht...

Apropos Abhängigkeiten:
@MartinV: Dbus ist bei mir installiert.

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Bericht: stretch mit anderem Init-System

Beitrag von MartinV » 21.04.2018 13:21:54

2. /run/user existiert bei mir nicht.
Ich bemerke, daß dieser Ordner beim Aufruf von dbus erzeugt wird, vermutlich von einem Service, den dbus startet. policykit vielleicht?
Ich frage mich, wo Dein pulseaudio socket ist, wenn nicht dort. Du könntest Deine Platte mal nach "pulse/native" durchsuchen.
Vielleicht hilft es, den socket nach /tmp/user/1000 von firejail zu verlinken, falls das irgendwie geht. Wahrscheinlich muß außerdem PULSE_SERVER gesetzt werden.
Aber eigentlich kann es nicht an pulse liegen, sondern es muss irgendwie daran liegen, dass Restriktionen der sandbox zuvor mittels "logind-Magie" umgangen wurden, was nun ohne logind eben nicht mehr geht. Vielleicht hat es was mit diesen cgroups zu tun?
Ich tippe eher auf policykit.

Code: Alles auswählen

Failed to symlink /home/robert/.config/pulse/3b911989521147309cd4db36269d754f-runtime to /tmp/user/1000/pulse-vo2Zua5DICj6: Permission denied
Failed to symlink /home/robert/.config/pulse/3b911989521147309cd4db36269d754f-runtime to /tmp/user/1000/pulse-t6gN7KMjmznn: Permission denied
Existieren diese Dateien? Was sagt "ls -l"? Vielleicht sind die Zugriffsrechte auf Dich begrenzt, aber firejail läuft als anderer User?
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 23.04.2018 22:11:52

Hm, als socket vermute ich bei mir:

Code: Alles auswählen

$ pactl info
Server String: /tmp/user/1000/pulse-PKdhtXMmr18n/native
[…]

Code: Alles auswählen

$ ls -lF /tmp/user/1000/pulse-PKdhtXMmr18n/
total 4
srwxrwxrwx 1 robert robert 0 Apr 23 21:55 native=
-rw------- 1 robert robert 6 Apr 23 21:55 pid
Die Dateien verschwinden übrigens nach ein paar Sekunden, wenn man keine Musik hört oder mit "pactl info" den Schlummer von pulseaudio stört.

So wie ich es verstehe, könnte man den socket auch als environment variable spezifizieren:
Aus "man pulseaudio":

Code: Alles auswählen

       $PULSE_SERVER: the server string specifying the server to connect to when a client asks for a sound server connection and doesn't explicitly ask for a specific server. The server string is a list  of
       server  addresses  separated  by whitespace which are tried in turn. A server address consists of an optional address type specifier (unix:, tcp:, tcp4:, tcp6:), followed by a path or host address. A
       host address may include an optional port number. A server address may be prefixed by a string enclosed in {}. In this case the following server address is ignored unless the prefix string equals the
       local hostname or the machine id (/etc/machine-id).
firefox läuft unter firejail nicht als anderer Benutzer.

Wegen rtkit:
Als ich meinte, dass es verwunderlich ist, dass das Paket Debianrtkit polkit empfiehlt, meinte ich:
1. polkit ist für die "scheduling policies" nötig, dann muss es eine Abhängigkeit sein, sonst ist der Sinn des Paketes rtkit (entsprechend der Beschreibung) ja nicht gegeben.
2. polkit ist nicht nötig, warum ist es dann eine "Empfehlung"?
Vielleicht probier' ich rtkit trotzdem mal...
Fakt wäre dann aber, dass firejail durch /rtkit/systemd/wasauchimmer in gewissem Maße aufgebrochen wird, oder?
Denn ohne firejail geht ja sowieso alles.

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 29.04.2018 13:09:13

Habe gerade gesehen, dass das mit rtkit auch schon anderen aufgefallen ist:
Debian Bugreport881342

Zitate daraus:
As I said on IRC, I can't think of any scenario where rtkit is useful
without dbus and polkit. […]
Withouut polkit, rtkit will start but will refuse to make any processes
realtime and is therefore a bit useless.

In my opinion, this bug is RC […].
Move dbus and polkit from Recommends to Depends

rtkit can't do much really without either of them so bump them to Depends.
Entsprechend hängt rtkit in buster/sid dann auch von policykit-1 ab:
https://packages.debian.org/buster/rtkit
https://packages.debian.org/sid/rtkit

Naja, dann lass ich das mit rtkit erstmal, bis ich herausgefunden habe, wie das nun ist mit firejail und pulse.

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 07.05.2018 16:47:59

Sieh' an, die without-systemd-wiki hat ihre Seite umgebaut...
Die neue Hauptseite enthält weniger Quark: http://without-systemd.org/wiki/index.php/Main_Page
Und hier werden die Argumente nun aufgedröselt: http://without-systemd.org/wiki/index.p ... st_systemd

Z.B. finden sich nun unter dem Punkt "Ignorance of fundamental operating system concepts", konkretere Kritikpunkte mit Links.
Muss ich mir alles mal anschauen, vielleicht ist es nun interessanter.
Aber was auch interessant wäre: Wer von den Leuten, die diese Wiki schreiben, liest hier mit?

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 17.11.2018 09:25:24

Es geht voran mit der diversity!?

Es gibt nun das "Debian Ecosystem Init Diversity Team":
https://qa.debian.org/developer.php?log ... end.org.uk

"elogind" scheint sich in Richtung "experimental" zu bewegen: https://packages.debian.org/search?suit ... ds=elogind
"sysvinit" schießt durch die Decke: https://tracker.debian.org/pkg/sysvinit

Und auch dieser Beitrag hier deutet auf Entwicklung hin:
Hi all. Sorry I'm late to this thread, but I wanted to jump in and share some updates.

1. Members of the Debian and Devuan teams are working together on the SysV init package, as well as elogind in order to keep these packages healthy and maintained in Debian. I can't speak to the systemd-shim package, but I'm happy to report that it looks like init implementation diversity is being maintained in Debian. sysv, systemd and runit all look to be healthy options for Debian 10 Buster.

2. Most of the coding bugs and documentation issues reported in Debian's issue tracker against SysV init have been dealt with upsteam. A few people are looking into script/packaging issues downstream.

3. A new version of sysvinit-core will be released around early December to give it time to get into Buster when the feature freeze hits in January. This should in turn help Devuan when their next release comes out. Not to mention MX Linux and antiX will be able to use the new, fixed (and faster) sysvinit code.

- SysV upstream dev
(Quelle: http://forums.debian.net/viewtopic.php? ... 7e#p684740)

Ich nutze im Moment sysvinit aus stretch + folgende Pakete aus Devuan-ASCII:
elogind
libelogind0
libpam-elogind
eudev
libeudev1
libeudev1:i386
(eudev hätte ich vielleicht gar nicht übernehmen müssen, da udev in stretch ja ein standalone-Paket ist.)

Ich hatte mir einfach schnell ein mini-Devuan-chroot gebaut, um die Pakete immer schön bequem herunterladen zu können.
Ob die Verwendung von Devuan-Paketen in Debian eine saubere Lösung ist, weiß ich nicht, aber im Moment läuft's bei mir. Empfehlen kann man es aber natürlich nicht.

Antworten