GUI 응용 프로그램에서 볼 수있는 OS X 10.8 Mountain Lion으로 PATH 환경 변수를 변경하는 방법은 무엇입니까? [복제]


14

OS X 10.8에서 환경 변수를 설정하기 위해 들었던 모든 방법을 시도했지만 그중 아무것도 작동하지 않는 것 같습니다.

테스트하려면 Eclipse 또는 IntelliJ IDEA와 같은 GUI 응용 프로그램 내에서 bash 스크립트를 실행하십시오.

#!/bin/bash
set|grep PATH

재부팅 한 후에도 테스트했지만 작동하지 않는 것들 :

  • /etc/paths/etc/paths.d/something
  • /etc/launchd.conf
  • ~/.bash_profile
  • ~/.MacOSX/environment.plist (추천대로 만든 이진 plist)
  • launchctl setenv PATH $PATH커맨드 라인에서 실행 하면 GUI 응용 프로그램의 PATH를 적어도 현재 세션에서 업데이트해야합니다. 무엇을 생각하세요, 변화가 없습니다.

PATH는 항상 PATH=/usr/bin:/bin:/usr/sbin:/sbinGUI 응용 프로그램을위한 것 같습니다 .


bash 경로를 설정하는 솔루션으로 괜찮습니까? 아니면 모든 프로세스에 대해 시작된 기본 경로 값을 변경해야합니까?
bmike

터미널 / bash /에 GUI 응용 프로그램에서 사용하는 PATH를 변경해야합니다 ... 이미 큰 작업 솔루션 세트가 있습니다.
sorin

왜 Eclipse와 다른 사람들이 런타임 환경 변수를 지원하지 않는지 모르겠 으므로 Mac의 모든 Java 개발자는 각 프로젝트에서 원하는 변수의 경로 설정 또는 소싱에 대해 걱정할 필요가 없습니다.
bmike

답변은 여기를 참조하십시오 : apple.stackexchange.com/questions/51677/…
Flori

답변:


8

Mountain Lion을 사용 /etc/launchd.conf하면 GUI 응용 프로그램 경로를 설정해야합니다. 스크립트 파일이 아니라는 것을 기억하십시오. launchctl명령 만 지원 하므로 다음과 같이 작성해야합니다.

setenv PATH /new/path:/usr/bin:/bin:/usr/sbin:/sbin

또한 쉘 환경 변수 대체 ( $PATH)를 지원하지 않으므로 포함하려는 모든 경로를 설정해야합니다. 언급 한 원래 경로 ( /usr/bin:/bin:/usr/sbin:/sbin) 를 유지하는 것이 좋습니다 .

변경 사항을 적용하려면 파일을 변경 (또는 생성) 한 후 재부팅해야합니다.


이것은 Keyboard Maestro와 함께 사용할 수있는 PATH 설정에 대해 10.8.2에서 저에게 효과적이었습니다.
TJ Luoma

매뉴얼 페이지에 $ HOME / .launchd.conf를 사용할 수 있다고 말했지만 나에게는 효과가 없었습니다. /etc/launchd.conf를 사용했습니다. 나는 10.8.4에있어
pedz

그것은 나를 위해 작동하지 않습니다 :-bash: setenv: command not found
Colas

사람이 콜라처럼 혼동 된 경우, setenvA는 launchctl당신과 같이 사용할 수 있도록 명령 launchctl setenv.
Jon Shier

3

터미널에서 GUI 앱을 호출하면 작동합니다.

PATH=/this/is/kind/of/crazy:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin /Applications/Automator.app/Contents/MacOS/Automator 

여기에 이미지 설명을 입력하십시오

정말 좋고 편안하지는 않지만 필요한 경우 작업을 수행합니다.


곧 방법은 없습니다. 나는 이것을 기꺼이하지 않으며 때로는 작동합니다. 파일을 클릭하면 앱을 시작할 수도 있습니다.
sorin

2
내가 말했듯이 그것은 좋지는 않지만 Apple이 문제를 해결할 때까지 작동 할 수 있습니다 ( launchctl로 가능 해야 하기 때문입니다 ).
nohillside

2

나는 patrix 하나에서 영감을 얻은 또 다른 해결책을 요리했습니다 . 을 열고 Automator대상으로 응용 프로그램을 선택하고 작업으로 선택하십시오 Execute Shell script(또는 독일어에서는 "Shell-Skript ausführen"). 스크립트에서 다음을 입력하십시오.

launchctl setenv FOO1 bar1
[...]
launchctl setenv FOOn barn
open -a YourApplicationHere

그런 다음 원하는 곳을 모두 저장하고 YourApplicationHere 를 실행해야하는 경우 생성 된 "자동화 응용 프로그램"을 대신여십시오.

나는 이것을 YourApplicationHereTerminal 로 테스트 했으며 FOO 가 실제로 bar로 설정되어 있는 것을 보았습니다 . 나는 그것이 다른 사람들에게도 효과가 있기를 바랍니다.launchctl export

마지막으로 쉘 스크립트에 내용 을 입력하는 대신 환경 변수 에이 솔루션을 사용 하면 (변수를 설명하는 파일과 함께 먼저 구성해야 함) launchctl호출 할 수 있습니다 /Users/Shared/conflaunchd.sh.


-1

아마도 GUI 앱에 launchctl제공 PATH합니다. 쉘 경로의 경로를 설정하려면 경로를 설정 한 후 쉘 rc 파일에 다음을 추가하십시오.

launchctl setenv PATH $PATH

1
불행히도 이것은 작동하지 않습니다 :-(
nohillside


우리는 문제를 해결하기 위해 선의의 노력을 기울이는 답변을 허용합니다. 우리는 심지어 오답을 허용하고 투표에서 정확성을 말하도록합니다. 그것을 개인적으로 만들지 않고 논평하는 것은 대답하려는 시도를 방해하지 않고 잘못된 주장에 구멍을 뚫는 가장 좋은 방법입니다.
bmike
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.