_tkinter.TclError: no display name and no $DISPLAY environment variable 에러 해결
라즈베리 파이를 사용해 화면에 디지털 시계를 크게 표시하려고 자료를 찾았다. 실행하는데 에러가 계속 난다. 당연히 라즈베리 파이는 command 모드로 부팅을 하여 실습을 하고, 다른 컴퓨터에서 putty를 사용해 SSH에 접속하여 실습을 하였다. 전부 다 이런 환경으로 에러가 난 것이다. 으아~ 몇 시간을 또 잡아먹었다. 이렇게 삶은 낭비하는 것이다. ^^
아래와 같은 에러가 발생할 때 해결방법이다.
pi@raspberrypi:~ $ python3 digital_clock.py
Traceback (most recent call last):
File "digital_clock.py", line 5, in <module>
app_window = tkinter.Tk()
File "/usr/lib/python3.4/tkinter/__init__.py", line 1854, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
아래는 해결방법을 찾은 것을 그대로 옮기고 아래 해결방법을 따라서 하면 된다.
Re: help to start with tkinter
Quote
Sat Nov 05, 2016 8:40 pm
I did found the solution.
First you need to start up in GUI mode after reboot
You need to enter the GUI mode under the same login as the ssh connection (not the standard pi or you are logged in as pi at the ssh also)
then you need to execute at the ssh connection the command: export DISPLAY=:0.0
This forces display at hdmi
Than running the GUI programm from ssh the tkinter wil be displayed at the hdmi monitor
해결방법
1. 라즈베리 파이를 GUI 모드로 부팅을 하면 모든 문제가 사라진다. 즉 라즈베리파이를 GUI 모드로 부팅하도록 설정하여 x window로 부팅하여 커맨드 Terminal 을 실행하여 거기서 프로그램을 실행하면 제대로 프로그램이 실행된다. 여담이지만 만약 command 모드로 부팅하였다면 $startx 명령을 실행하여 x 윈도우를 실행하여 실습을 한다. ^^
2. 또한 다른 컴퓨터에서 SSH로 접속한 경우에는 우선 아래와 같은 명령으로 디스플레이 포트를 hdmi 화면으로 설정한다.
$export DISPLAY=:0.0 을 반드시 실행한다. 그 다음 시계 프로그램을 실행하면 다른 모니터 그러니까 라즈베리 파이에 연결된 HDMI 모니터에 아름다운 시계 화면이 나온다. 아래 명령을 실행한다.
pi@raspberrypi:~ $ export DISPLAY=:0.0
pi@raspberrypi:~ $ python3 digital_clock.py
이렇게 문제를 해결하면 된다. 도움 되었다면 뭐든 클릭을 해주시기 바랍니다. ^^


'개발자 > 라즈베리파이4' 카테고리의 다른 글
| 시계가 없어서 10분 만에 만든 디지털 시계 2. 라즈베리파이 사용. (0) | 2021.02.16 |
|---|---|
| 시계가 없어서 10분 만에 만든 디지털 시계 1. 라즈베리파이 사용. (0) | 2021.02.10 |
| 라즈베리파이 Wifi 고정IP 세팅하기 (0) | 2021.02.09 |
| 라즈베리파이 크롬 브라우저 설치, 정확히 크로미움 (0) | 2021.02.09 |
| 지는 노을이 보고 싶어 10분 만에 만든 CCTV. Raspberry pi 사용 (0) | 2021.02.08 |
| Raspberry Pi Pico, 유연한 마이크로 컨트롤러 보드 (0) | 2021.01.29 |
| 팔로우해야 할 Top 10 Raspberry Pi 블로그 (0) | 2021.01.18 |
| 라즈베리파이 spi & i2c 동시에 사용 문제? (0) | 2021.01.15 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩