이 질문에는 그다지 도움이 되지 않는 답변이 많이 떠 있습니다. 나는 여러 가지를 시도했습니다. 어떤 경우에는 내가 액세스하는 모든 원격 컴퓨터의 설정을 변경해야 합니다. 일부 약속은 내 로컬 컴퓨터에서 몇 가지 변경만으로 작동했지만 실패했습니다.
이 문제내가 시도한 몇 가지 솔루션을 수집했습니다.
먼저:SSH를 통해 원격으로 액세스하는 모든 컴퓨터에 대해 구문 강조를 활성화하도록 로컬 컴퓨터의 설정을 변경할 수 있습니까?
그렇다면 어떻게 해야 할까요?
저는 Windows 10에서 Ubuntu용 Bash를 사용하고 있으며 주로 Ubuntu 또는 Debian을 실행하는 컴퓨터에 연결합니다.
특히 강조하고 싶은 명령/프로그램은 다음과 같습니다.
ls stuff
history | grep stuff
vim stuff
답변1
이 답변에는 구문 강조가 포함되지 않습니다.구체적으로, 오히려 여러 시스템에서 일관된 구성을 유지하는 문제입니다.
특히 다양한 응용 프로그램 구성을 고려하는 경우 로컬 시스템의 구성 변경을 통해 원격 시스템의 유틸리티 동작을 쉽게 변경할 수 없습니다.
홈 디렉터리가 NFS와 같은 네트워크 공유에 마운트된 경우 ~/.bashrc
로컬 컴퓨터의 파일이나 기타 파일에 대한 로컬 수정 사항은 분명히 원격 시스템으로 전달됩니다(원격 시스템에 동일한 공유가 마운트된 경우).
다음 단계(다른 시스템에서 홈 디렉토리를 공유할 수 없는 경우)는 원하는 방식으로 로컬 구성을 설정한 다음 scp
유사한 rsync
방법을 사용하여 원격 시스템에 복사하는 것입니다. 로컬 구성을 조정할 계획이라면 이를 수행하기 위한 간단한 스크립트를 작성하는 것이 좋습니다.
이러한 스크립트는 (테스트되지 않음)만큼 간단할 수 있습니다.
#!/bin/bash
configs=( "$HOME/.bash_profile" "$HOME/.bashrc" )
remotes=( "host1" "host2" )
for remote in "${remotes[@]}"; do
scp "${configs[@]}" "$remote:"
done
다음 단계는 Git과 같은 네트워크 인식 파일 개정 제어 시스템에 관련 구성 파일을 저장하는 것입니다. 또한 이를 통해 특정 시스템이나 Unix 버전에 대한 분기를 생성하는 동시에 네트워크를 통해 구성에 쉽게 액세스할 수도 있습니다.
또한 동일한 이름을 사용하더라도 서로 다른 유틸리티는 서로 다른 시스템에서 서로 다른 구현이나 버전을 가질 수 있으므로 서로 다른 구성이 필요할 수 있습니다. 이는 여기서 Bash와 같은 구성으로 인해 쉘이 손상될 수 있음을 의미합니다. 이러한 손상의 명백한 원인은 Bash 버전 3과 Bash 버전 4의 차이 또는 ls
일부(Linux가 아닌) 시스템이 GNU coreutils(다른 유사한 셸 도구를 제공함)를 사용하지 않는다는 사실입니다.
차이점을 해결하려고 노력 중입니다.파일 시스템 레이아웃(다른 Unices의 계정 간에 공유되는 init 스크립트가 있는 셸을 설정하려고 할 때 또 다른 문제가 발생합니다. 이로 인해 PATH
다른 호스트에서 다르게 설정해야 합니다.) 광산에서는 ( 대신 ~/.profile
사용하고 있음 ) 다음과 같이 표시됩니다.ksh93
bash
PATH="$( getconf PATH )"
case "$(uname -s)" in
OpenBSD) PATH="$PATH:/usr/local/sbin:/usr/games" ;;
NetBSD) PATH="$PATH:/usr/X11R7/bin" ;;
esac
답변2
SSH를 통해 색상을 얻는 것이 항상 쉬운 것은 아닙니다.
필요한 모든 구성 파일이 다른 호스트에 복사되었는지 확인해야 합니다. Vim에는 .vimrc
및 에 있는 특정 색상 설정이 필요합니다 .bashrc
.이 블로그 게시물연결된 모든 컴퓨터에 도트 파일을 자동으로 복사하는 방법을 설명합니다.
그것은 사용한다LocalCommand
, OpenSSH 클라이언트가 로컬 컴퓨터에서 명령을 실행하는 기능입니다.
완전성을 위해 명령은 여기에서 bash: Correction 을 사용하여 다시 인쇄됩니다
PermitLocalCommand yes LocalCommand tar c -C${HOME} .bashrc .vim .vimrc \ | ssh -o PermitLocalCommand=no %n "tar mx -C${HOME}
.
ls
또는 의 출력 색상을 지정 하는 방법에 따라 grep
추가 프로필이 필요할 수 있습니다.
위는 tar ssh tar
매우 일반적이며 여러 파일을 원격 컴퓨터에 복사할 수 있는 명령 패턴입니다.
그래도 문제가 해결되지 않으면 추가 정보를 제공해야 합니다. 민트 쓰시나요? 결정하셨나요 TERM
? 당신의 .vimrc
합계는 어떻게 .bashrc
생겼나요? vim에서 어떤 색 구성표를 사용하고 싶나요? 멋진 셰이딩 도구를 사용하시나요? ...