[gelöst] Messagebox via script für User

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

[gelöst] Messagebox via script für User

Beitrag von joe2017 » 13.07.2023 07:25:51

Guten Morgen zusammen,

ich möchte in Kürze meine Debian PCs von bullseye auf bookworm updaten. Dies wird mittels Script im Hintergrund passieren.
Hierfür würde ichgerne meinen Anwendern eine Messagebox anzeigen, dass Updates installiert werden und der PC anschließend neu gestartet wird.

Hierfür würde ich gerne die Debian (GNOME) Boardmittel verwenden. Also kein YAD oder ähnliches.
Kennt jemand ein Terminal Befehl hierzu? Ich hab nicht gefunden wie ich die Debian (GNOME) Default Info Fenster generieren kann.

Vielen Dank :-)
Zuletzt geändert von joe2017 am 13.07.2023 11:11:22, insgesamt 1-mal geändert.

Benutzeravatar
TRex
Moderator
Beiträge: 8085
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Messagebox via script für User

Beitrag von TRex » 13.07.2023 07:41:49

Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Messagebox via script für User

Beitrag von joe2017 » 13.07.2023 07:43:57

Ist zenity standardmäßig installiert?

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Messagebox via script für User

Beitrag von uname » 13.07.2023 08:10:47

Es gibt den Befehl /usr/bin/wall (Debiancoreutils, damit standardmäßig installiert), um allen angemeldeten Benutzern eine Info aufs Terminal zu schicken. Habe ich aber wohl seit +20 Jahren nicht mehr verwendet. Ich weiß aber nicht, ob GNOME-Anwender ohne offenes Terminal die Meldung erhalten. Haben deine Anwender kein WhatsApp. :facepalm:
wall "The system will be restarted in 10 minutes."
Broadcast message from root@linuxize.host (pts/0) (Sun Oct 4 19:22:07 2020):

The system will be restarted in 10 minutes.
Quelle

Benutzeravatar
TRex
Moderator
Beiträge: 8085
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Messagebox via script für User

Beitrag von TRex » 13.07.2023 08:22:02

joe2017 hat geschrieben: ↑ zum Beitrag ↑
13.07.2023 07:43:57
Ist zenity standardmäßig installiert?
Ich denke nicht. Ist das ein Hindernis? Das Tool ist maßgeschneidert für dein Problem.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Messagebox via script für User

Beitrag von MSfree » 13.07.2023 08:48:42

uname hat geschrieben: ↑ zum Beitrag ↑
13.07.2023 08:10:47
Ich weiß aber nicht, ob GNOME-Anwender ohne offenes Terminal die Meldung erhalten.
Das betrifft nicht nur Gnome Anwender. Wer in seiner graphischen Umgebung, egal ob twm, icewm, mwm, LXDE, XFCE, KDE, Gnome.... kein Terminal aufhat, bekommt keine Meldungen via wall angezeigt.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Messagebox via script für User

Beitrag von MSfree » 13.07.2023 08:53:21

joe2017 hat geschrieben: ↑ zum Beitrag ↑
13.07.2023 07:43:57
Ist zenity standardmäßig installiert?
Unter Debian ist fast nichts standardmäßig installiert. Wenn man etwas zusätzlich braucht, weil es im Moment nicht installiert ist, nimmt man halt kurz apt-get und holt es sich. Wo ist das Problem?

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Messagebox via script für User

Beitrag von joe2017 » 13.07.2023 09:36:29

Ich wollte einfach die Boardmittel verwenden damit ich nichts mit sudo Rechten installieren muss.
Das System gibt doch auch Info Boxen aus. Das muss man doch selber nutzen können.
Ich möchte, dass die Info auf dem Desktop erscheint bis das Update abgeschlossen ist. Der Benutzer soll das Fenster nicht schließen können.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Messagebox via script für User

Beitrag von MSfree » 13.07.2023 09:50:31

joe2017 hat geschrieben: ↑ zum Beitrag ↑
13.07.2023 09:36:29
Ich wollte einfach die Boardmittel verwenden damit ich nichts mit sudo Rechten installieren muss.
Es gibt in Debian keine "Bordmittel", weil einfach nichts garantiert da ist, nichtmal die bash. Es ist zwar sehr wahrscheinlich, daß sie da ist, aber eben nicht garantiert und einige nutzen auch alternative Shells.

Man kann einfach nie voraussetzen, daß etwas bereits vorhanden ist, dann muß man es halt mit root-Rechten nachinstallieren. Das ist nunmal eine der typischen Aufgabe eines Systemadmins. sudo-Rechte für Normalnutzer sind dafür weder nötig noch sinnvoll.
Das System gibt doch auch Info Boxen aus.
Was bitte ist "das System"?
Mein Debian tut das nicht, wo wir wieder dabei sind, daß nichts garantiert ist. Debian ist nunmal heterogen und nicht wie Windows nur eine "alternativlose" Umgebung.

Das Debian Repository bringt über 60000 Softwarepaket mit, die man als Bordmittel betrachten kann. Allerdings sind eben oft nur ein paar hundert davon als Pakete auf der lokalen Festplatte installiert.

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Messagebox via script für User

Beitrag von joe2017 » 13.07.2023 10:08:10

Ich rede davon, dass Debian mit GNome Fenster anzeigt. Und sei es nur den Dateiexplorer. Hier wird doch eine grafische Shell verwendet.
Jetzt war die Frage ob ich diese nicht ansprechen kann um eine Meldung auszugeben? Somit muss ich nichts installieren.

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Messagebox via script für User

Beitrag von joe2017 » 13.07.2023 10:28:40

andere Frage... Kann ich mit einem Script welches als sudo ausgeführt wird einen Dialog auf dem Desktop eines Speziellen Users (Benutzername: Gast) anzeigen lassen?

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Messagebox via script für User

Beitrag von MSfree » 13.07.2023 10:39:46

joe2017 hat geschrieben: ↑ zum Beitrag ↑
13.07.2023 10:08:10
Ich rede davon, dass Debian mit GNome Fenster anzeigt. Und sei es nur den Dateiexplorer. Hier wird doch eine grafische Shell verwendet.
Nein, hier wird keine (graphische) Shell verwendet sondern eigenständige Executables.
Jetzt war die Frage ob ich diese nicht ansprechen kann um eine Meldung auszugeben? Somit muss ich nichts installieren.
Nein, du kannst fest in Executables kompilierte Fenster nicht von aussen aufrufen. Du brauchst ein eigentständiges Programm, das dir, von mir aus skriptgesteuert, Fenster anzeigt. Und diesess eigenständige Programm mußt du installieren.
Kann ich mit einem Script welches als sudo ausgeführt wird
Skripte werden nicht als sudo ausgeführt, sondern mit dem Programm sudo. In der Regel sorgt das Programm sudo dann dafür, daß der folgende Befehl mit root-Rechten ausgeführt wird.
...einen Dialog auf dem Desktop eines Speziellen Users (Benutzername: Gast) anzeigen lassen?
Sowas ist sehr unzuverlässig, weil nicht garantiert werden kann, daß der Benutzer gerade eingelogt ist.

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Messagebox via script für User

Beitrag von joe2017 » 13.07.2023 11:11:10

Dann werde ich das mit YAD lösen. Das hatte ich bereits auf anderen Systemen im Einsatz.
Dachte es gibt etwas, was bereits installiert ist.

Trotzdem Danke für alles.

Hab es soeben mal getestet. Funktioniert alles wie geplant. :THX:

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Messagebox via script für User

Beitrag von JTH » 13.07.2023 11:11:50

MSfree hat geschrieben: ↑ zum Beitrag ↑
13.07.2023 09:50:31
Es gibt in Debian keine "Bordmittel", weil einfach nichts garantiert da ist, nichtmal die bash. Es ist zwar sehr wahrscheinlich, daß sie da ist, aber eben nicht garantiert und einige nutzen auch alternative Shells.

Man kann einfach nie voraussetzen, daß etwas bereits vorhanden ist,
Na, da ist aber schon sehr radikal formuliert. Es gibt ja immerhin die essentiellen Pakete (siehe apt list '~E', die Bash gehört dazu), die auf einem Debian-System als garantiert installiert angenommen werden können. Eigentlich sogar als installiert angekommen werden müssen, denn andere Pakete dürfen laut Debian-Policy die Inhalte von essentiellen Paketen voraussetzen, ohne explizit von ihnen abzuhängen:
https://www.debian.org/doc/debian-policy/ch-binary.html#essential-packages hat geschrieben: Packages may assume that functionality provided by essential packages is always available without declaring explicit dependencies […]
Natürlich kannst du apt überreden, auch essentielle Pakete zu deinstallieren. Aber dann näherst du dich irgendwann eher einem Linux from Scratch oder so, als einer Debian-Installation und deren Eigenheiten.
Manchmal bekannt als Just (another) Terminal Hacker.

Antworten