Como fazer o programa iniciar automaticamente apenas no GNOME

14

Eu uso o GNOME e o KDE SC. No GNOME, eu uso o Docky, mas não o uso com o KDE. Então, eu gostaria que o Docky iniciasse apenas quando eu entrar no GNOME, não no KDE. No KDE, há uma opção para iniciar automaticamente um programa apenas no KDE. Mas não consigo encontrar essa opção no GNOME.

Como posso fazer isso?

Desde já, obrigado.

ricky
fonte

Respostas:

14

Você pode editar o objeto de inicialização ~/.config/autostarte adicioná-lo ao final:

OnlyShowIn=GNOME

É uma opção mal nomeada, mas fará com que o KDE não inicie o aplicativo.

Ressu
fonte
3

Não tenho o kde instalado para verificar isso, mas acredito que adicionar o aplicativo aqui: Sistema -> Preferências -> Sessões -> Programas de Inicialização é específico ao gnome.

Se isso não funcionar, você sempre poderá colocar o programa em um script de wrapper que verifique o valor da variável de ambiente $ DESKTOP_SESSION. Algo assim:

#!/bin/bash
if [ $DESKTOP_SESSION == "GNOME" ];then
        myApplication
fi

Espero que isso responda sua pergunta!

Anwar
fonte
Sistema -> Preferências -> Sessões -> Programas de Inicialização não é específico ao gnome.
Ricky
1

Se você não conseguir encontrar a entrada que inicia um programa, também poderá encontrá-la /etc/xdg/autostart. Eu sei que eles finalmente corrigiram o Nautilus automaticamente iniciando no KDE usando a configuração OnlyShownIn. A alteração de arquivos neste diretório é de todo o sistema; portanto, convém copiar o arquivo do aplicativo incorreto para~/.config/autostart/

Em vez de usar OnlyShownIn, você também pode usar o NotShownIn. Isso pode permitir que você não faça algo para uma área de trabalho, mas mostre para todas as outras. Neste exemplo, você pode carregar o Docky em todos os gerenciadores de área de trabalho, exceto no KDE, usando o seguinte:

NotShownIn=KDE;

Se você não deseja que ele inicie em nenhuma área de trabalho, é possível alterá-lo para OnlyShownIn=; Linhas em arquivos .desktop que devem terminar com ponto e vírgula. O ponto-e-vírgula também é usado para separar valores para configurações que levam mais de um valor ao mesmo tempo.

Esse truque significa que você precisa listar todos os shell de área de trabalho usados ​​para impedir que alguma coisa seja executada. Portanto, o uso NotShownIn=Unityseria bom se você tivesse o Unity instalado, mas ainda assim seria iniciado se você instalasse o KDE ou o Gnome posteriormente.

Se o arquivo da área de trabalho na pasta de inicialização automática do usuário não interromper a inicialização de um aplicativo, você precisará lidar com o arquivo da área de trabalho no diretório xdg. Para isso, eu faria uma cópia de backup do arquivo. Em vez de copiá-lo com uma extensão bak, ou algo padrão que pode ser substituído posteriormente, faça isso no aplicativo imaginário chamado badapp neste exemplo.

sudo cp /etc/xdg/autostart/badapp.desktop /etc/xdg/autostart/badapp.desktop.stop

Você pode editar o arquivo original da área de trabalho. Se algo quebrar e você terminar iniciando em uma inicialização de texto, poderá renomear o arquivo para o nome original.

sudo cp /etc/xdg/autostart/badapp.desktop.stop /etc/xdg/autostart/badapp.desktop

Além disso, a pasta de inicialização automática do usuário padrão para o KDE é ~/.kde/Autostart/porque o KDE faz as coisas da maneira do KDE.

Thomas Sisson
fonte
0

System > Preferences > Startup Applications Esta é a alternativa do Gnome ao Gerenciador de Inicialização do KDE.

Marco Ceppi
fonte
O que Marco disse, é DM específico, eu acho.
Invert
Sim, mas não está restrito apenas ao GNOME. Os aplicativos lá também são iniciados no KDE.
Ricky
0

A outra maneira de editar o arquivo de inicialização automática é com uma linha como:

OnlyShowIn=GNOME;Unity;
chrisonbuntu
fonte