RoBoLoG

[ERROR] _tkinter.TclError: no display name and no $DISPLAY environment variable; ssh로 원격 접속해서 UI 모듈을 실행하는 방법 본문

Error Solution/Etc

[ERROR] _tkinter.TclError: no display name and no $DISPLAY environment variable; ssh로 원격 접속해서 UI 모듈을 실행하는 방법

SKJun 2023. 6. 15. 10:14

ssh로 원격 접속해서 UI 모듈을 실행하는 방법

 

ssh로 원격 접속 후 cv2.imshow나 UI를 실행하면 오류가 발생한다. 

 

tkinter 기반의  UI를 실행하면 아래와 같은 오류가 발생한다.

Traceback (most recent call last):
  File "ui_module.py", line 493, in <module>
    window = tk.Tk()
  File "/usr/lib/python3.8/tkinter/__init__.py", line 2270, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

 

이를 해결하기 위해서는 아래와 같이 ssh에 접속할 때 -X 옵션을 추가해주면 된다.

ssh -X username@ip_address

 

혹은 xvfb를 이용하여 아래와 같이 해당 파일을 실행하면 된다.

xvfb-run python your_script.py

 

그러면 놀랍게도 실행이 된다!!

728x90
반응형