Criando programaticamente o arquivo .desktop para iniciar automaticamente o aplicativo

1

Usando um programa Java, adicionei um arquivo .desktop em /etc/xdg/autostart para executar um script quando um usuário faz login. O script não foi executado no login do usuário e, quando eu verifiquei manualmente o diálogo de inicialização de aplicativos, não foi adicionado a ele.

O arquivo que eu adicionei é /etc/xdg/autostart/Startup.desktop , e o script que eu quero rodar no login do usuário é /usr/bin/Startscript . O código que escrevi para adicionar o arquivo da área de trabalho é o seguinte:

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);
            }
        }

Por que meu script não está sendo executado na inicialização?

    
por Joker 01.07.2014 / 06:32

1 resposta

-1

Java é uma linguagem não script, então você precisa compilar o código.

Eu recomendo compilá-lo em um pacote jar e, em seguida, escrever um script de shell para iniciar o jar.

#!/bin/sh

java -jar <compiled jar>.jar
exit 0
    
por 01.07.2014 / 08:03