원격 Centos 7 시스템에서 gnome-terminal을 실행하는 방법은 무엇입니까?

원격 Centos 7 시스템에서 gnome-terminal을 실행하는 방법은 무엇입니까?

내 로컬 컴퓨터는 linux mint이고 원격 컴퓨터는 centos 7입니다. x-forwarding을 사용하여 원격 컴퓨터에서 gnome-terminal을 열려고 하는데 작동하지 않습니다.

대화형 모드로 호스트에 연결할 때

$ ssh -Y centos-host

그런 다음 열린 세션에서 gnome-terminal 및 x-forwarding 작업을 실행할 수 있습니다.

$ gnome-terminal 
$ netstat -nltp
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      -  

하지만 내가 달리려고 하면

$ ssh -Y centos-host gnome-terminal

gnome 터미널이 있는 창이 열렸지만 X용 터널이 생성되지 않았습니다.

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -

나는 또 다른 Linux Mint 원격 시스템을 가지고 있는데 그런 문제가 발생하지 않았습니다. 그래서 Centos 7에 문제가 있다고 생각합니다.

도와주세요.
감사합니다.

답변1

그 이유는 gnome-terminal그 자체가 배경으로 포크되기 때문입니다. 대화형 세션에서 실행하면 ssh터미널이 아직 열려 있어도 새 명령 프롬프트가 표시되는 것을 알 수 있습니다. 비대화형의 경우, 이런 일이 발생하자마자 ssh명령이 종료되었다고 생각하고 서버에서 수신 중인 X11 소켓을 닫는 것을 포함하여 세션을 닫습니다. 여전히 활성 X11 연결이 있으므로 ssh즉시 종료되지 않습니다.외모세션이 여전히 활성 상태인 것처럼 보이지만 새로운 X11 연결은 열 수 없습니다.

이전에는 를 사용하여 이 작업을 수행할 수 있었지만 안타깝게도 어느 시점 gnome-terminal --disable-factory에서는 이 기능이 제거되었습니다 . gnome-terminal이제 두 가지 옵션이 있습니다.

  • 예를 들어 백그라운드로 분기되지 않는 다른 터미널 프로그램을 사용하십시오.xterm
  • 시작 직후 gnome-terminal동일한 ssh세션에서 종료되지 않는 명령을 실행합니다. 예를 들어ssh -Y server 'gnome-terminal; echo Press enter to exit; read'

답변2

구성:

  • CentOS Linux 릴리스 7.6.1810(코어)
  • /etc/ssh/sshd_config다음을 포함합니다:
X11Forwarding yes

다음 명령이 저에게 효과적입니다.

ssh -Y HOST bash -l -c gnome-terminal --display=${DISPLAY} < /dev/null > /dev/null  2>&1 &

gnome-terminal --disable-factory나에게 알려준 것은 --disable-factory더 이상 지원되지 않습니다.

관련 정보