qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/local/lib/python3.8/dist-packages/cv2/qt/plugins"
even though it was found.
This application failed to start because no Qt platform plugin could be initialized.
Reinstalling the application may fix this problem.
Available platform plugins are: xcb.
현재 진행하고 있는 프로젝트에서는 Python을 이용해서 영상 처리를 하고 있다.
서버는 node.js를 사용하고 있기 때문에 PythonShell을 이용해서 파이썬 파일을 실행하고 있다.
우분투에 올리기 위해 경로들만 다 수정을 해주고 올렸지만,
실행이 전혀 되지 않는 오류가 나기 시작했다.
영상처리 후, 그것을 영상으로 저장하는 과정인데,
이 과정 후 44바이트만 저장이 되었음을 알 수 있었다.
어떤 영상을 가져와도 제대로 돌아가지 않았기 때문에,
파이썬 파일만 따로 우분투에 올려서 실행해봤더니 나는 오류는 위의 것이었다.
display에 연결할 수 없고, 연결을 위한 플러그인이 있지만 사용할 수 없다는 것이 주된 것이었다.
이런 문구를 보자마자, 나는 무엇을 설치해야 하나 보다 생각을 하고 구글링 후,
“Failed to load platform plugin ”xcb“ ” while launching qt5 app on linux without qt installed
I wrote application for linux which uses Qt5. But when I am trying to launch it on the linux without Qt SDK installed, the output in console is: Failed to load platform plugin "xcb". Available
askubuntu.com
sudo apt-get install libqt5x11extras5
설치를 했다. 하지만, 오류의 해결을 되지 않았고,
무한 구글링의 과정 중 한 블로그의 글을 보게 되었다.
WSL(Windows Subsystem for Linux )에서 'Can't open display: :0.0' 오류 발생시 해결방법
Windows10에 Ubuntu 20.04 버전을 설치하고 이것 저것 기능들을 다루는 과정에서 다음과 같은 명령어를 접하게 되는 경험을 하였습니다. qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not lo..
elecs.tistory.com
이 블로그에 포스팅된 오류는 나와 똑같았다.
이 글에서 알지 못했던 사실을 하나 알게 되었는데,
그것은 바로 내가 ec2 ubuntu로 사용하고 있는 것에는
GUI의 개념이 없는 것이어서 CLD(Commend-Lind Interface)상에서 명령어를 치는 방식이기 때문에
화면이 없다는 것이다.
로컬 상에서는 디스플레이가 존재해서 실행을 하는데 아무 문제도 없었고,
심지어 결과인 영상을 보면서 확인할 수 있었지만,
ec2 ubuntu에서는 사용이 불가능했었다.
이 방법을 해결하기 위해서는
Ubuntu에서 GUI 기능이 동작할 수 있도록 해주는 X11 프로그램을 설치해주면 된다고 한다.
자세한 방법은 아래의 블로그를 보길 바란다.
https://www.tuwlab.com/ece/29485
[WSL] Windows Subsystem for Linux - 디스플레이 서버 설정 및 GUI 사용하기 - ECE - TUWLAB
WSL에는 기본적으로 디스플레이 관련 기능이 포함되어 있지 않아서 GUI 기반 어플리케이션은 사용할 수 없다. 하지만, GUI 관련 기능이 서버-클라이언트 구조로 확실하게 분리되어 구현된 리눅스��
www.tuwlab.com
내가 현재 하고 있는 프로젝트는 직접 눈으로 그 결과를 볼 필요는 없어서,
파이썬의 openC코드 중,
cv2.imshow('frame', resized)
이 한 줄만 주석처리해 주었다.
FFmpeg와 더불어 서버를 올렸을 때 좌절감을 맛보게 해 줬지만,
이 오류는 정말,,, 2주일 동안 괴롭혔다.
이렇게 날 괴롭힌 오류가 고작 한 문장을 주석 처리해줌으로써 해결이 된다니,,,
이렇게라도 해결해줘서 얼마나 고마운지 모른다...
역시 localhost와는 차이점이 정말 너무 많다는 것을 다시 한번 깨닫는 오류였다.
'우당탕탕 개발일지 > Computer_졸업프로젝트' 카테고리의 다른 글
[AWS 배포] dlib을 설치해보자 (0) | 2020.10.11 |
---|---|
[NODE.JS] POST/ --ms -- 오류 해결기 (0) | 2020.10.11 |
[AWS 배포] FFMPEG 설치의 길을 향해 (0) | 2020.10.11 |
[NODE.JS] RES의 오류 속으로 (0) | 2020.09.08 |
[NODE.JS] 서버 개발기1_로그인/회원가입 (0) | 2020.09.02 |