プログラムで.desktopファイルを生成して自動的にアプリケーションを実行する

プログラムで.desktopファイルを生成して自動的にアプリケーションを実行する

Javaプログラムを使用して、ユーザーがログインしたときにスクリプトを実行する.desktopファイルを追加しました。/etc/xdg/autostartユーザーがログインしてもスクリプトは実行されておらず、アプリケーションの起動ダイアログボックスを手動で確認してもスクリプトは追加されません。

私が追加したファイルは、/etc/xdg/autostart/Startup.desktopユーザーがログインしたときに実行したいスクリプトです/usr/bin/Startscript。デスクトップファイルを追加するために書いたコードは次のとおりです。

private void writeDesktopFile() {

        File f = new File("/etc/xdg/autostart/Startup.desktop");
        if (!(f.exists())) {
            try {
                f.createNewFile();
                BufferedWriter bw = new BufferedWriter(new FileWriter(f, true));
                bw.write("[Desktop Entry]");
                bw.newLine();
                bw.append("Name=Startup");
                bw.newLine();
                bw.append("Exec=Startscript");
                bw.newLine();
                bw.append("Type=Application");
                bw.newLine();
                bw.append("Terminal=false");
                bw.newLine();
                bw.append("Categories=GNOME;GTK;Utility;");
                bw.newLine();
                bw.append("X-Ubuntu-Gettext-Domain=Startscript");
                bw.newLine();
                bw.flush();
                bw.close();
                Runtime.getRuntime().exec("chmod +x /usr/bin/Startscript");
            } catch (IOException ex) {
                Logger.getLogger(LinuxStartup.class.getName())
                        .log(Level.SEVERE, null, ex);
            }
        }

起動時にスクリプトが実行されないのはなぜですか?

ベストアンサー1

おすすめ記事