As distribuições aderentes às especificações do X-Desktop iniciarão automaticamente os aplicativos de um diretório do sistema XDG_CONFIG_DIRS/autostart
e de um diretório de início automático na página inicial do usuário. Apenas este último será acessível sem permissões de root.
Defina uma aplicação de arranque automático em HOME
1. Encontre o diretório de inicialização automática
Primeiro precisamos saber onde reside o diretório autostart. De acordo com as especificações do X-Desktop , a localização deve ser a seguinte:
Se o mesmo nome de arquivo estiver localizado em vários Diretórios de Inicialização Automática, somente o arquivo no diretório mais importante deverá ser usado.
- Exemplo: Se $ XDG_CONFIG_HOME não estiver definido, o Diretório de Início Automático no diretório pessoal do usuário é ~ / .config / autostart /
- Exemplo: Se $ XDG_CONFIG_DIRS não estiver definido, o Diretório de Início Automático do sistema é / etc / xdg / autostart /
- Exemplo: Se $ XDG_CONFIG_HOME e $ XDG_CONFIG_DIRS não estiverem definidos e os dois arquivos /etc/xdg/autostart/foo.desktop e ~ / .config / autostart / foo.desktop existirem, somente o arquivo ~ / .config / autostart /foo.desktop será usado porque ~ / .config / autostart / é mais importante que / etc / xdg / autostart /
Em uma instalação padrão do Ubuntu, $XDG_CONFIG_HOME
não está definido. O diretório autostart, portanto, reside em ~/.config/autostart
. Qualquer arquivo .desktop
localizado neste diretório iniciará o aplicativo correspondente no login.
2. Crie o diretório autostart se não estiver presente
Antes de podermos preencher o diretório de autostart, precisamos verificar sua presença e, eventualmente, criá-lo.
3. Definir .dektop
file
Para o Unity e o GNOME, um arquivo .desktop
mínimo terá o seguinte conteúdo para permitir a inicialização automática de um aplicativo:
[Desktop Entry]
Type=Application
Exec=</path/to/application>
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=<name of application>
Podemos distribuir um arquivo de modelo .desktop
com nosso aplicativo para copiá-lo ou excluí-lo do diretório de inicialização automática dependendo do conjunto de opções do usuário.
Definir um aplicativo de inicialização automática em todo o sistema
Para ativar um aplicativo de inicialização automática para todos os usuários, precisamos preencher o diretório de inicialização automática do sistema (por exemplo, /etc/xdg/autostart
) com nosso arquivo .desktop
.
Para poder fazer isso a partir das opções do usuário, precisamos permitir temporariamente permissões de root. Isto pode, e. ser feito chamando um subprocesso com pkexec
da nossa caixa de diálogo de configurações.
Veja também esta questão relacionada: