Por que a variável PATH é diferente entre 'iniciar da linha de comando' e 'clicar no ícone' no Mac OS X?

1

Como eu perguntei em aqui , aprendi que a variável de ambiente do PATH é diferente dependendo de como eu inicio o aplicativo.

O uso de 'aquamacs' da linha de comando é executado na parte superior do bash, portanto, a variável PATH é copiada para a variável PATH no eshell.

Mas, que tal clicar no método do ícone Aquamacs? Qual variável PATH está definida quando clico em um aplicativo com o Mac OS X? E como a variável PATH é definida dessa maneira?

    
por prosseek 02.09.2010 / 16:26

1 resposta

1

Quando você executa algo a partir da linha de comando, ele é criado como um processo filho do shell que você está executando no Terminal. Como tal, ele herda seu ambiente do seu shell.

Rodando com um clique duplo, ele não é iniciado pelo bash, mas como um filho de launchd .

Abra o Activity Monitor e escolha "All Processes, Hierarchically" para mostrar as relações de processo pai / filho.

Aconfiguraçãodevariáveisdeambienteparaprogramasnãoiniciadosapartirdoshellédiscutidaemoutrasquestões,como este e este .

    
por 02.09.2010 / 16:45