Use Your Kindle as an External Monitor (well, almost)

April 21st, 2015


You can share a terminal session using your Kindle, which means you can use it as an external monitor for text-only applications. You won’t be able to do much web browsing or design work beside ASCII art, but if you’re a coder or a sysadmin, I’m sure this is not really going to bother you.

Here’s a brief list of steps required to get this hack working.

  • Jailbreak your Kindle.
  • Install a Terminal application on it so that you can open a ssh/telnet session (I used KindleTermPV).
  • Disable the screensaver on the Kindle.
  •  Make sure your host computer has ssh/telnet properly setup (and your firewall also, *hint* chromebook users, Google locks everything by default).
  • Configure your Kindle Terminal application to connect automatically to your host computer and spawn a screen session at startup. For KindleTermPV, I created a file and placed it in /mnt/us/developer/KindleTermPV/work with the following content:
    port 23
    orientation landscape
    login piero
    password <pass here>
    cmd screen -m -S shared
    # Hmm, yeah don't do this over WiFi. USB only!
  • Open your Kindle Terminal application from your Kindle, which will spawn a screen session. Then from your host machine using the same user (piero in my case), run a “screen -x shared” and voilà!

Now the two sessions are shared and whatever you type on your computer will appear on the Kindle! You could potentially attach multiple Kindle devices and share multiple shell sessions, which you can switch with alt+tab if you are running a desktop environment. This works also on Windows using cygwin.

Notable problems:

  • Console only, no graphics (duh).
  • Artifacts appearing for certain characters, probably due to the terminal encoding.
  • Half a second delay between typing and seeing the screen update (not a problem if you are used to dial-up speeds and use ssh).
  • Sometimes the Kindle invalidates certain areas of the screen and you can’t see some parts of the text (a “clear” command fixes it or a full refresh of the page does it also).

Overall, it’s a nice hack that I will be using next time I’m in direct sunlight and I need to ssh to one of my servers (or write the next blog post). Not a real solution for feasible long term outdoor coding, but a small improvement. I wish some company would create a real e-ink laptop.

p.s. heading to Death Valley tomorrow!