X11 전달(초기 사용자로)

X11 전달(초기 사용자로)

MobaXTerm에서 다음 명령을 실행합니다.

Windows 노트북에서 MobaXTerm 터미널 사용:

> xhost +ulv78.abc.com
ulv78.abc.com being added to access control list

> ssh -l someuser ulv78.abc.com # RHEL 7.x
SECURITY NOTICE:
Unauthorized use is prohibited. Use of this private computer system is your consent to being recorded and monitored. We reserve the right to seek all remedies for unauthorized use. Evidence of suspected illegal use may be given to law enforcement.
X11 forwarding request failed on channel 0
Last login: Thu Sep 20 12:06:57 2018 from win_host_name
$ bash
$ echo DISPLAY=win_host_name:0.0; export DISPLAY >> .bashrc
$ sudo su - # as root sudoer
$ echo DISPLAY=win_host_name:0.0; export DISPLAY >> .bashrc
$ cd /install_path
$ ./setup
Error: Can't open display: win_host_name:0.0

위 세션에 X11 forwarding request failed on channel 0오류가 있습니다

편집하다:

& 에 항목을 설정합니다 DISPLAY. MobaXterm 터미널에서 연결하면 다음과 같은 결과가 출력됩니다..profile.bashrc

> ssh -l someuser ulv78.abc.com
SECURITY NOTICE:
Unauthorized use is prohibited. Use of this private computer system is your consent to being recorded and monitored. We reserve the right to seek all remedies for unauthorized use. Evidence of suspected illegal use may be given to law enforcement.
X11 forwarding request failed on channel 0
Last login: Thu Sep 20 12:36:54 2018 from win_host_name
$ echo $DISPLAY
win_host_name:0.0
$ xterm
xterm: Xt error: Can't open display: win_host_name:0.0
$

1) X11 전달 오류를 해결하는 방법은 무엇입니까?

2) SSH 클라이언트의 마지막 로그인 메시지에 잘못된 도메인 이름이 표시됩니다.

답변1

X11 전달(초기 사용자로)

MobaXTerm은 기본적으로 활성화된 X11 전달을 지원합니다. Linux 서버에서 X11 전달( ulv78)이 활성화된 경우 이는 DISPLAY명백한 로컬 주소로 설정되고 ssh클라이언트는 이러한 요청을 X11 서버(Windows 시스템에서 실행)로 다시 전달합니다. 바라보다원격으로 그래픽 애플리케이션을 실행하기 위해 SSH를 통해 X를 전달하는 방법은 무엇입니까?작동 방식에 대한 자세한 내용.

올바르게 설정한 후에는 다음을 수행해야 합니다.아니요DISPLAY환경 변수를 직접 수정하십시오. .bashrc로그인 파일(등)에 행을 추가하여 설정한 경우 해당 변수를 다시 제거해야 합니다. 다음과 같은 결과가 표시됩니다.

ssh -l user ulv78.domain.com

(이제 user원격 컴퓨터에서 실행 중)

user@ulv78$ echo $DISPLAY
localhost:10
user@ulv78$ xterm

xterm여기서는 테스트 애플리케이션으로 사용되었습니다. 원격 Linux 컴퓨터에서 실행되더라도 Windows 컴퓨터에는 나타나야 합니다. 해당 프롬프트는 user@ulv78MobaXTerm의 초기 프롬프트 대신 현재 위치에 있음을 나타냅니다 .

축하합니다. 이것이 첫 번째 단계입니다. X11 전달은 정상입니다. 이제 고급 섹션으로 이동합니다.

다른 사용자로 X11 서버에 액세스

root다른 사용자(예 : ) 로 전환하여 동일한 X 서버에서 그래픽 응용 프로그램을 실행하려고 하면 su -환경 변수가 모두 사라진 것을 알 수 있습니다. 그때가 바로 너야하다이는 DISPLAY수동으로 변경해야 하며 다음을 사용하여 X 자격 증명을 복사해야 합니다.xauth(1)명령(지시어 기반https://blog.mobatek.net/post/how-to-keep-X11-display-after-su-or-sudo/):

ssh -l user ulv78.domain.com

(이제 user원격 컴퓨터에서 실행 중)

user@ulv78$ echo $DISPLAY
localhost:10
user@ulv78$  xauth list | tail -n 1
ulv78/unix:10  MIT-MAGIC-COOKIE-1  4fa72fbe2b05ebe3f047a1b0430ecf6a
user@ulv78$ sudo su -

(이제 루트로 실행 중)

root@ulv78$ export DISPLAY=localhost:10    # <- copied from above
root@ulv78$ xauth add ulv78/unix:10  MIT-MAGIC-COOKIE-1  4fa72fbe2b05ebe3f047a1b0430ecf6a # <- copied from above
root@ulv78$ cd /install_path
root@ulv78$ ./setup

이제 이전과 마찬가지로 응용 ./setup프로그램이 Windows 컴퓨터에 나타납니다 xterm.

관련 정보