"Linux" por si só é apenas um kernel e não precisa saber. É o ambiente gráfico que geralmente está lançando um runner , que então lança novamente o aplicativo.
XDG
Apenas o runner precisa saber o que "fazer". A maioria dos corredores de ambiente gráfico entende e usa a especificação de entrada de área de trabalho XDG . Uma leitura mais fácil sobre o assunto seria a página wiki do Arch linux. Como a maioria freedesktop especificações, você descobrirá que a sintaxe é muito parecida com os arquivos windows ' *.ini
.
Citações
Esses qoutes são extraídos da página wiki do Arch, vinculada acima. Eles resumem o suficiente para lhe dar a resposta que você está procurando.
Application entry
Desktop entries for applications, or
.desktop
files, are generally a combination of meta information resources and a shortcut of an application. These files usually reside in/usr/share/applications
or/usr/local/share/applications
for applications installed system-wide, or~/.local/share/applications
for user-specific applications. User entries take precedence over system entries.
Exemplo de conteúdo do arquivo
[Desktop Entry] # The type as listed above Type=Application # The version of the desktop entry specification to which this file complies Version=1.0 # The name of the application Name=jMemorize # A comment which can/will be used as a tooltip Comment=Flash card based learning tool # The path to the folder in which the executable is run Path=/opt/jmemorise # The executable of the application, possibly with arguments. Exec=jmemorize # The name of the icon that will be used to display this entry Icon=jmemorize # Describes whether this application needs to be run in a terminal or not Terminal=false # Describes the categories in which this entry should be shown Categories=Education;Languages;Java;
Executar na opção de terminal
Alguns corredores permitem a opção "Executar no terminal". Nesse caso, o corredor na verdade executa o terminal padrão (konsole para o KDE, gnome-terminal para o gnome) e acrescenta o nome do programa ao terminal. Por exemplo, para o konsole , a opção -e
executaria um comando em vez do shell configurado:
konsole -e command
Normalmente, o executor usará .desktop
arquivos para o terminal e o aplicativo para estabelecer seus comandos de execução.