Sublime over SSH를 사용하는 방법
내 작업 서버에 SSH로 연결할 때 Sublime Text 2를 편집기로 사용하려고하는데 문제가 있습니다. 나는 이것이 http://urbangiraffe.com/2011/08/13/remote-editing-with-sublime-text-2/ (다른 많은 게시물 중에서) 도움이 될 것 같지만 정확히 따르지 않습니다. , 특히 5 행에서 원격 변수에 어떤 값을 입력해야하는지에 대해 "/ Users / path / to / local / copy"를 로컬 루트 디렉토리로 설정했지만 이것이 올바른지 또는 더 많은지 알 수 없습니다. 할 것. 이견있는 사람? 나는 OSX10.8에있다
세 가지 방법이 있습니다.
SFTP 플러그인 (상업용) 사용 http://wbond.net/sublime_packages/sftp- 암호를 사용하여 공개 SSH 키를 설정 한 후에는 모든 페니가 안전하고 쉽고 가치가 있기 때문에 개인적으로 권장합니다 http://opensourcehacker.com/2012/ 개발자를위한 10 / 24 / ssh-key-and-passwordless-login-basics-
사용하여 로컬 파일 시스템으로 원격 마운트
osxfuse
및sshfs
코멘트에서 언급 한 바와 같이합니다. OSX 버전과 UNIX 파일 시스템 기술에 따라 약간 어려울 수 있습니다.일종의 로컬 데몬을 사용하여 원격 터널링을 통해 파일 편집을 수행하는 rmate와 같은 것을 해킹하십시오 (매우 어렵고 번거롭지 만 sudo 호환 가능) http://blog.macromates.com/2011/mate-and-rmate/
또한 이론적으로 원격 서버에 X11을 설치하고 VNC 또는 X11 전달을 통해 Sublime을 실행할 수는 있지만 아무런 조치도 취하지 않습니다.
TextMate에서 영감을 얻은 rsub 를 사용할 수 있습니다 rmate
. 설명에서 :
Rsub는 Sublime Text 2에 대한 TextMate 2의 'rmate'기능을 구현하여 SSH 포트 전달 / 터널링을 사용하여 원격 서버에서 파일을 편집 할 수 있습니다.
다음은 올바르게 설정하는 방법에 대한 유용한 자습서 입니다.
저는 Windows를 사용하고 있으며 SSH를 통해 Windows로 X11을 전달하는 Linux에서 SFTP , WinSCP , Unison 및 Sublime Text의 4 가지 방법을 사용했습니다 (예 : 지저분한 구성없이 무료 도구를 사용 하여이 작업을 수행 할 수 있습니다).
네 번째 방법은 Linux 시스템에 소프트웨어를 설치할 수있는 경우에 가장 좋습니다.
네 번째 방법 :
MobaXterm
- Windows에 MobaXterm 설치
- MobaXterm에서 Linux 박스로 SSH
- 리눅스 상자에 Sublime Text 3을 설치하십시오 . 우분투 에서 하는 방법은 다음과 같습니다.
- 명령 프롬프트에서
subl
- 그게 다야! 이제 Linux에서는 숭고한 텍스트가 실행되지만 Windows 데스크톱에서는 창이 실행됩니다. MobaXterm은 SSH를 통해 X11 포워딩을 처리하므로 펑키 한 작업을 수행 할 필요가 없습니다. 약간의 지연이있을 수 있지만 Linux 시스템에서 직접 편집하기 때문에 파일이 동기화되지 않습니다.
참고 : 특정 라이브러리에 대해 불만이있는 경우 subl을 호출 할 때 mobaxterm에서 sublimetext를 성공적으로 호출하도록 설치하십시오.
Linux 박스에 소프트웨어를 설치할 수 없다면 Unison이 가장 좋습니다. 왜?
- 무료입니다
- 빠르다
- 신뢰할 수 있고 어떤 편집기를 사용하든 상관 없습니다.
- 당신은 사용자 정의 무시 목록을 만들 수 있습니다
SFTP
설정 : SFTP Sublime Text 패키지를 설치하십시오 . 이 패키지에는 라이센스가 필요합니다.
- 새 폴더 만들기
- Sublime Text Project로여십시오.
- 사이드 바에서 폴더를 마우스 오른쪽 단추로 클릭하고 원격 맵핑을 선택하십시오.
- sftp-config.json 파일을 편집하십시오.
- 1 단계에서 폴더를 마우스 오른쪽 단추로 클릭하여 다운로드를 선택하십시오.
- 현지에서 일하십시오.
sftp-config에서 나는 보통 다음과 같이 설정했다.
"upload_on_save": true,
"sync_down_on_open": true,
이것은 기계에 대한 SSH 터미널 외에도 상당히 완벽한 원격 편집 환경을 제공합니다.
WinSCP
- WinSCP 설치 및 실행
- 환경 설정 (Ctrl + Alt + P)으로 이동하여 전송을 클릭 한 다음 추가를 클릭하십시오. 프리셋 이름을 지정합니다.
- 전송 모드를 이진으로 설정하십시오 (라인 변환을 원하지 않음)
- 파일 수정을 "변경 없음"으로 설정
- 파일 마스크 옆에있는 편집 버튼을 클릭하고 포함 및 제외 파일 및 폴더를 설정하십시오 (.git / .svn 폴더가 있거나 빌드 제품이 동기화되지 않도록 제외하려는 경우에 유용함).
- 확인을 클릭하십시오
- 원격 서버에 연결하고 원하는 폴더로 이동하십시오
- 로컬 컴퓨터에서 빈 폴더를 선택하십시오.
- 새로 만든 전송 설정 사전 설정을 선택하십시오.
- 마지막으로 Ctrl + U (명령> 원격 디렉토리를 최신 상태로 유지)를 누르고 "시작시 동기화"및 "업데이트 서브 디렉토리"가 선택되어 있는지 확인하십시오.
그때부터 WinSCP는 변경 사항을 동기화 된 상태로 유지합니다.
SublimeText를 사용하여 로컬 폴더에서 작업하십시오. Sublime Text가 편집중인 파일의 줄 끝을 추측하도록 설정되어 있는지 확인하십시오.
조화
소스 트리가 방대한 경우 (깊은 계층 구조로 수백 MB 정도) 위에서 설명한 WinSCP 방법이 약간 느릴 수 있습니다. Unison을 사용하면 훨씬 더 나은 성능을 얻을 수 있습니다 . 단점은 Unison이 자동이 아니며 (키를 눌러 트리거해야 함) Linux 시스템에서 서버 구성 요소를 실행해야한다는 것입니다. 단점은 전송 속도가 엄청나게 빠르다는 것입니다. 매우 안정적이며 파일, 폴더 및 확장자를 무시하면 설치가 매우 쉽습니다.
@ubik의 답변에 대한 후속 조치로 다음은 원격 서버에서 'subl'명령을 작동시키는 간단한 세 가지 단계입니다.
- [ 로컬 ] Sublime Package Manager를
rsub
사용하여 Sublime Text에 패키지 설치 [ Local ] 다음 Bash 명령을 실행하십시오 ( 이는 rsub의 비밀 소스 인 SSH 터널을 설정합니다 ).
printf "Host *\n RemoteForward 52698 127.0.0.1:52698" >> ~/.ssh/config
[ 서버 ] 원격 서버에서 다음 Bash 명령을 실행하십시오 ( 'subl'쉘 명령이 설치됨).
sudo wget -O /usr/local/bin/subl https://raw.github.com/aurora/rmate/master/rmate; sudo chmod +x /usr/local/bin/subl
그리고 짜잔! 이제 SSH를 통한 Sublime Text를 사용하고 있습니다.
서버에서 Sublime Text로 예제 파일을 열 수 있습니다. subl ~/test.txt
저는 MaxOS를 사용하고 있으며 가장 편리한 방법 은 무료 (Windows에서도 사용 가능) CyberDuck 을 사용 하는 것입니다. 원격 SSH 파일 시스템에 연결하고 로컬 편집기를 사용하여 파일을 편집 할 수 있습니다. CyberDuck은 파일을 로컬 OS의 임시 위치에 다운로드하여 편집기에서 엽니 다. 파일을 저장하면 CyberDuck이 자동으로 파일을 원격 시스템에 업로드합니다. 로컬 편집기를 사용하여 원격 파일을 편집하는 것처럼 투명 해 보입니다.
내가 작업했던 ' xeno '를 시도해 볼 수 있습니다 . SSH 연결을 통해 Sublime Text (또는 로컬 편집기)에서 파일 / 폴더를 열고 변경 사항을 원격 시스템에 자동으로 동기화 할 수 있습니다. 거의 모든 POSIX 시스템에서 작동해야합니다 (OS X에서 직접 사용하여 Linux 시스템에 연결하고 Sublime Text에서 파일을 편집합니다). 무료이며 오픈 소스입니다. 피드백을 부탁합니다.
자세한 내용은 기본적으로 Python으로 작성된 Git / SSH 매시업으로 로컬 컴퓨터에서 원격 컴퓨터의 파일과 폴더를 편집 할 수 있습니다. 커널 모듈을 구성 할 필요가없고, 지속적인 연결이 필요하지 않으며, 모두 자동이며, 작업 공간이없는 Git 저장소를 사용하기 때문에 기존 소스 제어를 방해하지 않습니다. 또한 Git을 기반으로하기 때문에 SSHS / SFTP와 달리 이전 타임 스탬프가있는 파일을 쉽게 복제 할 수있는 매우 빠르며 양쪽 끝에서 변경 될 수있는 파일의 자동 병합을 지원합니다.
sftp를 사용하여 위치 머신에 원격 디렉토리를 마운트 한 다음 평소와 같이 Sublime 텍스트를 사용하여 파일을 열기 만하면됩니다.
sftp를 사용하여 원격 디렉토리를 마운트하려면 Linux 파일 관리자에서 다음을 입력하십시오.
sftp://user@remote_box.com:22/home/user/code_directory
인터넷 속도에 따라 느려질 수 있습니다. 그러나 이것은 나를 위해 일했습니다.
나는 이것이 오래된 방법이라는 것을 알고 있지만 공유 할 가치가있는 멋진 방법이 있습니다.
Conemu 및 WinSCP에 필요한 사항 . 이것들은 간단한 지침입니다
WinSCP.exe를 열고 원하는 원격 서버
에 로그인하십시오 (첨부하기 전에 로그인하는 것이 중요하다는 것을 알았습니다 ...).WinSCP 환경 설정에서 두 가지 설정을 변경합니다. Commander 대신 Explorer type interface를 선택하면 로컬 파일이 보이지 않습니다. 당신이 원하지 않는다면 (그러나 그것은 여기 빨려들 것 같습니다). Sublime을 기본 편집기로 설정하십시오.
ConEmu가 열린 상태에서 탭 표시 줄을 마우스 오른쪽 단추로 클릭하고 옵션을 선택하십시오
Attach to...
. 실행중인 응용 프로그램과 함께 대화 상자가 열립니다. WinSCP를 선택하고 확인을 선택하십시오. ConEmu는 이제 원격 파일을 표시하는 WinSCP와 함께 열린 탭을 갖게됩니다.WinSCP 탭을 마우스 오른쪽 버튼으로 클릭하고을 선택하십시오
New console...
. 대화 상자가 열리면 시스템에서 Sublime 실행 파일의 경로를 입력하십시오. 를 누르기 전에Start
상자New console split
에서 라디오 버튼을 선택to right
하고 백분율을 설정하십시오. 나는 보통 75 %를 선택하지만 원하는대로 사용자 지정할 수 있으며 나중에 변경할 수 있습니다.- 이제 WinSCP 오른쪽에서 실행되는 동일한 창에 Sublime이 표시됩니다. Sublime의 View 메뉴
Sidebar->Hide Sidebar
에서을 선택 하고 bam을 선택 하면 로컬에서와 동일한 방식으로 원격 파일을 갖게됩니다. WinSCP는 빠르게 밝아지고 있습니다.
- 이제 WinSCP 오른쪽에서 실행되는 동일한 창에 Sublime이 표시됩니다. Sublime의 View 메뉴
두 개의 모니터가 있습니다-왼쪽 모니터 디스플레이의 Chrome 브라우저, 오른쪽 모니터 디스플레이 코드 편집기. 또한에서 ConEmu
다른 탭을 만들고 작업중인 사이트에 ssh를 추가하여 실행 gulp
또는 grunt
원격으로 작업을 수행 하고 명령 줄에서 파일을 조작 할 수도 있습니다. 개발을 진지하게 진전시켰다.
스크린 샷은 다음과 같습니다.
이것은 이전에 ssh를 원격 IP로 설정 한 원격 호스트에있는 파일을 로컬에서 편집하는 가장 쉬운 방법입니다.
# issue on local box
sudo apt-get install sshfs # on local host install sshfs ( linux )
# on local box create secure mount of remote directory
export REMOTE_IP=107.170.58.249 # remote host IP
sshfs myremoteuserid@${REMOTE_IP}:/your/remote/dir /your/local/dir # for example
!!!
이제 로컬 호스트에서 파일 편집을 시작하십시오 ... dir을 로컬로 나열하면 하위 디렉토리로 cd하거나 특정 파일을 나열 할 때까지 아무것도 나열하지 않을 수 있습니다 ... 게으른 로딩 ... 이것은 파일 편집에 영향을 미치지 않습니다
subl /your/local/dir/magnum_opus.go # local file edit using sublime text
위의 것은 실제로 원격 파일을 편집하는 것입니다.
/your/remote/dir/magnum_opus.go # remote file on box $REMOTE_IP
OSX 또는 Windows의 경우 Digital Ocean에서 친절한 사람들의이 튜트를 참조하십시오.
osxfuse와 유사한 또 다른 mac 솔루션은 원격 폴더를 로컬 디스크로 마운트 할 수있는 Panic Software의 FTP 전송 클라이언트를 사용하는 것입니다. SFTP를 지원하며 매우 안전합니다.
GiySync 라는 프로젝트를 진행하고 있습니다. 여전히 약간의 작업이 필요하지만 오픈 소스이며 몇 년 동안 매일 사용하고 있습니다. 또한 GitSyncApp 이라는 기본 OS X 버전에서도 작업하고 있습니다.
지금은 OS X 전용이지만 Linux 및 Windows에 대한 지원을 쉽게 추가 할 수 있어야합니다.
파일 시스템 이벤트를 보면서 작동하며 로컬 컴퓨터와 서버의 프로젝트 폴더를 동기화 하기 위해 git 를 사용 합니다.
osx fuse, Expand Drive, Transmit, rsync 등을 사용한 여러 솔루션과 같은 다른 솔루션을 시도했습니다. 모두 작은 프로젝트에서 모두 'OK'로 작동하지만 많은 코드로 작업하면 작동하지 않습니다.
많은 파일 시스템 옵션이 캐싱을 수행하여 성능을 향상시킵니다. 다른 사람과 작업하고 다른 사람이 서버의 파일을 변경하는 것처럼.
또한 빈 파일로 끝나는 비정상적이거나 느린 네트워크에 있으면 문제가 발생했습니다. 또는 파일이 동기화되지 않으면 캐싱이 이상해졌습니다. 잘만되면 당신은 최근에 커밋했습니다. git을 사용하면 각 커밋의 무결성을 검사하기 때문에이 문제가 해결됩니다.
두 가지 보너스 기능 :
- 모든 저장에 대한 커밋으로 끝납니다. 그것은 유용하지는 않지만 시간을 거슬러 가야한다면 가능합니다.
- 모든 텍스트 편집기에서 작동합니다.
정확한 요구에 따라 BitTorrent Sync 사용을 고려할 수 있습니다. 가정용 PC와 업무용 PC에 공유 폴더를 만듭니다. Sublime 또는 원하는 것을 사용하여 가정용 PC의 파일을 편집하면 저장하면 자동으로 동기화됩니다. BitTorrent Sync는 파일 (La Dropbox 등)을 저장하는 중앙 서버에 의존하지 않으므로 이론적으로 민감한 정보를 저장하는 타사로 인한 문제는 없어야합니다.
나에게 잘 맞는 솔루션-Mac에서 로컬로 편집하고 파일을 원격 컴퓨터와 자동으로 동기화
원격 시스템에 비밀번호없이 로그인했는지 확인하십시오. 그렇지 않은 경우 다음 단계를 수행하십시오. http://osxdaily.com/2012/05/25/how-to-set-up-a-password-less-ssh-login/
~ / Library / LaunchAgents / filesynchronizer.plist에 다음 내용으로 파일을 만듭니다.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>filesynchronizer</string> <key>ProgramArguments</key> <array> <string>/usr/bin/rsync</string> <string>-avz</string> <string>/Users/USERNAME/SyncDirectory</string> <string>USERNAME@REMOTEMACHINE:~</string> </array> <key>WatchPaths</key> <array> <string>/Users/USERNAME/SyncDirectory</string> </array> </dict> </plist>
터미널 창에서
launchctl load ~/Library/LaunchAgents/filesynchronizer.plist
그게 다야. ~ / SyncDirectory에서 파일을 변경하면 원격 시스템의 ~ / SyncDirectory와 동기화됩니다. 로컬 변경 사항은 모든 원격 변경 사항을 대체합니다.
그러면 SyncDirectory를 모니터하는 시작된 작업이 작성되며, 변경 사항이있을 때마다 rsync를 실행하여 디렉토리를 원격 시스템에 동기화합니다.
lsyncd 는 sshfs 방식의 훌륭한 대안으로 보입니다. "-지연 0"을 사용하면 실시간으로 작동합니다.
이것은 Mac 및 Windows 사용자에게 적용됩니다 (Mac에서 사용). 몇 년 동안 나열된 답변 중 몇 가지를 사용했으며 SSH 액세스 권한이있는 원격 호스트에서 파일을 편집 할 때 FileZilla가 내 요구에 적합하다는 것을 알았습니다. 설정도 빠릅니다.
- 새 서버 연결을 구성합니다
- 서버에 연결
- 편집하려는 파일을 마우스 오른쪽 버튼으로 클릭하고을 선택
View/Edit
합니다.
기본 편집기 (Sublime)가 표시되지만 설치 한 모든 편집기에서 작동합니다.
- 파일을 저장하면 Filezilla에서 "이 파일을 서버로 다시 업로드"할 것인지 묻는 메시지가 자동으로 표시됩니다. "예"를 클릭하면 업데이트됩니다.
참고 URL : https://stackoverflow.com/questions/15958056/how-to-use-sublime-over-ssh
'IT story' 카테고리의 다른 글
JSON.parse에서 예외를 포착하는 올바른 방법 (0) | 2020.04.14 |
---|---|
왜 정적 중첩 인터페이스가 Java에서 사용됩니까? (0) | 2020.04.14 |
JavaScript를 사용하여 Caps Lock이 켜져 있는지 어떻게 알 수 있습니까? (0) | 2020.04.14 |
클라이언트 측 Javascript의 Base64 인코딩 및 디코딩 (0) | 2020.04.14 |
let 또는 const로 선언 된 변수가 ES6에서 호이스트되지 않습니까? (0) | 2020.04.14 |