Onde os comandos de inicialização são armazenados?

45

Ao ir para "Aplicativos de inicialização", você vê uma lista de comandos executados na inicialização e pode adicionar os seus próprios.

Gostaria de saber onde esta lista está armazenada. Está no gconf em algum lugar?

Há duas razões pelas quais quero saber isso:

  • adicionar comandos programaticamente
  • desativar alguns comandos (no Oneiric, os padrão não são mais mostrados)
scribu
fonte

Respostas:

49

De acordo com a Especificação de inicialização automática do aplicativo de desktop , que o Ubuntu e todos os principais ambientes de desktop como Gnome, LXDE, XFCE seguem, os aplicativos de inicialização são .desktoparquivos armazenados por usuário no

~/.config/autostart

E também globalmente, para todos os usuários, em

/etc/xdg/autostart

(isso é uma simplificação, os diretórios reais são determinados pela Especificação de diretório base do XDG )

O recurso ativar / desativar é fornecido por este atributo em cada .desktoparquivo:

X-GNOME-Autostart-enabled=true (or false)

Se um usuário alternar ativar / desativar o status de um determinado aplicativo (sem excluí-lo) que estava na pasta do sistema, ele será copiado para o diretório do usuário e, em seguida, o atributo X-GNOME-Autostart-enabledserá alterado. Se um usuário excluir um determinado aplicativo da lista, o .desktop será copiado para a pasta do usuário com o Hidden=trueatributo (ou o arquivo será excluído se estiver presente apenas no diretório do usuário)

Os arquivos na pasta do usuário e do sistema não precisam ser marcados como executáveis. A permissão padrão é 644 (rw-r - r--). Permissão de execução para .desktoparquivos só são úteis para lançadores em sua área de trabalho (área de trabalho), então eles mostram seu ícone e permitir duplo clique para iniciar o aplicativo. Para Dash, Launcher, Autostart e menus em geral, o bit executável é irrelevante.

MestreLion
fonte
2
Obrigado, isso foi útil. Os mesmos caminhos também funcionam para o Kubuntu.
ctd
@ctd: (a maioria) também deve funcionar em outros desktops, como o XFCE e o LXDE, pois esse é um padrão criado pelo FreeDesktop.org e que visa a compatibilidade entre computadores.
MestreLion 12/11/2012
Impressionante! Isso significa que é possível usar os aplicativos de inicialização para montar contêineres veracypt criptografados, e o comando incluindo a chave estará seguro no diretório inicial criptografado do usuário. Eles apenas precisariam usar o visudo para permitir que as permissões de root sejam verificadas novamente sem senha para esse usuário.
Nhorning 12/09
Bem, eu procurei e tentei muitas alternativas, mas apenas o arquivo da área de /etc/xdg/autostarttrabalho funcionou para mim no Bionic Beaver (18.04). Obrigado!
Arthur Henrique Della Fraga
1
@ArthurHenriqueDellaFraga, acabei de testar e ~/.config/autostartainda é válido para o Ubuntu 18.04. Tente adicionar qualquer iniciador usando Startup Applications(pesquise em seus aplicativos) e ele criará um .desktoparquivo lá
MestreLion
6

Eu uso xfcee o que encontrei é a maioria dos comandos de inicialização automática relacionados ao sistema, como

power-managers, gnome-keyring, ubuntuone, blueman etc

são armazenados /etc/xdg/autostartenquanto a maioria da inicialização automática específica do usuário está localizada em

$USER/.config/autostart Você pode dar uma olhada nesses 2 lugares.

sagarchalise
fonte
/ etc / xdg / autostart são para o sistema e vai funcionar para todos os usuários
Pavak Paul
4

No KDE está em

~ / .kde / Inicialização automática

Isso foi depreciado, o KDE Plasma agora segue as especificações do XDG. O diretório de inicialização do sistema é encontrado /etc/xdg/autostarte os específicos do usuário em~/.config/autostart

Eu tenho um script lá que inicia o Krusader:

 #!/bin/bash
 krusader &

Não se esqueça de criar os scripts que você colocará no Autostart - para serem executáveis.

Adobe
fonte
2
O KDE costumava ter seus próprios diretórios de inicialização automática, mas hoje em dia eles seguem as especificações do XDG. Talvez ~/.kde/Autostartainda funciona também, mas para cross-compability é melhor usar os diretórios XDG
MestreLion