シェルスクリプトはKDEとターミナルで動作が異なります

シェルスクリプトはKDEとターミナルで動作が異なります

次の EFI ブートを変更して再起動を実行するために作成したシェル スクリプトがあります。ターミナル ウィンドウで実行すると正常に動作しますが、KDE ​​のアイコンを使用して実行すると、再起動はしますが、次の efiboot は変更されません。アイコンを root として実行するように設定してみましたが、違いはありませんでした。

スクリプトはこちら

#!/bin/bash
kdialog --title "Windows の再起動プロンプト" --yesno "Windows を再起動してもよろしいですか?";
[ $? = 0 ]の場合
    sudo efibootmgr -n 0
    リブート
それ以外
    kdialog --msgbox "ユーザーによって再起動が中止されました"
フィ

efibootmgr と再起動の間に一時停止することを提案した人もいましたが、それも機能しませんでした。

答え1

それがあなたが探しているものかどうかはわかりませんが、ターミナルを起動してアイコンからスクリプトを実行することを検討しましたか。

アイコンを右クリック > アイコン設定 > アプリケーション > コマンド:

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

あるいは、何らかの理由でウィンドウを開いたままにする必要がある場合は、-noclose

関連情報