Shell-Skript funktioniert in KDE anders als im Terminal

Shell-Skript funktioniert in KDE anders als im Terminal

Ich habe ein Shell-Skript erstellt, das den nächsten EFI-Boot ändert und dann einen Neustart ausführt. Wenn ich es in einem Terminalfenster ausführe, funktioniert es einwandfrei, aber wenn ich es über ein Symbol in KDE ausführe, wird zwar ein Neustart durchgeführt, aber der nächste EFI-Boot wird nicht geändert. Ich habe versucht, das Symbol so einzustellen, dass es als Root ausgeführt wird, aber das hat keinen Unterschied gemacht.

Hier ist das Skript

#!/bin/bash
kdialog --title "Neustart mit Windows-Eingabeaufforderung" --yesno "Möchten Sie wirklich einen Neustart mit Windows durchführen?";
wenn [ $? = 0 ]; dann
    sudo efibootmgr -n 0
    Neustart
anders
    kdialog --msgbox "Neustart vom Benutzer abgebrochen"
fi

Jemand hat sogar vorgeschlagen, eine Pause zwischen dem Efibootmgr und dem Neustart einzulegen, aber das hat auch nicht funktioniert.

Antwort1

Ich bin nicht sicher, ob es das ist, wonach Sie suchen, aber haben Sie schon einmal darüber nachgedacht, ein Terminal zu starten und Ihr Skript von einem Symbol aus auszuführen?

Klicken Sie mit der rechten Maustaste auf das Symbol > Symboleinstellungen > Anwendung > Befehl:

konsole -e /path/to/your/script.sh

Oder wenn Sie das Fenster aus irgendeinem Grund geöffnet halten müssen, verwenden Sie-noclose

verwandte Informationen