以编程方式创建 .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);
            }
        }

为什么我的脚本没有在启动时运行?

相关内容