Unity 런처에서 SSH 자동 로그인을 사용하고 있습니다. 명령은 다음과 같습니다.
gnome-terminal -t SSH1 -e "expect -c 'spawn ssh [email protected] ; expect assword ; send \\"password123\\n\\" ; interact'"
자동 로그인에는 문제가 없지만 그놈 터미널 창을 최대화하면 다음과 같이 창이 기본 크기인 것처럼 ssh 셸 내용이 더 작게 유지됩니다.
처음에는 그놈 터미널이 기본 크기로 시작되고 최대화되었을 때 어떤 이유로 SSH 항목의 크기가 조정되지 않았기 때문이라고 생각했지만 gnome-terminal --window --maximize
명령에 추가했는데 동일한 문제가 남아 있으면 창이 최대화되기 시작합니다. 그러나 SSH 쉘 텍스트는 여전히 기본 터미널의 크기입니다.
또한 터미널을 열고 상단에 해당 명령을 입력하면 Unity 런처에서 시작하는 것과 동일한 문제가 발생합니다.
이 문제의 원인과 해결 방법에 대한 아이디어가 있습니까?
답변1
예상 스크립트 상단에서 다음을 사용하십시오.
#trap sigwinch and pass it to the child we spawned
trap {
set rows [stty rows]
set cols [stty columns]
stty rows $rows columns $cols < $spawn_out(slave,name)
} WINCH
답변2
원하는 효과를 얻는 더 좋은 방법은 다음과 같은 SSH 키를 사용하는 것입니다.엔조팁제안했습니다.
첫 번째
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ ssh-keygen -t rsa
각 프롬프트에서 Enter를 누르고 필드를 비워두면 비밀번호가 없는 기본 키가 생성됩니다. 이것이 당신이 원하는 것입니다.
다음으로 공개 키를 서버에 푸시합니다.
$ ssh-copy-id [email protected]
마지막으로 다음 명령을 사용하여 실행 프로그램을 만듭니다.
gnome-terminal -t SSH1 -x ssh [email protected]
답변3
이는 Expect가 터미널 설정에 사용하는 환경 변수와 관련이 있습니다.
이 문제는 Expect 스크립트 시작 부분에 다음 줄을 추가하면 쉽게 해결할 수 있습니다.
set ::env(TERM) vt100
색상이 지정된 문자가 있는 경우 발견했습니다. 색상이 지정된 문자를 보려면 다음을 시도해 볼 수도 있습니다.
set ::env(TERM) xterm
답변4
코드에 다음을 추가하세요.
trap {
set XZ [stty rows ]
set YZ [stty columns]
stty rows $XZ columns $YZ < $spawn_out(slave,name)
} WINCH
이것은 Ubuntu 17.10에서 작동하는 것 같습니다.