답변1
원격 시스템에 원하는 쉘을 설치하십시오. 이 작업을 수행하려면 관리자 권한이 필요하지 않으며 홈 디렉터리에 프로그램을 설치할 수 있지만 그다지 편리하지는 않습니다. 바라보다루트 없이 Debian 5 32비트에 설치,sudo 권한 없이 로컬로 프로그램을 설치하는 방법은 무엇입니까?,추적 프로그램그리고다른 문제.
기본 셸 대신 설치된 자체 셸에 자동으로 로그인하려면 다음을 참조하세요.루트 액세스 없이 zsh 기본 쉘 만들기
원격 파일에서만 작업하려는 경우 다음을 사용할 수 있습니다.SSHFS원격 디렉터리 트리를 로컬 컴퓨터에 탑재합니다.
mkdir ~/remote.d
sshfs remote.example.com:/ ~/remote.d
ls ~/remote.d/
…
fusermount -u ~/remote.d
홈 디렉터리에 공간이 없거나 공유 계정인 경우 하나를 설정할 수 있습니다.역방향 SSH 터널로컬 디렉토리 트리를 원격 컴퓨터에 마운트합니다.SSHFS, 두 시스템 모두 동일한 아키텍처(동일한 프로세서 유형의 동일한 UNIX 변형)를 실행한다고 가정합니다. 두 시스템의 아키텍처가 호환되지 않는 경우 로컬 홈 디렉터리에 원격 아키텍처용 프로그램을 설치할 수도 있습니다. 라이브러리, 구성 파일 및 기타 데이터 파일을 찾으려면 프로그램 경로를 올바르게 설정해야 하기 때문에 이는 매우 편리하지 않을 수 있습니다.
이맥스껍데기호환 가능도보 여행가: Eshell에서 원격 디렉터리로 변경하면 원격 컴퓨터에서 명령이 실행됩니다.
답변2
간단한 대답: 아니요, 원격 상자에 설치되지 않은 프로그램은 원격 상자에서 사용할 수 없습니다.
해결 방법: 원격 시스템에 셸을 설치하는 데는 관리자 권한이 필요하지 않습니다. 홈 디렉터리에 설치할 수 있지만 소스에서 컴파일해야 할 수도 있습니다. 보통 이런거 쓰는데configure --prefix=${HOME}/local
최종 참고 사항: 기본 쉘을 비"공식" 쉘(참고자료 참조 /etc/shells
)로 변경할 수는 없지만 변경할 exec fish
수는 있습니다..bashrc
답변3
사용자사용할 수 있다sshfs로컬 컴퓨터에 원격 $HOME을 설치합니다. 그러한 시나리오에서는사용자원격 시스템에서 자신이 선택한 쉘을 직접 사용하지 않지만 아무것도 없는 것보다는 낫습니다.
답변4
분명한 대답은 "원격 컴퓨터에 명령을 설치하십시오"입니다. 이는 가장 깔끔한 솔루션이므로 무시해서는 안 됩니다.
예를 들어 를 사용하여 루트로 명령을 설치할 수 있는 경우
sudo apt-get install fish
다음
과 같이 명령을 실행할 수 있습니다.
ssh remote -t fish
문제는 우리가설치할 수 없습니다원격 컴퓨터에서 명령을 실행합니다.
혹은 좀 더 구체적으로 우리의 경우에 대해명령을 루트로 설치할 수 없습니다.
그렇다고해서 전혀 설치할 수 없다는 의미는 아닙니다!
여전히 작동하는 것은 설치 명령입니다홈 디렉토리에서그것을 구축함으로써소스에서.
이것의 장점은 관련된 모든 것을 처리한다는 것입니다.지원 서류아마도 명령과 프로그램이 명령을 찾는 방법이 있을 것입니다. fish
쉘 예제 에서는 다음과 같습니다.완전한 기능잠깐만요. 바이너리만 복사하면 이 중 아무 것도 사용할 수 없습니다 fish
.
소스에서 명령을 빌드하려면 사용되는 라이브러리에 대한 개발 도구와 개발 파일이 필요하며 이는 지나치게 복잡할 수 있습니다.
그러나 많은 프로그램은 필요한 모든 것을 소스에 번들로 포함하므로 이 작업이 쉬울 수 있습니다. 이전에는 말하기 어려웠지만 시도해 볼 수 있습니다.
홈 디렉토리에 명령을 설치하려면 configure
다음을 제공하십시오 .설치 경로- 빌드 지침에서 확인이 필요합니다. 예를 들어:
mkdir ~/local
./configure --prefix=~/local
make
make install
이것은 sudo make install
평소와 다르다는 점에 유의하십시오.정시에로컬로 설치하는 경우 sudo가 필요하지 않습니다.
소스에서 프로그램을 설치하는 방법에 대한 일반적인 정보는 다음을 참조하세요.askubuntu.SE: .tar.gz(또는 .tar.bz2) 파일을 설치하는 방법은 무엇입니까?