우선 저는 쿠분투 12.04를 사용하고 있습니다.
방금 일부 소프트웨어(Intellij의 Phpstorm IDE이지만 중요하지 않다고 생각함)의 독립 실행형 설치를 다운로드하고 압축을 풀었습니다. sudo를 사용하여 압축을 푼 디렉터리를 내 디렉터리에 복사했습니다 /opt
.
sudo
문제 없이 사용하지 않고도 명령줄에서 기본 셸 스크립트를 시작할 수 있습니다 .
내에서 앱을 실행하고 싶어서 런처 아이콘에서 앱을 Application Launcher
실행 Edit Applications...
하고 새 항목( )에 메인 셸 스크립트 경로를 추가하고 /opt/PhpStorm-111.344/bin/phpstorm.sh
저장했습니다. 새로 추가된 항목을 클릭할 때마다 아무 일도 일어나지 않고 응용 프로그램이 실행되지 않습니다. 나는 보았다kde에 응용프로그램을 등록하는 것에 대한 질문입니다.Edit Applications...
, 그리고 그것이 대화가 해야 할 일이기 때문에 이 상황에는 적용되지 않는다고 생각합니다 .
그렇다면 내가 무엇을 놓치고 있는 걸까요? 대화 상자 항목에서 명령을 실행하는 다른 방법을 지정해야 합니까? 파일 문제 인가요 .desktop
? 다른 것?
나는/opt/PhpStorm-111.344/bin/phpstorm.sh
ALT+F2
달리다box , 터미널을 호출합니다. $JAVA_HOME
변수를 찾을 수 없다는 메시지가 반환되었습니다 .
이제 실제로 파일 $JAVA_HOME
에 환경 변수가 설정되어 .bashrc
있으며 명령에서 이를 볼 수 있습니다 echo $JAVA_HOME
. 다시 말하지만, 간단히 터미널을 열고 거기에서 셸 스크립트를 실행하면 문제 없이 애플리케이션을 실행할 수 있으므로 $JAVA_HOME
해당 컨텍스트에 변수가 표시됩니다. 로그아웃했다가 다시 로그인하여 실행했는데 source ~/.bashrc
둘 다 도움이 되지 않는 것 같습니다.
$JAVA_HOME
나는 지금 그것이 실행을 방해하는 변수 에 대한 일종의 사용자 권한 문제라고 생각하고 있습니다 .
어떤 제안이 있으십니까?
답변1
디스플레이/xsession 관리자가 어떻게 설정되어 있는지에 따라 호출 ~/.bashrc
되기 전에 소스가 제공되지 않을 수 있으므로 startkde
설정 중인 위치라면 $JAVA_HOME
KDE 데스크탑에서 아무것도 볼 수 없습니다.
유용하게도 은(는) 모든 디렉터리의 startkde
소스로 설정되어 있습니다 . 여기에는 또는 이와 유사한 내용이 포함되어 있을 가능성이 높으므로 KDE 세션 전반에 걸쳐 변수가 존재하도록 하려면 거기에 있는 쉘 스크립트를 삭제하기만 하면 됩니다.*.sh
kde4-config --path lib | tr : '\n' | sed -n -e 's,/lib[^/]*/,/env/,p'
~/.kde4/env
export
답변2
2줄 스크립트를 포함하는 간단한 해결 방법이 있습니다. 단순히 $JAVA_HOME
변수를 적절한 경로로 다시 내보낸 다음 응용 프로그램의 기본 셸 스크립트를 호출합니다. KDE 응용 프로그램 실행 프로그램을 이 새 스크립트로 다시 지정하면 예상대로 응용 프로그램이 시작됩니다.
그래도 내가 왜 이렇게 해야 하는지 잘 모르겠습니다. 왜냐하면 내가 $JAVA_HOME
고안한 스크립트의 컨텍스트 외부에서 올바른 변수 정의를 명확하게 볼 수 있기 때문입니다. 따라서 누군가가 왜 그런 일이 발생하는지 밝힐 수 있다면 나는 그것을 이 질문에 대한 적절한 대답으로 기꺼이 표시할 것입니다.