원격 서버(SunOS 5.9를 실행하고 C-shell을 기본 로그인 셸로 사용하는 Solaris 시스템)에 SSH로 연결할 때 다음 문제가 발생합니다.
- TERM 변수가 정의되지 않았습니다. 파일을 편집하려면 이 변수를 xterm으로 수동으로 설정해야 합니다. 그렇지 않으면 불친절한 메시지가 표시됩니다.
어떤 터미널을 사용하고 있는지 모르겠습니다. "xterm-256color"만 있습니다.
- 키보드가 잘 인식되지 않습니다:
- 백스페이스는 전체 명령줄 버퍼를 지웁니다. 여기서 해결책을 찾았습니다
- 탭은 자동 완성 대신 탭을 실행합니다.
- del 키는 콘솔 버퍼(^[[)에 쓰레기를 넣습니다.
- 화살표 키는 콘솔 버퍼(^[)에 가비지를 넣고 vi에서 커서를 이동하는 대신 A, B, C, D를 삽입합니다.
- 아마 더
stty 명령을 사용하여 백스페이스를 수정하는 몇 가지 방법을 찾았습니다(여기:백스페이스, Tab 키가 터미널에서 작동하지 않음(Ssh 사용)), 하지만 키보드를 완전히 다시 매핑해야 합니다...
로그인 시 용어 문제 및 키보드 문제를 해결하기 위해 SSH 세션을 어떻게 설정합니까?
추신: 원격 "사용자"는 모든 개발자가 사용하는 "공유" 계정이며 백엔드 배포판에 있습니다. 원치 않는 부작용을 피하기 위해 .*rc 스크립트를 건드리고 싶지 않습니다.
답변1
공유 계정이므로(일반적으로 이것이 얼마나 현명하지 못한지에 대해서는 다루지 않겠습니다) - csh를 사용하고 있으므로 두 가지 작업을 수행해야 합니다.
- .login 파일과 유사한 개인 환경 파일을 만듭니다(.login은 csh에 해당하고 .profile은 bash, sh 등에 해당합니다.
- 로그인 후 입장
source 'file_just_created'
생성한 파일에서 백스페이스 키를 사용하여 이미 수행 중인 작업과 같은 간단한 작업을 수행할 수 있습니다.
stty erase ^H
또한 용어 설정을 위해 파일에 추가하기만 하면 됩니다!
setenv TERM xterm
또는 터미널 세션에 필요/적용되는 모든 값
일반화하다mySetupFile
- 하나 이상의 stty 명령을 사용하여 생성 setenv TERM myFavTermName
하고 프롬프트에 로그인한 후 추가 및source mySetupFile
추가: xterm에 대한 terminfo 파일을 찾을 수도 있습니다. 예를 들어 존재하지 않는 /usr/share/lib/terminfo/x/xterm
경우 /usr/share/lib/terminfo/x/xterm-256color
허용되는지 확인하세요.
ln /usr/share/lib/terminfo/x/xterm /usr/share/lib/terminfo/x/xterm-256color
편집 문제를 해결해 보세요.
작동한다면 다른 작업을 수행할 수 있습니다(새 용어 정보를 생성하고 정의하려면 tic
aka 명령을 사용하십시오).용어 정보 컴파일러iirc. 많은 사람들을 행복하게 만들 수도 있어요.
답변2
사용자의 홈 디렉토리에는 숨겨진 로그인 스크립트 파일이 있어야 합니다. 사용자로 SSH 세션을 열고 pwd 명령을 실행하여 집에 로그인했는지 확인하세요. CD가 없으면 $HOME으로 가세요.
ls -la를 사용하여 숨겨진 파일을 표시하는 내용을 나열합니다. 로그인할 때 실행되는 .login, .cssh, .bashrc, .ksh 또는 유사한 이름의 파일이 있어야 합니다. 여기에서 사용자 정의 명령을 설정하거나 환경 변수를 내보낼 수 있습니다.
SSH 연결을 통해 전달된 환경 변수를 설정하는 또 다른 옵션은 AcceptEnv MYVAR.txt를 설정하여 새 환경 변수를 허용하도록 서버의 /etc/ssh/sshd_config 파일을 편집하는 것입니다. 또한 SSH 서버가 수신할 수 있도록 이러한 변수를 보내도록 클라이언트 SSH 프로그램을 설정한 다음 SendEnv MYVAR을 설정하여 설정해야 합니다.
답변3
Solaris의 csh는 Bill Joy의 원본 csh로, 자동 완성을 위해 Tab 대신 Escape를 사용하고( set filec
처음 사용할 때만 활성화됨) 화살표 키 유무에 관계없이 명령줄 편집 기능이 없습니다. 이러한 기능이 필요하다면 tcsh를 사용해야 합니다.