최근에 git 저장소에서 Light Table을 다운로드하여 Light Table을 설치 했으며이 웹 사이트 의 지침에 따라 데스크탑 런처를 만들었습니다.
이제 터미널에 직접 입력하여 프로그램을 실행하고 싶습니다
LightTable
그리고 아닙니다
./opt/LightTable/deploy/LightTable
최근에 git 저장소에서 Light Table을 다운로드하여 Light Table을 설치 했으며이 웹 사이트 의 지침에 따라 데스크탑 런처를 만들었습니다.
이제 터미널에 직접 입력하여 프로그램을 실행하고 싶습니다
LightTable
그리고 아닙니다
./opt/LightTable/deploy/LightTable
답변:
이것은 기본적인 질문이 아니며, 가장 좋은 방법은 별명을 만드는 것입니다. 예제로 netbeans를 사용하겠습니다.
터미널 열기 Ctrl+Alt+T
nano ~/.bashrc
파일 맨 아래에 이것을 작성하십시오.
alias netbeans='/home/john/netbeans-7.0.1/bin/netbeans'
Ctrl + x
Y
Enter
netbeans 단어는 프로그램을 시작하는 데 사용할 명령이며 필요한 것으로 변경할 수 있습니다. 따옴표 안에는 netbeans 별칭이 호출 될 때 실행하려는 명령이 있습니다.
이 명령을 활성화하려면 터미널을 다시 열어야합니다
실행 파일 /usr/bin이 간단한 실행 프로그램이고 다른 파일에 의존하지 않는 경우 실행 파일을 복사 할 수 있습니다 . 다른 파일에 의존하는 경우 가장 좋은 방법은 프로그램에 대한 바로 가기 명령을 만드는 것입니다.
별명을 작성하는 위치는 사용자가 직접 작성하는 것입니다 (.bashrc, .profile 등). 그러나 개인적으로 파일 에 모든 환경 변수 를 허용 .bash_aliases했습니다 (처음에 변수 를 만들어야합니다).
HOME 폴더에 .bash_aliases 파일을 작성하고 원하는대로 편집하십시오. 그런 다음 바로 가기를 만들려면 다음을 수행하십시오.
alias LightTable='path_to_opt/LightTable/deploy/LightTable'
파일을 저장하면됩니다.
추신 : L을 대문자로 잊어 버렸거나 실수로 Capslock이 활성화 된 경우 별칭을 lighttable 및 LIGHTTABLE로 지정할 수 있으므로 명령을 다시 입력 할 필요가 없습니다.
/usr/local/bin대신 Apt를 통해 설치되지 않은 것을 넣는 것이 좋습니다 . 물건은 /usr/binApt 패키지로 지우거나 바꿀 수 있지만 물건 /usr/local/bin은 혼자 남겨 둡니다.
다른 응답자가 이것을 제안하지 않은 이유는 확실하지 않지만 OP가 실제로 지적한 것처럼 $PATH변수 앞에 추가 하면 내가 달성 한 방법 일 것입니다.
echo 'PATH=/opt/LightTable/deploy:$PATH' >> ~/.bash_profile
source ~/.bash_profile
그런 다음 다음을 실행하십시오.
LightTable
LightTable을 지정 lighttable합니다 echo 'alias LightTable=lighttable' >> ~/.bash_alias && source ~/.bash_alias.
내가 생각하는 별칭보다 심볼릭 링크를 만드는 것이 좋습니다. 별명 은 원하지 않는 경우 명령 행을 대체 할 수 있습니다. 심볼릭 링크를 만들면 원하는대로 프로그램을 실행할 수 있습니다.
sudo ln -s full_path_to_opt/LightTable/deploy/LightTable /usr/local/bin
그러면 / usr / local / bin에 (PATH에 이미 있어야합니다!) LightTable이 실제로있는 바로 가기가 만들어집니다. "LightTable"의 대문자가 마음에 들지 않으면 심볼릭 링크의 이름을 바꿀 수도 있습니다.
sudo ln -s full_path_to_opt/LightTable/deploy/LightTable /usr/local/bin/lighttable
참고로, 프로그램이 어색하게 설계된 경우, 즉 구성 파일이나 라이브러리를 찾지 못하는 것에 대해 불평하는 경우 더 유용한 다른 솔루션은 래퍼 스크립트를 만드는 것입니다. 이렇게하려면 "LightTable"(또는 원하는 다른 파일)이라는 파일 (당시 원하는 곳)을 작성하십시오.
#!/bin/sh
# Simple script to run LightTable
if ! cd full_path_to_opt/LightTable/deploy/LightTable ; then
echo "$0: error: LightTable directory not found." >&2
exit 1
fi
exec ./LightTable
이 파일의 권한을 변경하십시오.
chmod 755 <wrapper_script>
작동하는지 확인하고 실행되면 / usr / local / bin으로 이동하십시오.
sudo mv -i <wrapper_script> /usr/local/bin
우분투에서 시작할 때 이것을 시도했습니다. 터미널에 LightTable을 넣으면 $PATH디렉토리 에서 LightTable이라는 파일을 검색합니다 . echo $PATH디렉토리를 얻을 수 있습니다 .
에서 LightTable 프로그램을 실행하려면 ./opt/LightTable/deploy/LightTableLight Table 파일을에 배치해야 /usr/games or /usr/bin.하지만 Super User 권한이 필요합니다.
Ctrl + Alt + T로 터미널을여십시오
그런 다음 넣어
다음을 사용하여 LightTable의 바로 가기를 만드는 것을 선호합니다
sudo ln -s path/to/LightTable /usr/games/LightTable
그런 다음 SU 비밀번호를 입력하십시오. 그런 다음 LightTable터미널에서 를 사용하여 프로그램에 액세스 할 수 있습니다
당신은 /usr/bin또는 /usr/local/bin대신에 /usr/games, 무엇이든 넣을 수 있습니다$PATH 디렉토리 있지만 그렇게 할 필요는 없지만 것이 좋습니다/usr/local/bin
또한 lightpath대신 출력 파일을 변경하는 것이 좋습니다.LightPath
PATH변수를 환경 변수에 추가하는 것이 종종 이것을 달성하는 가장 좋은 방법은 아니며 때로는 시스템을 손상 시키거나 보안 취약점을 일으킬 수도 있습니다. ( 여기 에서 명령으로 변환 될 다른 실행 파일과 추가 된 위치를 고려해야합니다PATH.) 여기에 답변이있는 쉘 별명을 추가하는 것이 그러한 복잡성을 고려하지 않는 사람에게는 더 좋습니다. 또한 해당 특정 앱에보다 좁게 맞춰져 있습니다. 따라서 이것은 조금 중복되지만 질문의 사본 이 아닙니다 .