Como definir o caminho que os aplicativos OSX usam

4

Estou executando o Mountain Lion 10.8.4 e tenho meu ambiente totalmente personalizado por meio de ~/.profile para que, quando eu executar aplicativos GUI como Texto sublime ou Eclipse a partir da linha de comando

open /Applications/Sublime\ Text\ 2.app

eles herdam minhas configurações $PATH , permitindo que o aplicativo execute comandos externos que não estão no caminho padrão muito limitado do OSX. No entanto, eu realmente gostaria de poder abrir programas através do Finder ou do Dock e dar a eles o mesmo caminho que eu uso na linha de comando. launchctl setenv PATH $PATH não funciona em 10.8. Como faço para configurar isso?

    
por MattDMo 01.09.2013 / 21:01

1 resposta

6

Nota

Isso não funciona mais com versões mais recentes do OS X, incluindo 10.10 Yosemite (não tenho certeza sobre 10.9 Mavericks). Ele funciona com o 10.8 Mountain Lion, no entanto.

Na verdade, não é muito difícil, mas você precisa ter privilégios de administrador (usando o comando sudo para gravar em /etc ).

  1. Do Terminal (ou seu substituto favorito), veja se há algo no arquivo /etc/launchd.conf :

    cat /etc/launchd.conf
    

    Se você receber um erro como

    cat: /etc/launchd.conf: No such file or directory

    continue com o próximo passo. Se o comando cat exibir algum conteúdo, copie-o.

  2. Determine o caminho atual do seu sistema, pois precisaremos incluí-lo posteriormente:

    launchctl getenv PATH
    
  3. No seu editor favorito, crie um novo arquivo de texto com o seguinte conteúdo, modificado para atender às suas necessidades:

    setenv PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/YourUserName/bin:/path/to/gems/bin
    

    Verifique se você incluiu o conteúdo inteiro do caminho da etapa anterior, caso contrário, você quebrará seu sistema.

    Se o comando cat da Etapa 1 exibiu algum conteúdo, cole-o no novo arquivo antes do comando setenv PATH . Se ele já contém um comando setenv PATH , apenas modifique-o para adicionar os diretórios extras que você precisa.

  4. Salve o novo arquivo no seu diretório pessoal ( /Users/YourUserName ) como launchd.conf .

  5. Volte para o Terminal e digite:

    sudo mv ~/launchd.conf /etc
    

    para usar o poder administrativo para mover o novo arquivo para /etc , substituindo qualquer coisa que estava lá antes . Dependendo do seu uso anterior do sudo comando, você pode obter um curto "cuidado ao fazer o que você está fazendo" mensagem, mas de qualquer forma você precisará digitar sua senha. /etc não é acessível diretamente através da caixa de diálogo Salvar de editores gráficos, a menos que você seja um usuário experiente e saiba como contornar as restrições do sistema de arquivos do OSX.

  6. Reinicie seu computador

E você deve estar tudo pronto. Se estiver interessado, launchd e launchctl use o csh / tcsh syntax, para que você não possa usar o formato bash / zsh export PATH=/usr/local/bin:... .

    
por 01.09.2013 / 21:01