XRDP und das screen-Tool

Ihr wisst noch, daß man nicht so genau hinsehen sollte, wenn man mehr Freizeit haben will? 😉 Den Grundsatz habe ich mal wieder bei RDP ignoriert und bin prompt in die Falle getappt.

XRDP, die Session und das screen-Tool

Wer von Euch weiß, was PID 1 ist? Ok, eine rhetorische Frage, jeder weiß das. Für die, die das vergessen haben, kleine Auffrischung:

Der erste Prozess, der beim Start des PCs erstellt wird, hat die Process-ID 1 ( PID ). Jeder andere Prozess danach, ist ein Kind(Child) vom Prozess mit PID 1. Der Prozess ist also das Elternteil(Parent) von dem gestarteten Prozess. Beim Systemd-Init-System heißt der PID 1 Prozess sinnigerweise „systemd“, beim Vorgänger System-V  wars noch „init“.

Beispiel:

systemd(1)-+-ModemManager(1300)-+-{ModemManager}(1352)
           |                    `-{ModemManager}(1354)
           |-NetworkManager(1319)-+-{NetworkManager}(1360)
           |                      `-{NetworkManager}(1362)

Hier im Beispiel, ist systemd(1) der Eltern-Prozess und ModemManager(1300) und NetworkManager(1319) sind die Kinder-Prozesse. Wenn der Rechner runtergefahren wird, terminiert der PID1 Prozess alle seine Kinder-Prozesse und wenn keins mehr da ist, beendet er sich selbst, in dem er der HW das Strom-Aus-Kommando sendet.

Merke: Alle Prozesse sind Kinder oder Kinds-Kinder von PID1, weil das eine baumartige Struktur ist.

Wer sich das mal selbst ansehen will: einfach „pstree -up | less“ in ein Terminalfenster eingeben.

Was passiert, wenn der Elternprozess eines Kindes terminiert wird und dieser Elternprozess nicht PID1 ist?

Im Beispiel oben, terminieren wir mal gedanklich den NetworkManager(1319) der ja 1360 und 1362 als Kinder hat. Was jetzt passiert ist, daß die Kinder-Prozesse als Waisen dem PID1 übertragen werden. Sie bekommen also einen neuen Eltern-Prozess, aber sonst ändert sich nichts: Sie laufen i.d.R. weiter.

Es gibt auch Situationen, wo das nicht der Fall ist, aber die lassen wir mal aus.

Ich merke gerade ich muß weiter ausholen, sonst verstehen das nicht alle Leser, daher nicht wundern, wenn alles etwas schlicht gehalten ist und es einem trotzdem wie eine Wüstenwanderung ohne Wasser vorkommt.

Der Benutzer meldet sich an

Stellen wir uns vor, Systemd hat das System(PC) soweit hochgefahren, daß uns am Monitor eine Anmeldemaske(Login-Dialog) begrüßt. Wenn der Benutzer einloggt(sich anmeldet), wird die Desktop-Session gestartet, das kann z.b. Gnome, Cinnamon oder sonst eine andere Deskopumgebung sein. Die Startet dann wieder Programme bis so eine Arbeitsoberfläche entstanden ist, wie man die von Fotos kennt:

Ein GNOME Remotearbeitsplatz mit laufendem VideoEs laufen jetzt rudelweise Prozesse im Namen des Benutzers:

systemd(1)-+-ModemManager(1300)-+-{ModemManager}(1352)
          ...
           |-csd-printer(2448,marius)-+-{csd-printer}(2449)
           |                          `-{csd-printer}(2450)
           |-cupsd(1364)
           |-dbus-broker-lau(1276,dbus)---dbus-broker(1277)
           |-dbus-daemon(5007,marius)---{dbus-daemon}(5011)
           |-dbus-daemon(5153,marius)---{dbus-daemon}(5154)
           |-dbus-daemon(5282,marius)---{dbus-daemon}(5283)
           |-dbus-daemon(5868,marius)---{dbus-daemon}(5869)
           |-dbus-daemon(8160,marius)---{dbus-daemon}(8161)
           |-dbus-daemon(12280,marius)---{dbus-daemon}(12281)
           |-dbus-daemon(27861,marius)---{dbus-daemon}(27862)
           |-dconf-service(5201,marius)-+-{dconf-service}(5202)
           |                            `-{dconf-service}(5203)
           |-dconf-service(5330,marius)-+-{dconf-service}(5331)
           |                            `-{dconf-service}(5332)
           |-dconf-service(5372,marius)-+-{dconf-service}(5378)
           |                            `-{dconf-service}(5379)
           |-dconf-service(5924,marius)-+-{dconf-service}(5925)
           |                            `-{dconf-service}(5926)
           |-dconf-service(12329,marius)-+-{dconf-service}(12330)
           |                             `-{dconf-service}(12331)
           |-dconf-service(28004,marius)-+-{dconf-service}(28007)
           |                             `-{dconf-service}(28008)
          ...

und die sind, wie man oben sehen kann, Kinder vom PID1. Die „Ausreißer“-Prozesse die auch laufen, wenn sich kein Benutzer anmeldet, habe ich mal rot markiert. Die gehören i.d.R. root oder einem Servicebenutzer „nobody“,“www-data“,“mysql“ so in der Art. Die werden gleich wichtig.

Wenn der Benutzer sich ausloggt

Kommen wir zu dem Punkt, wo sich der Benutzer aus dem PC ausloggt. Der Abmelden-Vorgang(Logout) stößt eine Kaskade an, die alle Benutzerprozesse terminiert. Wenn keine anderen Prozesse mehr laufen, dann terminiert sich der PID1 auch. I.d.R. ist das aber nicht der Fall, weil Root ja auch ein ganzes Rudel an Diensten gestartet hat, die alle Kind von PID1 sind.

Screen

Wenn man auf verschiedenen Servern zu tun hat, kommt man unweigerlich an den Punkt, wo man Programme laufen lassen muß die tage- oder wochenlang laufen müssen (ggf. auch ewig) oder man muß einfach zwischenzeitlich mal weg und will den Arbeitsstand den man erreicht hat nicht verlieren.

Einen Desktop-PC würde man einfach nicht abschalten und als Benutzer nur den Bildschirm sperren. Wenn man sich aber doch mal als anderer Benutzer an dem PC anmelden muß, und die Programme trotzdem nicht beendet werden sollen, kommt „screen“ ins Spiel.

Dies startet man in einer Konsole bevor man mit der Arbeit anfängt. Wenn man sich auf einem entfernten Server per SSH anmeldet, ist es oft der einzige Weg, wie man sicherstellen kann, daß ein Verbindungsverlust nicht im Desaster endet. Screen kann man aber natürlich auch in einem Desktop-Terminal starten.

Ich kann also als Benutzer meinem PC auch in einer Screensitzung längerfristig mit Aufgaben versorgen, mich dann ausloggen oder Bildschirm sperren und per SSH von Zuhause aus nachsehen, ob die Prozesse noch laufen oder schon fertig sind. Da jeder mit der richtigen Berechtigung eine Screensitzung betreten kann, kann ich dann also auch von Zuhause aus an der Stelle weiter machen, wo ich aufgehört habe.

Wenn ich das nur in einem Terminalfenster als eingeloggter Desktopbenutzer mache, kann ich das nicht tun, da man das Terminal nicht von außen betreten kann.

Damit dürfte die Idee hinter Screen klar sein:

Screen starten, Programme arbeiten lassen, die Benutzersitzung am Desktop oder per SSH beenden und dann später von irgendwo anders fortsetzen.

Jetzt kommt XRDP ins Spiel

Nun hatte ich einen PC bei einer Firma, den ich per getunneltem RDP von außen mit einer Desktop-Session benutzt habe und wollte die stundenlange Kopieraktion in einer Screensitzung laufen lassen und mich dann ausloggen. RDP hat das Problem, daß man nicht gleichzeitig per RDP und am Bildschirm eingeloggt sein kann.

Also muß man die Remote-RDP-Sitzung beenden, falls man am Bildschirm einloggen muß, weil der Job so lange lief, daß man schon wieder im Büro ist.  Das passiert öfters als man glauben mag.

Wenn man das tut, vertraut man darauf, daß man ja screen gestartet hatte und der Prozess noch da ist, wenn man wieder ins Büro kommt. War er aber nicht.

Ta Ta Daaaaaaa !!!

Eine per XRDP gestartete Desktop-Session bekommt nämlich einen eigenen systemd Prozess als Startprozess, genau wie der PC beim hochfahren auch, nur das dieser systemd Prozess keine anderen Dienste gestartet hat und daher alle seine Kinderprozesse terminiert, wenn die Sitzung endet… auch Screen!

Beispiel:

systemd(1)-+-ModemManager(1300)-+-{ModemManager}(1352)
           |                    `-{ModemManager}(1354)
           |-NetworkManager(1319)-+-{NetworkManager}(1360)
           |                      `-{NetworkManager}(1362)
	  ...
           |-gnome-terminal-(5111,marius)-+-bash(5412)---screen(13881)---screen(13882)---bash(13883)-+-less(14632)
           |                              |                                                          `-pstree(14631)
          ...
           |-systemd(5996,remote)-+-(sd-pam)(6006)
           |                             |-abrt-applet(6657)-+-{abrt-applet}(6671)
           |                             |                   |-{abrt-applet}(6672)
          ...
           |                             |                       `-{evolution-calen}(7037)
           |                             |-evolution-sourc(6381)-+-{evolution-sourc}(6383)
           |                             |                       |-{evolution-sourc}(6384)
           |                             |                       `-{evolution-sourc}(6385)
           |                             |-gnome-shell-cal(6374)-+-{gnome-shell-cal}(6378)
           |                             |                       |-{gnome-shell-cal}(6380)
           |                             |                       |-{gnome-shell-cal}(6432)
           |                             |                       |-{gnome-shell-cal}(6433)
           |                             |                       `-{gnome-shell-cal}(7050)
           |                             |-gnome-terminal-(11250)-+-bash(11424)---screen(21255)---screen(21326)---bash(21331)---les+
           |                             |                        |-{gnome-terminal-}(11277)
           |                             |                        |-{gnome-terminal-}(11278)
           |                             |                        `-{gnome-terminal-}(11310)
          ...

In dem Auszug oben seht Ihr den Unterschied:

systemd(1) -> systemd(????) -> gnome-terminal -> bash -> screen

statt:

systemd(1) -> gnome-terminal -> bash -> screen

Da systemd(????) (die ???? stehen für eine beliebige PID) nach dem Logout keine Prozesse von „anderen“ Benutzer gestartet hat, terminiert er sich auch selbst, was dann in Folge auch das Screen noch terminiert.

In der Desktopkette (in grün) bleibt der systemd (1) Prozess stehen, weil noch andere Prozesse von anderen Benutzern laufen (inkl. root), deswegen wird Screen dann nicht terminiert und läuft weiter.(denkt dran, einfache Darstellung 🙂 )

Am Beispiel von SSH schön zu sehen:

|-sshd(20153)-+-sshd(21640)—sshd(21661)—bash(21671)—screen(22867)—screen(22881)—bash(22882)

wird zu

|-screen(22881)—bash(22882)

Merke:

Wenn Du per XRDP eingeloggt bist und screen benutzen willst, melde Dich lokal per SSH an, starte dann screen und arbeite damit.

Es klingt bescheuert, weil man von Screen genau erwarten würde, daß es weiterläuft, aber es passiert halt nicht, weil der das screen in der Konsequenz startende Prozess ( systemd(????) ), alles terminert, weil er selbst terminieren will/muß.

Ich befürchte wir bekommen Pöttering nicht dazu, dafür eine Ausnahme in systemd einzubauen und müssen damit leben.

 

 

 

RemoteDesktop mit XRDP & XFreeRDP

Von Remotearbeitsplatzlösungen hat bestimmt sicher jeder schon mal etwas gehört. Die Technik dafür ist in der Regel auf VNC aufgebaut und trägt viele Namen: AnyDesk, Teamviewer, RDP oder auch direkt VNC.

RemoteDesktopProtocol

Wenn es bei VNC eher um die rudimentären Funktionen der Bildübertragung geht, so daß auf zwei Monitoren das Gleiche zu sehen ist, kann man sich mit RDP, Teamviewer und Anydesk auch als ein Benutzer auf einem anderen PC anmelden.

Ein GNOME Remotearbeitsplatz mit laufendem VideoUnter Windows nutzt man dazu das RemoteDesktopProtocol ( RDP ) und genau das kann man auch mit Linux nutzen. RDP ist in der Lage die Verbindung mit TLS zu verschlüsseln, was einen großen Vorteil hat, wenn man das quer durchs Internet benutzt. Es ist allerdings eine schlechte Idee, den RDP Port frei ins Netz zu stellen. Die Windows RDP Serverversion ist in der Vergangenheit mehrfach erfolgreich Ziel von Angreifern geworden, daher empfehle ich für Linux ohnehin, daß man den Port über SSH tunnelt.

Das geht ganz leicht:

ssh -C -L 127.0.0.1:3389:RDPSERVERIP:3389 username@sshgateway

Der Linux Client – XFreeRDP

Die Verbindung zu einem RDP Server aufzubauen ist ganz leicht, wenn man XFreeRDP benutzt. Analog zu dem SSH Tunnel oben, hier die dafür nötige Syntax:

xfreerdp /v:127.0.0.1 /u:username /p:Passwort /size:1920×1020

Die erste Frage wird jetzt wohl sein, wieso 1920×1020. Das ist leicht, weil das als Fensterversion genau in einen FullHD Monitor mit Cinnamon paßt 😉 Wer aber die volle Erfahrung haben will, der kann auch einen Parameter für Fullscreen angeben:

xfreerdp /v:127.0.0.1 /u:username /p:Passwort /size:1920×1080 /f

Wer darüber Videos ansehen und/oder Skypen will, der muß zwei Dinge haben: einen Server der das anbietet und folgende Parameter:

xfreerdp /v:127.0.0.1 /u:username /p:Passwort /size:1920×1080 /f  /microphone:sys:alsa /sound:sys:alsa /compression-level:2

Aber erwartet da jetzt nicht zu viel. Bei Tests gab es da leichte Bandbreitenprobleme über DSL.

Die nächste Frage dürfte sein, wieso man das in die Konsole hacken soll. Sagen wir es mal so, die meisten getesteten DesktopUIs waren nicht wirklich brauchbar. Ich empfehle Euch ohnehin für eine zügige Verbindung ein Desktopfile pro Verbindung:

[Desktop Entry]
Version=1.0
Name=Arbeitsplatz2
GenericName=RemoteTool
Comment=FreeRPD Client
Exec=xfreerdp /v:127.0.0.1 /u:username /p:Passwort /size:1920×1080 /f  /microphone:sys:alsa /sound:sys:alsa /compression-level:2
Icon=/home/username/.local/share/icons/freerdp.svg
Terminal=false
Type=Application
StartupNotify=false
Categories=Network;
Keywords=Arbeitsplatz;rdp;freerdp;internet;
X-Desktop-File-Install-Version=0.21
Name[de_DE]=Arbeitsplatz2

Wenn es noch ein automatischer Tunnel sein soll, müßt Ihr ein Shellscript schreiben und das aufrufen. Ab hier könnt Ihr auf einen beliebigen Windows oder Linux RDP Server zugreifen.

XRDP – Der RDP Server

Kommen wir zum schwierigen Teil der Aktion: Der eigene Server.

Eigentlich es ziemlich einfach, nur die Details sind ein Problem. XRDP ist glücklicherweise bei Fedora dabei. Installiert bekommt man es also einfach mit :

sudo dnf install xrdp

zum Starten ist auch nicht viel nötig:

sudo systemctl start xrdp

Aber Ton versucht man vergebens zu aktivieren, denn die nötigen Pulseaudiomodule liegen dem Programm bei Fedora seit einiger Zeit nicht mehr bei. Ich habe versucht die für Fedora 30 zu kompilieren, keine Chance.

Bei Fedora 31 sieht die Sache ein klein bisschen anders aus. Hier ist bereits PulseAudio 13 im Einsatz, wo Fedora 30 noch 12 benutzt. Der F30 Build von PulseAudio 13 wurde aus einem unerklärlichen Grund in die Mülltonne verschoben, ich tippe mal darauf, daß nicht alle anderen Pakete mitziehen wollten oder konnten.

Da es auch Für PulseAudio 13 keine Fedora Module für XRDP gibt, müssen wir hier kreativ werden 🙂 Wir leihen es uns bei einer anderen Distribution aus:

wget http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/x86_64/RPMS.classic/pulseaudio-module-xrdp-0.4-alt1.x86_64.rpm
rpm -i ./pulseaudio-module-xrdp-0.4-alt1.x86_64.rpm

Jetzt kann Euer Fedora 31 auch den Sound liefern.

Die richtige Desktopwahl

So, Ihr habt Euren Server laufen und jetzt verbindet Ihr Euch mit XFreeRDP dahin. Ihr werdet jetzt abhängig von dem Desktopspin den Ihr installiert habt, entweder einen Erfolg vermelden können (GNOME) oder einen schwarzen Bildschirm sehen und nicht mehr ausloggen können (Cinnamon). Die anderen Desktops habe ich nicht ausprobiert, aber Gerüchten zufolge, sollen die durchweg „gehen“.

Um sicher zugehen, daß Ihr eine Umgebung bekommt, die auch läuft, legt Ihr im HOME vom Benutzer den Ihr einloggen wollt eine Datei namens .Xclients an, die „gnome-session“ als Inhalt und u+x als Dateiattribute hat:

echo „gnome-session“ > ~/.Xclients
chmod u+x ~/.Xclients

Voraussetzung ist, daß Gnome auch installiert ist. Falls das nicht der Fall ist, könnte das helfen:

dnf install gnome-desktop3

Da sollte der ganze Rattenschwanz an Abhängigkeiten kommen. Alternativ schreibt Ihr Euren Desktop in die Datei rein. Eine Liste mit passenden Anweisungen finden Ihr im Netz.

Wieso empfehle ich dann Gnome?

Weil das nicht über die fehlende Hardwarebeschleunigung meckert, wie andere Desktops das tun ( und dann nicht richtig funktionieren ). Außerdem ist die schlichte Deko des Desktops sehr hilfreich um Bandbreite einzusparen, was die Sache reaktiver macht. Im eigenen LAN ist das natürlich komplett egal.

Ich rate bei DSL Verbindungen dazu die Animationen des Desktops zu deaktivieren. Man kann das auch im XFreeRDP als Schalter mitteilen, aber direkt im Gnome ist es vermutlich „nachvollziehbarer“ für den Desktop.

Jetzt könnt Ihr loslegen.

Ein kleiner Sicherheitshinweis noch: Paßt bitte auf, daß Ihr nicht aus Versehen den Server runterfahrt, statt die Usersession zu beenden, daß kann sehr schmerzhaft werden 🙂 Gerade bei Gnome liegen die Funktionen dicht beisammen und aus Gewohnheit verklickt man sich da schnell. Also Obacht!

Android

Oh ja, es gibt auch eine Android XFreeRDP Clienten Version und je nach Eurem Android, kann die ggf. nur gebrochene Krypto. Wenn das der Fall ist, laßt es lieber, weil Eurer Tablet dann auch leistungsmäßig nicht ausreicht um das brauchbar zu benutzen. Falls Ihr diese lieb gemeinte Warnung ignorieren wollt, xrdp.ini ist Eure Anlaufstelle:

/etc/xrdp/xrdp.ini :

ssl_protocols=TLSv1, TLSv1.1, TLSv1.2, TLSv1.3v; set TLS cipher suites

Es dürfte klar sein, daß das im != Privaten Umfeld nicht eingesetzt werden darf, da Artikel 32 DSGVO das verbietet.

Dann wünsche ich jetzt allen Karnevalsfreunden unter Euch, die morgen zum Shoduvel nach Braunschweig kommen: Alles Gute in der Regenschlacht und verabschiede mich für heute 🙂

Linux: Mehr Tester für Fedora!

Das Wort zum Sonntag

„Moin, Moin liebes Fedoravolk,

Schämt Euch! Ja…schämt Euch in Grund und Boden!
Ihr wollt alles immer für lau, aber so läuft das nicht!
Eure Taten sollen für Euch die Rechnung bezahlen,
deswegen TESTET! TESTET! TESTET! “
(Zitat: von Manager Bodhi, 20-20 )

So, oder so ähnlich, hätte das wohl geklungen, wenn Linux eine Religion wäre und der örtliche Glaubensvertreter Euch in den Allerwertesten treten wollte. Glück für Euch, Linux ist keine Religion. Nichts desto trotz, könntet Ihr ruhig mehr für Euch selbst tun und öfters mal zumindest bei sicherheitskritischen Sachen neue Updates testen!

Das Firefox 73.0-2 Update für Fedora 30 hing bis heute morgen 9.35 Uhr immer noch im Testbereich rum, wohingegen das gleiche Paket für F31 schon nach Minuten genug Testergebnisse zusammen hatte und bereits ins Stable gerutscht ist.

Koji and Bodhi in a Nutshell

Damit sich mehr Benutzer finden, die Tests mit Auswirkungen machen, sei am Beispiel von Firefox erklärt, wie man da als normaler Benutzer helfen kann:

Das ist der Testfall für Firefox 73.0-2 für Fedora 30 im BODHI System:

https://bodhi.fedoraproject.org/updates/FEDORA-2020-4e1ba1a692

Wenn man die Seite aufruft, sieht man als erstes die Installationsanleitung:

Man sieht eine Testfallliste im Bodhi interfaceDie spannende Frage ist jetzt natürlich, wie kommt man überhaupt an den Links zu den Updates ran?

Dazu ruft man die Webseite ohne irgendetwas auf, z.b. so:

https://bodhi.fedoraproject.org/updates/

Ihr findet eine Suchmaske rechts oben:

Man sieht eine Liste mit Updates, welche genau, ist für das Thema komplett egal.Einfach „Firefox“ eingeben oder durch die Liste scrollen(aber das dauert etwas).

Updates sind intern eingeteilt in normale Programme und welche, die zum CritPath, also den kritischen Programmen, zählen. Firefox als „der“ Browser ist ein CritPath Programm, das Genologie Programm dagegen, ist nicht kritisch für den täglichen Betrieb beim Enduser, also ein normales Programm.

Testfälle

Entsprechend gibt es diverse Testfälle, die für solche Updates neben dem obligatorischen „Es startet überhaupt“ gibt. Für Firefox wären das diese drei:

Amn sieht einen ordentlich gemachten Test eines Testers von FirefoxEs gibt bei anderen Programmen auch welche mit deutlich mehr Testfällen. Der Maintainer kann auch spezielle Testfälle hinzufügen, wenn bestimmte Neuerungen das erfordern sollten um die Kompatibilität mit dem bisherigen Datenbestand zu sichern.

Die drei Fälle hier sind also „Addons: funktioniert die Addonseite, sind alle Addons da, kann man welche installieren“, „Browser: Kann man damit Webseiten aufrufen, gibts Probleme bei der Darstellung usw.“ und „Media: kann man Filme, Musik, Bilder ansehen und anhören.“

Wie man oben sehen kann, hat der Tester für alle drei grünes Licht gegeben, aber einiges anzumerken gehabt. Offensichtlich hat er den Test ernster genommen als Andere, die diese Testfälle nicht geprüft haben. Wenn man hier Tests macht, sollte man auf keinen Fall Testergebnisse fälschen, das bringt rein gar nichts, für niemanden.

Insgesamt sind min. 3 positive „Karma+1“ Wertungen nötig um ein Update als lauffähig zu markieren. Schauen wir uns mal an, wie die anderen Tester gewertet haben:

Das "Testergebnis" anderen Menschen, leider nicht ganz so penibel wie im vorherigen Fall. Nur einer der zwei Anderen hat den Browsertest gemacht und gewertet, daß er funktioniert ( der Firefox ). Die anderen Tests haben sich die zwei einfach erspart. Rechts oben auf dem Bild seht Ihr noch die automatisch durchgeführten Funktionstests und da hat das Update 3 nicht bestanden. Jetzt darf der Maintainer entscheiden, ob das missionskritische Fehler sind oder nur formale Fehler, und diese dann überstimmen.

Die Auswertung

Wenn keine automatischen Fehlerergebnisse vorliegen und das Karma +3 erreicht hat, wird dem Maintainer geraten und erlaubt, das Update ins Stable zu schieben. Das kann in Notfällen auch überstimmt werden durch den Maintainer, wenn z.b. die Hütte schon brennt, sollte man das Feuerwehrauto vielleicht nicht erst noch testen, sondern nur zusehen, daß Wasser im Tank ist. Das Äquivalent bei Software ist ein Remote-Exploit, der in der Wildnis (Internet) bereits zu der Lücke kursiert und PCs infiziert. Da ist es natürlich besser, wenn das aktualisierte Programm gar nicht mehr geht, statt die Leute weiter der Gefahr auszusetzen gehackt zu werden.

Ihr könnt mir glauben, wenn ich Euch sage, daß sich da keiner eine leichte Entscheidung macht. Desöfteren brauchte es massives Schubsen, daß Updates ins Stable gepusht wurden, um schlimmeres zu verhindern.

Karma +3

Ihr habt jetzt gelernt, daß es nur 3 positiver Tests bedarf um ein Update an die User raus zuschicken ( Umschreibung für „ins Stable schieben“ ).

Es hat bei FF73 für F30 satte 2 Tage gebraucht, bis 3 Leute einen Test gemacht hatten. Wenn man bedenkt, daß es sich um ein kritisches Sicherheitsproblem in Firefox gehandelt hat, ist das eher armseelig(für die Menschheit). 3 Menschen von 8.000.000.000 oder auch 0,000000037% der Menschheit.

Dafür das Fedora in den Jahren 2016-2018 4 Millionen Abrufe von Updates pro Monat hatte, Spiegelserver bei Unis nicht miteinbezogen, sollte man doch annehmen, daß es ein paar mehr Benutzer gibt, die da mal 3 Minuten für einen Test übrig haben, besonders, wenn es um Ihre persönliche Sicherheit geht, oder?

Wie wird man jetzt überhaupt Tester?

Jetzt der Teil, der für Mensch Nr. 4 aufwärts gedacht ist, die Antwort auf die Frage, wie man denn Tester werden kann. Ihr braucht: das passende OS für Euren Test ( Fedora 30/31 ) und ein Emailprogramm.

Die Emailaddresse braucht es zum Anmelden bei Fedora, denn Tester bekommen auch Emails mit Updates zu dem, was sie da testen ins Haus. Das ist schon daher wichtig, weil man so sieht, ob man etwas vergessen hat zu testen. Sollte einem da ein Fehler unterlaufen sein, kann man sein Testergebnis auch nachbessern, selbst wenn das Update dann zurückgezogen wird:  Karma < -2 .

Wenn man sich hier angemeldet hat:

Die Loginmaske vom FAS System zu Anmelden, nichts spannendes, wenn man es nicht sehen kann.kann man schon loslegen. „Sign up now“ ist der Knopf für Euch, wenn Ihr noch keinen Login zum Fedora Authentication System „FAS“ habt. Mit so einem FAS Login kann man auch bei ASKFEDORA mitmachen, also der Plattform, die Fragen von Benutzern an Benutzer unterstützt. Und das wars schon. Mehr Aufwand ist nicht nötig um zu helfen.

Und was ist jetzt Koji?

Das ist i.d.R. meine Quelle, wenn ich wissen will, ob da schon eine Testversion unterwegs ist, oder nicht. Selbst wenn die Testversion den Test nicht bestanden hat oder aus anderen Gründen zurückgestellt wurde, kann man dort alle bekannten Versionen finden und downloaden.

Koji findet Ihr unter dieser Adresse: https://koji.fedoraproject.org/

Für Firefox sieht das derzeit so aus:

Eine Liste mit Updates von Fedora zu Firefox in verschiedenen Stadien und Versionen. Wer die Seite mit einem Screenreader aufsucht, kann am Namen der Updates genau erkennen um welche Version es sich handelt.Wie man leicht erkennen kann, kommt das selbst bei renommierten Programmen vor, das man die nicht gebaut bekommt ( rot ). Jeden der Builds oben könnt Ihr dort passend für Euren PC ( OS+Architektur) runterladen.

Da kann man z.b. auch so Sachen machen, wie „mit FF 69 liefs noch, aber ich habe meine Daten nicht exportiert vor dem Update“ schon zieht man sich die alte Version, installiert diese, macht noch alle nötigen Anpassungen an seinen Daten zum Export und updated dann wieder auf die aktuelle Version hoch.

Auf welchem anderen OS kann man das schon machen? 😉