2

こんにちは、トレイ アプリケーションとデーモン アプリケーション サービスを備えた Linux(ubuntu) 用の Java アプリケーションを作成しています。

yajswを使用してメインアプリケーションをデーモンとして実行できます。システムへのユーザーログイン時に、達成されたことをサービスに通知したいです(スクリプトを作成し/etc/profile.d/、そこからスクリプトが実行されるフォルダーに配置しましたTCP ソケット接続を使用してメイン アプリケーションに接続し、ログインしているユーザー名を渡します)

ここで、メイン アプリケーションから、現在ログインしているユーザー デスクトップでトレイ アプリケーションを起動します。これにより、トレイ アイコン (SystemTrayjava.awt) とポップアップ メニューが表示されます。トレイ アプリケーション用に別のjarファイルを作成しました。

4

2 に答える 2

1

1 つの方法は、別のプロセスでトレイ アプリケーションを起動することです。

Process p = Runtime.
               getRuntime().
               exec(new String[]{"bash","-c","java -jar /path/to/yourjar"});

または、OS をそのまま使用することもできます。Gnome、KDE、および Unity はすべて、ログイン時のアプリケーションの自動起動をサポートしています。たとえば、Gnome では、~/.config/autostart/ログイン時にスクリプトが自動的に開始されます。

個人的には、私は行くのが最善の方法だと思います

  1. OS を使用して、ログイン時にシステム トレイ アプリケーションを自動的に起動する
  2. 初期化中に、デーモンがシステム トレイ アプリケーションから実行されているかどうかを確認します。
  3. デーモンからの更新を表示するか、デーモンが利用できない場合は警告を表示します
于 2013-11-13T10:32:40.887 に答える