まず、問題は、ユーザーが閉じるボタンをクリックし、端末自体(および端末で実行されているプロセス)がコマンドラインから起動したときにスクリプトが実行中であることをユーザーに通知する方法です。
スクリプトが終了する前にユーザーが元に戻す操作を実行するスクリプトがあります。ユーザーが[enter]を押すまでプロセスを一時停止する読み取りステートメントがあります。しかし、不運なユーザーは時々右上の閉じるボタン[x]をクリックすることがあります。閉じるボタンをつかむトラップが見つかりませんでしたが、警告は問題ありません。 gnome 端末は必要な警告を提供します。
しかし、、この機能は、gnome-terminalがスクリプト(Thunarカスタムタスクなど)で実行されている場合は機能しません。これを明確にするには、次のスクリプトを検討してください。
gnome-terminal --command="sh readx.sh"
ここで readx.sh には 1 行が含まれます: read x
右上の[x]ボタンをクリックすると、このように実行された端末は、スクリプトがアクティブな間に警告なしに閉じます。
トラッピングや警告方法はすべて私にとって効果的です。
ベストアンサー1
はい! zenityのヒントを含めると私にうまくいきます。 nohupを使用してzenityプロンプトを含むスクリプトを実行すると、必要に応じてスレッドがブロックされます。