-
Kindle를 e-ink 모니터로 사용하기
-
1단계: Kindle 탈옥하기
- mobileread.com에서 LanguageBreak 스레드의 지침을 따르는 것이 좋음
- LanguageBreak 지침을 따르지 않고 직접 시도했지만, LanguageBreak GitHub 저장소는 디버깅에 매우 유용했음
- 어떻게 탈옥하든 루트 셸에 접근하는 것이 중요함
-
2단계: Kindle에 리스너 서버 설정하기
- 포트 8000에서 파일을 수신하고
eips
를 호출하는 Go 프로그램을 작성했음
- 예를 들어, Go 프로그램이 JPG 파일을 수신하고 /tmp/img.jpg에 저장하면 다음 명령어로 이미지를 부분 업데이트로 화면에 그릴 수 있음:
-
eips -g /tmp/img.jpg -w gc16 -x 128 -y 0
- 플래그의 의미는 eips 위키를 참조
- 첫 프레임 전에
eips -c
로 화면을 지우는 것이 좋음
- Go 소스 코드를 잃어버렸지만, 30줄 이하로 매우 간단했음
-
3단계: 스크린 캡처 + 이미지매직
- macOS에서
screencapture
를 사용하여 반복적으로 화면을 캡처하고, 이미지매직을 사용하여 Kindle이 좋아하는 형태, 크기 및 색상으로 변환한 후 usbnet을 통해 netcat으로 전송하는 스크립트를 작성했음
-
/usr/sbin/screencapture -C -x /tmp/orig.png
-
convert /tmp/orig.png -rotate 270 -resize '810x1448!' -type GrayScale -depth 8 -colors 256 /tmp/gray.jpg
-
cat /tmp/gray.jpg | nc -w 0 192.168.15.244 8000
- 해상도와 포트를 리스너 서버에 맞게 조정해야 함
-
4단계: ???
- 어젯밤 재미로 이 작업을 해봤고, 성능과 사용성 측면에서 개선할 여지가 많음
- 연속 프레임 간의 델타가 대부분 비어 있고 매우 압축 가능하기 때문에 각 프레임마다 전체 jpeg 파일을 보내는 것은 매우 비효율적임
- h.264와 같은 코덱이나 vnc와 같은 프로토콜을 재발명하지 않고도 이미 있는 도구들로 빠르게 개선할 수 있을 것임
- 재미있게 해보세요!
-
기타 유용한 자료
GN⁺의 정리
- 이 글은 Kindle을 e-ink 모니터로 사용하는 방법을 설명함
- 탈옥, 리스너 서버 설정, 스크린 캡처 및 이미지 변환 단계를 포함함
- 성능과 사용성 측면에서 개선할 여지가 많음
- Kindle을 창의적으로 활용하고자 하는 사람들에게 유용할 것임
- 비슷한 기능을 가진 다른 프로젝트로는 VNC나 다양한 원격 데스크톱 솔루션이 있음