서버에 idle timeout이 걸려 있을 경우, 뭐 좀 하다가 잠시 자리를 비웠다 돌아오면 접속이 끊겨 있어 살짝 빡치는 경우가 있음.

나같은 경우 주로 tab을 2개 이상 열어놓고 하나는 소스코드를 수정하고 하나는 수정된 소스코드를 실행하는 식으로 작업하는데,

소스코드 수정이 5분 이상 넘어갈 경우 실행하는 탭의 접속이 끊겨 있는 경우가 많음.


secureCRT는 anti-idle 설정이 있는데 주기적으로 뭔가 보내서 접속을 유지시켜줌.

Options > Session Options... > Terminal > Anti-idle 을 보면 2개의 옵션이 있음.


Send protocol NO-OP은 remote에서 보여지지 않는 데이터를 보내는 형태임. 

기본적으론 여기에 체크하고 적절한 interval을 지정하면 됨.


Send protocol NO-OP으로 지정해도 idle timeout으로 접속이 끊길 경우 Send string을 지정할 것.

이건 실제로 지정한 문자열을 보내는 방식.

shell에 이상한 게 먹히면 안되므로 권장되는 건 공백문자와 백스페이스를 보내는 것.

문자열 입력칸에 공백 한 칸 입력하고 \b 를 입력하고 적절한 interval을 지정.


이걸로 안될 경우 아예 엔터키나 ^C를 입력하는 최후의 방법이 있음.

엔터키의 경우 아무 명령어나 들어갔다가 큰일 날 수 있으므로 ex) rm -rf /

엔터키 입력전에 해당 라인을 전부 비우고 엔터키를 입력하는 건 문자열을 \001\013\r 로 지정하면 됨.


^C를 입력하려면 문자열 입력칸에 \003 지정.


[주의사항]

\001\013\r 로 지정하면 vim을 열어놨을 때 ctrl+A -> \r 이 들어감.

이게 커서가 있는 라인의 숫자를 1 증가시켜버리기 때문에 중요한 소스코드를 열어놓은 상태에서 장시간 idle 상태로 있다가 무심코 저장해버리면 큰일이 나는 경우가 있음.

그래서 .vimrc 파일에 ctrl+A 키맵핑을 날리고 씀.

.vimrc 파일에 아래 한라인 입력하면 됨.

map <c-a> <Nop>


\003 를 지정해서 ^C 를 해놓으면 문제인 것이,

tail -f 같은 걸로 로그파일 뒤지고 있는데 ctrl+C가 들어가서 중단되어 버림.


적당히 알아서 취사선택할 것.







Posted by bloodguy
,