• Café
  • Automatisiertes Paketupgrade

Danke! Ja, das kannst du so machen.
Arch und Endeverous sind hier unterschiedlich.
Bei Plasma bin ich auf tty1 und einem pseudoterminal (pts) gelistet.
Das + Zeichen zeigt übrigens an, auf welchem Terminal messages empfangen werden können.

Zur 1. Befehlszeile:

  • who -T zeigt die + und - Werte mit an.
  • | ist eine Pipe und ist dafür da, die Ausgabe vom einem Befehl dem nächsten zu übergeben.
  • awk '{print $1}' zeigt die erste Spalte an.
  • awk '/+/{print $1}' zeigt die erste Spalte an. davon aber nur die Zeilen in denen das + Zeichen vorkommt.
  • head -1 zeigt nur die erste Zeile an, und wird dafür benötigt falls das + mehrmals auftauchen sollte, was bei mir bei Plasma auch der Fall ist.
  • Wie die Variable heißt, ist übrigens egal, solange der Name nicht schon belegt ist.

Probier doch bitte nochmal dass folgende aus. Ich hätte gern das + Zeichen als Kriterium mit drin. Das sieht dann so aus:

send() {
TUSER=$(who -T | awk '/+/{print $1}' | head -1)
sudo -u $TUSER DISPLAY=$DISPLAY DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u $TUSER)/bus notify-send "$@"
}

    tuxnix
    Hallo
    Mit dieser send() Funktion ist es auch OK das Script läuft als User der nächste Update Termin ist in 115 Stunden.

    Das script läuft hoffentlich als root und sendet dem user Mitteilungen. (Nur mal so bemerkt 😉 )

    • md_39118 hat auf diesen Beitrag geantwortet.

      tuxnix
      Hallo
      Das script läuft als root, die Meldung sieht der User(ralf) so lese ich zumindest den Journal Eintrag von gestern.

      journalctl -f
      Aug 28 15:18:42 rk-7072 sudo[1380]:     root : PWD=/ ; USER=ralf ; ENV=DISPLAY= DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus ; COMMAND=/usr/bin/notify-send 'Sichere geöffnete Dokumente!' '<b>Führe # pacman -Syu auf der Konsole aus!</b>\\n<b>Nach dem Upgrade:</b>\\n<b>Programme in Benutzung neu starten!</b>\\n<b>Nächstes Auto-Upgrade frühestens in 121 h.</b>\\n11 Paket(e): <i>1.box2d 2.cifs-utils 3.cpio 4.eos-apps-info 5.glib2 6.glibmm-2.68 7.haruna 8.kmod 9.libnm 10.libreoffice-fresh 11.networkmanager</i>' -t 0 -u normal

      Mit sway kann ich mich nicht anfreunden, die ersten Versuche mit waybar, wofi usw. nach einen Artikel im LinuxUser 7/24 sind ernüchternd.

      Alles richtig!
      Hab das nur mal deshalb bemerkt, weil der Sinn bzw. auch die Schwierigkeit von der send () Funktion ja gerade darin besteht vom root aus eine Botschaft an den jeweils eingeloggten User zu verschiecken. Als User gibst du auf der Konsole lediglich ein notify-send "Hallo" "Du" ein und die Nachricht erscheint.

      Würde das Skript als User laufen bräuchte es die send () Funktion nicht!

      Du kannst auch mal mit den Befehlen (siehe oben) auf der Konsole spielen, nur um zu sehen was damit passiert : 😉
      ẁho -T | awk '/+/ {print $1,$2}' und dann mal /+/ weglassen und auch mal die nächste pipe dranhängen. Hinterher steht dann auf der Konsole ein schlichtes ralf und genau das wird gebracht um es per Variable in die 2. Zeile an die richtigen Stellen zu schreiben.

      Habe gerade das Skript und den Service in Post tuxnix aktualisiert. (siehe changelog). Bis auf die präzise Berechnung, wann das Auto-Upgrade stattfindet, ist für dich nichts Neues dabei. Die erfahreneren Arch Linux User können aber jetzt auch die Auto-Upgrades und die anleitenden Mitteilungen einzeln aus- bzw. einschalten. Und können das Skript jetzt dafür nutzen, lediglich die neuen Paket-Upgrades automatisch angezeigt zu bekommen.

      Was sway betrifft so ist es in der Rohversion sehr spartanisch. Wenn die Arbeit am Skript mal beendet ist, zeige ich dir meine Einrichtung von sway, die es durchaus mit Plasma aufnehmen kann aber weniger Anleitung benötigt und viel weniger Ressourcen auf schwachen Rechnern in Beschlag nimmt.

      Hier mal eine Voransicht der Bedienleiste:

      Rechts werden Infos angezeigt: Bluethooth, W-/LAN, RAM-Nutzung, CPU-Last, TEMP, Akku, Lautstärke. Ein Klick auf das jeweilige Symbol erlaubt weitere Einstellungen oder öffnet bei der RAM-Anzeige das Programm htop welches benötigt wird um dem aktuellen RAM Verbrauch zu analysieren.

      In der Mitte Uhrzeit, WoTag, Datum - 1Klick s erscheint ein Kalender.

      Links: Stehen die geöffneten Programme. Sway startet bei mir schon standartmäßig mit geladenem Browser, E-mail, File-Manager, Terminal, Fehrnsehprogramm ect. - Zu Bedienen per Mausklick oder Tastatur. Z.B.: mod+b öffnet das Browserfenster..

      Und weil das Ganze incl. geöffneter Programme weniger RAM benötigt als Plasma oder GNOME ohne Programme, bin ich auf einem ausrangierten ollen 15 Jahre alten Rechner mit nur 2GB RAM fast noch schneller unterwegs als jemand der ca. 500€ ausgibt.

      So long

      • md_39118 hat auf diesen Beitrag geantwortet.

        tuxnix
        Hallo
        Der Pc für meine Freunde ist nicht ganz so alt, immerhin eine i5 CPU und 8Gb RAM damit läuft Plasma(x11) gut.
        Im Moment ist die waybar mit den Standard Anzeigen aktiv, sway ist auf DE eingestellt, Programme werden nicht mit gestartet.

        Mit Plasma
        free -h
                      gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
        Speicher:      7,7Gi       1,1Gi       5,9Gi        38Mi      1,1Gi       6,6Gi
        Swap:             0B          0B          0B
        #
        Mit sway
        free -h
                      gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
        Speicher:      7,7Gi       598Mi       6,2Gi        1Mi       1,3Gi       7,1Gi
        Swap:             0B          0B          0B

        Das sieht bei mir ganz anders aus, allerdings läuft er schon länge Zeit und etliche Progs und Internet Seiten sind geöffnet :

        free -h
                      gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
        Speicher:      1,8Gi       1,6Gi       149Mi       113Mi       374Mi       260Mi
        Swap:          8,0Gi       2,3Gi       5,7Gi

        Und trotz lahmer 2 Kern CPU und den Missbrauch der SSD als RAM-Ersatz behaupte ich, dass mein Rechner mit Sway reagibler läuft, als der deinige mit Plasma.
        1,1 Gi zu 600 Mi bedeutet auch, dass viel weniger gerechnet werden muss wenn was auf der GUI geschehen soll. Auf meinen Rechner läuft auch Plasma, braucht lange bis es gestartet ist und läuft dann etwas zäher. Aber bei GNOME ohne Anwendungen läuft der Lüfter schon dauerhaft im Leerlauf hoch.
        Ohne Anwendungen sind es bei mir auch nur gut 300MB im RAM wenn sway allein gestartet wird.

        • md_39118 hat auf diesen Beitrag geantwortet.

          tuxnix
          Hallo
          Ich habe vorhin die Version 8 von ureminder getestet, dort ist ein Fehler beim Datum zu sehen.

          journalctl -f
          Aug 30 17:32:11 rk-7072 systemd[1]: Started ureminder.service.
          Aug 30 17:32:11 rk-7072 ureminder[1236]: Display message: After upgrade: Do.. - ON
          Aug 30 17:32:11 rk-7072 ureminder[1236]: Display message: Save your Documents & pacman -Syu - ON
          Aug 30 17:32:11 rk-7072 ureminder[1236]: Display message: Next upgrade in x hours - ON
          Aug 30 17:32:11 rk-7072 ureminder[1236]: Auto upgrade - days=7 - ON
          Aug 30 17:32:11 rk-7072 ureminder[1243]: date: ungültiges Datum „-TFri“
          Aug 30 17:32:11 rk-7072 ureminder[1248]: date: ungültiges Datum „448msTago“
          Aug 30 17:32:11 rk-7072 ureminder[1236]: /usr/local/bin/ureminder: Zeile 85: NEXT/PERIOD: Division durch 0. (Fehlerverursachendes Zeichen ist "PERIOD").
          Aug 30 17:32:11 rk-7072 ureminder[1236]: Next upgrade in 479175 h 27 m
          Aug 30 17:32:12 rk-7072 ureminder[1257]: ==> no candidate packages found for pruning
          Aug 30 17:32:12 rk-7072 ureminder[1266]: ==> finished: 5 packages removed (disk space saved: 179.88 MiB)

          Ja, ich weiß! Neue Funktion, neuer Bug. Da komme ich leider auch nicht drum herum.
          Die Tücken bemerkt man erst, wenn man neue Wege beschreitet.
          Es klappt prima, wenn # ureminder -tabsd 5 auf der Konsole initiiert wird.
          Dann werden Stunden und Minuten auch korrekt angezeigt.
          Wenn der Timer das Skript auslöst, dann nicht. Systemd ist offenbar zu lahm um sofort die neuen Zeiten von NEXT und LAST korrekt wiederzugeben. Habe die Zeitberechnung extra schon nach unten im Skript verlagert, um systemd dafür mehr Zeit einzuräumen, was aber auch nichts nutzt.

          Schau dir auch mal die b Option an, damit kannst dem Skript beim Rechnen zuschauen.
          Wenn dich die falsche Zeitberechnung stört, dann nimm das t bei den Optionen raus.
          Die deutsche Übersetzung folgt wenn das behoben ist.

          5 Tage später

          Hab jetzt die Lösung für die korrekte Zeitangabe, aber ich werde das erst einmal noch besser testen müssen bevor ich es herausgebe. Leider fehlt mir momentan die Zeit dafür.
          Und die Anzeige der Arch-Linux-News ist auch schon auf dem Weg.
          Diese Nachricht nur um mal kurz über den Stand der Dinge Bescheid zu geben.

          • md_39118 hat auf diesen Beitrag geantwortet.

            tuxnix
            Hallo
            Danke für die Info und viel Erfolg mit der neuen Lösung.
            Der Stand bei mir, ohne den Schalter -t und mit -b läuft das Script und gibt alle Debug Meldungen aus.
            Als Test habe ich nur die Zeitberechnung mal als Script gestartet, das sieht auch gut aus.

            systemctl list-timers
            sleep 3
            days="7"
            NOW=$(date --date='now' +%s)
            UPAC=$(date -d $(awk '/upgraded/ { print $1 }' /var/log/pacman.log | tail -1 | sed -e 's/\[//' -e 's/\]//') +%s)
            NTIMER=$(date -d $(systemctl list-timers shadow.timer | awk 'NR>1 && NR<3{print $2,$3}' | sed -e 's/ /T/') +%s)
            LTIMER=$(date -d $(systemctl list-timers shadow.timer | awk 'NR>1 && NR<3{print $7,$8}' | sed -e 's/ /T/') +%s)
            NEXT=$((days*86400+UPAC-NOW))
            PERIOD=$((NTIMER-LTIMER))
            COUNTS=$((NEXT/PERIOD))
            HOURS=$(( (NOW-LTIMER+PERIOD*COUNTS) / 3600))
            REST=$(( (NOW-LTIMER+PERIOD*COUNTS) % 3600))
            MINUTES=$(( (3600-REST) / 60))
            sleep 3
            echo $NOW
            echo $UPAC
            echo $NTIMER
            echo $LTIMER
            echo $NEXT
            echo $PERIOD
            echo $COUNTS
            echo $HOURS
            echo $REST
            echo $MINUTES
            echo $"Next upgrade in $HOURS h $MINUTES m"

            Hier die Ausgabe.

            sudo ureminder-test
            NEXT                             LEFT LAST                            PASSED UNIT                             ACTIVATES
            -                                   - Wed 2024-09-04 14:34:05 CEST  6min ago ureminder.timer                  ureminder.service
            
            1725453656
            1725218464
            1725487200
            1725452947
            369608
            34253
            10
            95
            1239
            39
            Next upgrade in 95 h 39 m

            Ja, es rechnet und bekommt jetzt auch immer zuverlässig Ausgangswerte aus dem journal geliefert, aber es rechnet in einigen Fällen je nach Voreinstellung der Tage und des Timers noch falsch. Sorry, aber für die ganz banale Punkt und Strichrechnung bei zwei Uhren an denen man drehen kann, brauche ich den richtigen Moment an Ruhe.
            Gestern war die Beerdigung meiner Schwester und meine Konzentration ist gerade auf ganz andere Dinge gerichtet. Wenn dieser Moment kommt, dann geht's dann auch schnell wieder mit dem ein mal eins weiter. 😉

              15 Tage später

              Hallo
              Ist es möglich, das bei einer Frage am Anfang des Updat Vorgangs das Script nicht richtig reagiert.
              Am 15.9.24 ist zb. diese Frage gekommen und wurde nicht mit "J" beantwortet, danach kommen dann einige Fehler Meldungen.
              Eine initramfs wird nicht geschrieben.

              Sep 15 10:11:06 rk-7072 ureminder[1305]: :: mlocate durch extra/plocate ersetzen? [J/n]
              Sep 15 10:25:53 rk-7072 ureminder[1305]:  okular-24.08.1-1-x86_64 wird heruntergeladen …
              Sep 15 10:25:53 rk-7072 ureminder[1305]: Fehler: Konnte Datei 'okular-24.08.1-1-x86_64.pkg.tar.zst.sig' nicht von mirrors.neusoft.edu.cn übertragen : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds

              Erst nach dem Aufruf von "sudo pacman -Syu" und dem Beantworten der Frage mit "J" läuft das Update durch und die initramfs werden geschrieben.

              Das Skript benutzt die Option --noconfirm.
              Schau mit pacman --help mal nach was das bedeutet.
              .....Es bedeutet, dass ein großes J automatisch bestätigt wird.
              Ein großes N übrigens auch.

              Zusätzlich würde dir im Falle einer fehlerhaften Ausführung sofort eine Warnmeldung angezeigt werden mit folgendem Inhalt: Fehler: Zur Analyse gebe `pacman -Syu auf der Konsole ein.

              Ich weiß nicht woran es bei dir lag. Aber daran, dass das J nicht automatisch bestätigt wurde jedenfalls nicht. Und ansonsten ist ja alles o.K. denn sonst würde auch ein pacman -Syu auf der Konsole Fehler ausgeben.

              • md_39118 hat auf diesen Beitrag geantwortet.

                tuxnix
                Hallo
                Die Option --noconfirm ist mir bekannt. Eine Warnmeldung wurde nicht angezeigt.
                Der Ablauf war jedenfalls anders als bisher. Der erste Versuch startet "Sep 15 10:05:03" Hier Auszüge aus den Log Dateien.

                Sep 15 10:05:03 rk-7072 systemd[1]: Started ureminder.timer.
                Sep 15 10:10:37 rk-7072 systemd[1]: Started ureminder.service.
                .
                Sep 15 10:11:06 rk-7072 ureminder[1305]: :: mlocate durch extra/plocate ersetzen? [J/n]
                Sep 15 10:11:06 rk-7072 ureminder[1305]: Abhängigkeiten werden aufgelöst …
                Sep 15 10:11:08 rk-7072 ureminder[1305]: Warnung: Abhängigkeits-Zyklus entdeckt:
                Sep 15 10:11:08 rk-7072 ureminder[1305]: Warnung: xdg-desktop-portal-kde wird vor seiner Abhängigkeit plasma-workspace installiert werden
                Sep 15 10:11:08 rk-7072 ureminder[1305]: Paket (123)                       Alte Version               Neue Version                 Netto-Veränderung  Größe des Downloads
                .
                Sep 15 10:25:53 rk-7072 ureminder[1305]:  intel-ucode-20240910-1-any wird heruntergeladen …
                Sep 15 10:25:53 rk-7072 ureminder[1305]: Fehler: Konnte Datei 'intel-ucode-20240910-1-any.pkg.tar.zst.sig' nicht von mirrors.neusoft.edu.cn übertragen : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
                Sep 15 10:25:53 rk-7072 ureminder[1305]: Warnung: Konnte einige Dateien nicht übertragen
                Sep 15 10:25:53 rk-7072 ureminder[1305]: Fehler: Der Vorgang konnte nicht durchgeführt werden (Unerwarteter Fehler)
                Sep 15 10:25:53 rk-7072 ureminder[1305]: Fehler sind aufgetreten, keine Pakete wurden aktualisiert.
                Sep 15 10:25:54 rk-7072 systemd[1]: ureminder.service: Deactivated successfully.
                Sep 15 10:25:54 rk-7072 systemd[1]: ureminder.service: Consumed 33.090s CPU time, 827.2M memory peak.

                Nach einiger Zeit erfolgte ein reboot, danach der zweite Versuch.

                Sep 15 11:06:33 rk-7072 systemd[1]: Started ureminder.timer.
                .
                Sep 15 11:12:34 rk-7072 ureminder[1264]:  systemd-resolvconf-256.6-1-x86_64 wird heruntergeladen …
                Sep 15 11:12:34 rk-7072 ureminder[1264]: Schlüsselbund wird geprüft …
                Sep 15 11:12:34 rk-7072 ureminder[1264]: Paketintegrität wird geprüft …
                Sep 15 11:12:44 rk-7072 systemd[1]: ureminder.service: Deactivated successfully.
                Sep 15 11:12:44 rk-7072 systemd[1]: ureminder.service: Consumed 14.546s CPU time, 893.2M memory peak.

                Hier dachte ich, es ist alles OK also wieder reboot, dann der dritte Versuch.

                Sep 15 11:44:42 rk-7072 ureminder[1268]: endeavouros/yad                   14.1-1.1                   14.1-2.1                             -0,01 MiB
                Sep 15 11:44:42 rk-7072 ureminder[1268]: endeavouros/yay                   12.3.5-1                   12.3.5-2                              0,37 MiB
                Sep 15 11:44:42 rk-7072 ureminder[1268]: Gesamtgröße des Downloads:  0,30 MiB
                Sep 15 11:44:42 rk-7072 ureminder[1268]: :: Download fortsetzen? [J/n]
                Sep 15 11:44:42 rk-7072 ureminder[1268]: :: Pakete werden empfangen …
                Sep 15 11:44:42 rk-7072 ureminder[1268]:  re2-1:20240702-2-x86_64 wird heruntergeladen …
                Sep 15 11:44:42 rk-7072 ureminder[1268]:  plocate-1.1.22-3-x86_64 wird heruntergeladen …
                Sep 15 11:44:42 rk-7072 ureminder[1268]: Schlüsselbund wird geprüft …
                Sep 15 11:44:42 rk-7072 ureminder[1268]: Paketintegrität wird geprüft …
                Sep 15 11:44:53 rk-7072 sudo[2136]:     root : PWD=/ ; USER=ralf ; ENV=DISPLAY= DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus ; COMMAND=/usr/bin/notify-send '121 package(s): 1.archlinux-keyring 2.ark 3.baloo-widgets 4.bluedevil 5.bluez 6.bluez-libs 7.bluez-utils 8.breeze 9.breeze-gtk 10.curl 11.dolphin 12.dolphin-plugins 13.ell 14.enchant 15.expac 16.ffmpegthumbnailer 17.ffmpegthumbs 18.fmt 19.fzf 20.gcc 21.gcc-libs 22.git 23.grub 24.gspell 25.gtk-layer-shell 26.gwenview 27.intel-ucode 28.iso-codes 29.iwd 30.jsoncpp 31.kaccounts-integration 32.kactivitymanagerd 33.kate 34.kcalc 35.kde-cli-tools 36.kde-gtk-config 37.kdeconnect 38.kdecoration 39.kdegraphics-mobipocket 40.kdegraphics-thumbnailers 41.kdenetwork-filesharing 42.kdeplasma-addons 43.kgamma 44.kglobalacceld 45.kinfocenter 46.kio-admin 47.kio-extras 48.kmenuedit 49.konsole 50.kpipewire 51.kscreen 52.kscreenlocker 53.ksystemstats 54.kwallet-pam 55.kwayland 56.kwayland-integration 57.kwin 58.layer-shell-qt 59.libarchive
                Sep 15 11:44:53 rk-7072 sudo[2136]:     root : (command continued) 60.libkdcraw 61.libkexiv2 62.libkscreen 63.libksysguard 64.libmanette 65.libplasma 66.libpng 67.libreoffice-fresh 68.librsvg 69.liburcu 70.linux 71.linux-headers 72.milou 73.ocean-sound-theme 74.okular 75.opencv 76.openssh 77.orc 78.pacman 79.pacman-contrib 80.pacutils 81.perl-uri 82.plasma-activities 83.plasma-activities-stats 84.plasma-browser-integration 85.plasma-desktop 86.plasma-disks 87.plasma-firewall 88.plasma-integration 89.plasma-nm 90.plasma-pa 91.plasma-systemmonitor 92.plasma-workspace 93.plasma5support 94.polkit-kde-agent 95.powerdevil 96.print-manager 97.protobuf 98.protobuf-c 99.pulseaudio-qt 100.python 101.python-pydantic 102.qqc2-breeze-style 103.qt6-webengine 104.sddm-kcm 105.signon-kwallet-extension 106.spdlog 107.spectacle 108.sudo 109.systemd 110.systemd-libs 111.systemd-resolvconf 112.systemd-sysvcompat 113.systemsettings 114.thunderbird 115.tzdata 116.vlc 117.waybar 118.wayland
                Sep 15 11:44:53 rk-7072 sudo[2136]:     root : (command continued) 119.xdg-desktop-portal-kde 120.yad 121.yay' 'Save open documents!\\nRun # pacman -Syu on terminal!\\nAfter upgrading:\\nNew linux version will run after your next system boot.\\n' -t 0 -u normal
                Sep 15 11:44:53 rk-7072 systemd[1]: ureminder.service: Deactivated successfully.
                Sep 15 11:44:53 rk-7072 systemd[1]: ureminder.service: Consumed 12.227s CPU time, 890.3M memory peak.

                Nach einen weiteren reboot war immer noch der alte Kernel aktiv, bisher wurde keine initramfs geschrieben.
                Nun der Aufruf in der Konsole dann erst war das Update komplett.

                sudo pacman -Syu 
                .
                :: Vollständige Systemaktualisierung wird gestartet …
                :: mlocate durch extra/plocate ersetzen? [J/n] j
                .
                :: Post-transaction-Hooks werden gestartet …
                ( 1/22) Creating system user accounts...
                Creating group 'alpm' with GID 960.
                Creating user 'alpm' (Arch Linux Package Management) with UID 960 and GID 960.
                .
                (12/22) Updating initramfs...
                :: Building initramfs for linux (6.10.10-arch1-1)
                dracut[I]: Executing: /usr/bin/dracut --force --hostonly --no-hostonly-cmdline /boot/initramfs-linux.img 6.10.10-arch1-1
                • tuxnix hat auf diesen Beitrag geantwortet.

                  md_39118 Nach einem reboot war immer noch der alte Kernel aktiv, bisher wurde keine initramfs geschrieben.

                  Danke für den Hinweis!
                  Es kann sein, dass Endevous die Post-transaction-Hooks anders als Arch gesetzt hat.
                  Ändere bitte die Zeile -
                  pacman -Su --noconfirm || Error="# pacman -Su"
                  im Skript in -
                  pacman -Syu --noconfirm || Error="# pacman -Syu"
                  dann ist das behoben.
                  Ich ändere das auch in der nächsten Version.

                  • md_39118 hat auf diesen Beitrag geantwortet.
                    9 Tage später

                    tuxnix
                    Hallo
                    Nach der Änderung läuft es gut, die Meldungen kommen in dieser Reihenfolge, die initramfs werden geschrieben.

                    Sep 29 10:22:03 rk-7072 sudo[2583]:     root : PWD=/ ; USER=ralf ; ENV=DISPLAY= DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus ; COMMAND=/usr/bin/notify-send 'Upgrade starts in 1 minute:' 'Save open documents!\\n' -t 0 -u normal -p
                    
                    Sep 29 10:23:03 rk-7072 sudo[2602]:     root : PWD=/ ; USER=ralf ; ENV=DISPLAY= DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus ; COMMAND=/usr/bin/notify-send Upgrading: 'Keep system running!' -t 0 -u critical -r 1 -p
                    
                    Sep 29 10:25:36 rk-7072 sudo[11662]:     root : PWD=/ ; USER=ralf ; ENV=DISPLAY= DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus ; COMMAND=/usr/bin/notify-send 'Upgrade successfull:' 'Restart applikations you\'re working with!\\n' -t 0 -u normal -r 1

                    Welche Script Version ist den im Moment aktuell?

                    Vielen Dank für deine Rückmeldung!

                    Die nächste Version wird 0.8 sein. 😉
                    (Die kommt wenn ich wieder Zeit habe. Meine Augen geht's inzwischen wieder gut, aber ich hab gerade jede Menge anderen Kram zu tun.
                    Die übernächste Version 0.9 hat dann auch die Abfrage der Arch-News mit drin.
                    (Eigentlich ist diese Funktion auch schon fertig und funktioniert. Allerdings darf ich das nicht einfach so integrieren, weil das Skript mit Root-Rechten laufen muss. Deshalb muss ich jetzt docker lernen, damit die Abfrage der Arch-News in einem Container und vom übrigen System getrennt abläuft. Wenn ich das nicht mache, würde die Arch-News-Seite zum Angriffsziel für sportliche Hacker werden um darüber Code einzuschleusen, der anschließend dann mit Root-Rechten auf meinem und deinem Computer alles ausführen kann was dem Hacker so einfällt).

                    Hier ist das Skript für die Abfrage der letzten Arch-Linux-News.
                    Mit userrechten ausgeführt ist es völlig gefahrlos:

                    #!/bin/bash
                    
                    
                    PAGE=$(curl -s $URL https://archlinux.org/news/)
                    DATE=$(echo "$PAGE" | awk '/<td>/ {print $0}' | head -1 | sed -e 's/<td>//' -e 's/<\/td>//'| xargs)
                    HREF=$(echo "$PAGE" | awk '/<td class="wrap">/ {print $0}' | head -1 | sed -e 's/<a href=//' -e 's/<td class="wrap">//' | xargs)
                    TITLE=$(echo "$PAGE" | awk '/title="View:/ {print $0}'| head -1  | sed -e 's/<\/td>//' -e 's/title="View:.*">//' | xargs)
                    
                    
                    TUSER=$(who -T | awk '/+/{print $1}' | head -1)
                    sudo -u $TUSER DISPLAY=$DISPLAY DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u $TUSER)/bus notify-send " " "$DATE: <a href='$HREF'>$TITLE" -t 0 -u normal

                    P.S.: Wenn jemand etwas gescheiteres wie docker einfällt, dann bitte gerne. Ich mach das zum ersten mal.


                    • md_39118 hat auf diesen Beitrag geantwortet.

                      tuxnix
                      Hallo
                      Eine gute Idee die Abfrage der Arch-News vor dem Update, schade das es mit der Deutschen Startseite nicht geht.

                      • tuxnix und Dirk haben auf diesen Beitrag geantwortet.