저는 Amazon Linux 2(Fedora/Cent OS와 유사한 배포판) EC2 시스템을 사용하고 있으며Deep Learning AMI(Amazon Linux 2) 버전 30.1AMI.
원격 인스턴스에서 및 를 사용하고 싶습니다 xclip
. gedit
하지만 내가 입력 xclip
하면
Error: Can't open display: (null)
내가 이렇게 하면 gedit filename
나는 얻는다.
(gedit:6012): Gtk-WARNING **: 00:18:40.117: cannot open display:
다음 링크를 탐색했습니다.
- https://github.com/microsoft/WSL/issues/4933
- xsel: 디스플레이를 열 수 없습니다: (null)
- https://askubuntu.com/questions/1035903/how-can-i-get-around-using-xclip-in-the-linux-subsystem-on-win-10
- https://www.cyberciti.biz/faq/error-couldnt-open-display-null-and-solution/
- https://superuser.com/questions/310197/how-do-i-fix-a-cannot-open-display-error-when-opening-an-x-program-after-sshi
- https://www.linuxquestions.org/questions/linux-software-2/xdotool-error-can%27t-open-display-null-4175527094/
- https://serverfault.com/questions/765606/xming-cant-open-display-error
- https://serverfault.com/questions/425346/cant-open-display-x11-forwarding-cent-os
- https://askubuntu.com/questions/305654/xclip-on-headless-server/305681#305681
그러므로 있다,
- 설치됨
xauth
- 환경 변수 DISPLAY를 수동으로 설정합니다.
export DISPLAY="IP_of_remote_machine:0"
export DISPLAY="127.0.0.1:0"
export DISPLAY=:0.0
export DISPLAY=localhost:0
이렇게 하면 다음과 같은 결과가 나옵니다.(gedit:6053): Gtk-WARNING **: 00:23:36.052: cannot open display: 127.0.0.1:0
- 플래그 를 사용해 보았습니다
-Y
(-X
보안상의 이유로 이는 옵션이 아니며-X
작동하지 않습니다). ForwardX11 yes
클라이언트측~/.ssh/config
과X11Forwarding yes
서버측 에 추가했습니다./etc/ssh/sshd_config
아무것도 작동하지 않습니다. 어떤 지침이 있나요?
편집하다:
나도 봤는데이것비디오에는 DISPLAY
하드코딩하면 안 된다고 나와 있습니다. 하지만 내 것은 DISPLAY
자동으로 설정되지 않습니다. 내가 할 때 echo $DISPLAY
나는 아무것도 얻지 못합니다.
그래서 하나 만들어서 xauth list
나한테 줬는데
ip-x-y-x.ec2.internal/unix:10 MIT-MAGIC-COOKIE-1 c84bcd904dd50f7776f667eca7a480f5
그래서 내가 그랬어
export DISPLAY=localhost:10.0
여전히 같은 오류가 발생합니다.
답변1
$DISPLAY를 1로 하드코딩하여 문제를 해결했습니다.
export DISPLAY=:1
내 .bashrc
파일에.
그러나 나는 이것이 왜 작동하는지 아직도 이해하지 못합니다. 이것이 출력이다xauth list
ip-172-31-74-230.ec2.internal:1 MIT-MAGIC-COOKIE-1 8a44b41e42cae52c6acd4747763bb985
ip-172-31-74-230.ec2.internal/unix:1 MIT-MAGIC-COOKIE-1 8a44b41e42cae52c6acd4747763bb985
ip-172-31-74-230.ec2.internal:2 MIT-MAGIC-COOKIE-1 e24f36d585762b0c0fe24010b99e448d
ip-172-31-74-230.ec2.internal/unix:2 MIT-MAGIC-COOKIE-1 e24f36d585762b0c0fe24010b99e448d
ip-172-31-74-230.ec2.internal/unix:10 MIT-MAGIC-COOKIE-1 c84bcd904dd50f7776f667eca7a480f5
답변2
환경 DISPLAY
변수는 원래 컴퓨터(명령을 입력한 PC)에서 x-server 사양이 필요한 모든 x-Client 프로그램으로 내보내집니다 ssh
.
요즘 제가 하는 방식은 게을러서 환경에 물어보는 것입니다.
$ env | grep SSH
SSH_CLIENT=192.168.182.159 45462 22
SSH_TTY=/dev/pts/28
SSH_CONNECTION=192.168.182.159 45462 192.168.188.120 22
SSH_CLIENT
SSH_CONNECTION
발신 터미널의 IP 주소를 표시합니다 . 이 경우 나는 export
다음과 같습니다:
$ export DISPLAY="192.168.182.159:0.0"
$ xeyes
xeyes를 시작하고 모든 것이 잘 작동하고 있음을 확인하세요. 모니터를 사용할 준비가 되었습니다.