私のbashスクリプトをGUIアプリケーションに100%似ているようにするにはどうすればよいですか(ユーザーは端末を見ることができません)

私のbashスクリプトをGUIアプリケーションに100%似ているようにするにはどうすればよいですか(ユーザーは端末を見ることができません)

kdialogを使用してbashスクリプトを作成しました(Kubuntu 12.04で実行されています)。 GUIは、すべてのユーザー対話(最初の対話以降)に使用されます。ただし、ユーザーが端末出力を読み取ったり、端末に何も入力したりする必要はありませんが、スクリプトは端末から起動する必要があり、端末は表示され続ける必要があります。次のステップに進み、私のbashスクリプトをKDE Guiアプリケーションと100%似ているようにする簡単な方法はありますか?

以下のslmとIlya Ananyevの元の答えから.desktopファイルを作成することがうまくいくことがわかりました。これは私にとって素晴らしいことです。これが私が探していた簡単な答えです。 (私はランチタイムに完了し、bashスクリプトが実際のGUIアプリケーションのように見えるようにすることを望んでいました。)この質問を読んでいる他の読者にとって、.desktopファイルは正解かもしれません。

しかし、私の特別なケースでは、スクリプトはインストーラスクリプトです。だから私はキャッチ22に陥った。ユーザーが最初に.desktopファイルの他のインストーラを実行する必要なく、.desktopファイルをインストールしてインストーラを起動するにはどうすればよいですか?

また、私の場合、エンドユーザーはスクリプトを使用します。いいえコンピュータ活用能力。エンドユーザーは、私が推奨したようにLinuxがプリインストールされているコンピュータを購入しました。私の目標は、彼らが端末にまったく行かずに私のソフトウェアをインストールすることです。 (おそらく彼らは以前にコマンドプロンプトを見たことがないでしょう。

したがって、私の解決策には、ユーザーがそのファイルをクリックしてインストーラスクリプトを起動できるように、.desktopファイルをインストールする魔法のような方法が必要なようです。

要約すると、私の主な要件は次のとおりです。

  1. 端末を表示せずにスクリプトを起動する方法です。.desktopファイルはこれを行います。
  2. 実行中に端末を非表示にする方法です(完全にkdialogに依存しているため)。.desktopファイルはTerminal=falsesetを介してこれを行います。
  3. (オプション) ユーザーが sudo パスワードを入力する安全な方法です。 kdialogパスワード入力ダイアログボックスについて知っていますが、使い方ははい私は安全ではないことを見たことがあります。kdesudoは解決策かもしれませんが、X分の一般的な/デフォルトのsudoタイムアウトを無視し、パスワードを何度も再度求めるメッセージを表示します。だからそれは私には効果がありません。
  4. ランチタイムに実装するのに十分簡単です。.desktopファイルはこれを行います。
  5. kdialogで既存のbashスクリプトを使用します。.desktopファイルはこれを行います。
  6. ユーザーがスクリプトを実行する前に追加の設定手順を実行する必要はありません。KDEユーザーはどこにある.desktopファイルをクリックできることがわかりました。したがって、ユーザーは.desktopファイルを〜/ダウンロードフォルダにダウンロードしてそこから実行できます。

答え1

私が正しく理解してほしいです。既存のスクリプトの実行プログラムだけが必要です。その場合は、スクリプト用の小さな .desktop ファイルを作成して ~/.local/share/applications または /usr/share/applications に保存してみてください。例は次のとおりです。

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Sample Application Name
Comment=A sample application
Exec=application
Icon=application.png
Terminal=false

さらに、(ある種のインストーラを作成したい場合)、インストールスクリプトからそれを生成できます。

関連情報