When Your Screen Breaks In The Himalayas

If you’ve ever had the screen break on your laptop, you’ll know it can be rather annoying to have to use an external monitor for a while as you either wait for a replacement panel to arrive from the other side of the world, or wait for that new laptop you were just desperate for an excuse to upgrade to.

Spare a thought, then, for [tom bh] whose laptop screen broke while he was in Ladakh, Northern India. Two days bus ride from the nearest city in which he could hope to source a replacement part, he had to make do with the resources in front of him. A laptop with a broken screen, and his Android phone.

He was fortunate in that a few lines at the top of the screen still worked intermittently. So after logging in blind and finding himself in a shell, he could execute commands and then scroll the results up to the point at which they were visible. He first enabled an SSH server, then connected his phone via USB. A bit of work to find the laptop’s IP address, and he could get himself a laptop shell on his phone with an Android SSH client. He goes into detail about how he was able to use the laptop’s keyboard to emulate a Bluetooth device which he connected to the phone. He could then run a VNC server on the laptop and connect to it with a VNC client on the phone, resulting in a phone-sized laptop display using the laptop’s keyboard as input. Not a perfect physical terminal by any means, but enough for him to continue working.

His writeup is an especially interesting read for its side-by-side evaluation of the various different application choices he made, and contains some useful suggestions as to how anyone might prepare themselves for a dead screen related emergency.

We’ve featured a dead-screen laptop connected as a serial terminal with an Arduino in the past, but unlike this one that only gave its owner a prompt.

Via Hacker News.

25 thoughts on “When Your Screen Breaks In The Himalayas

  1. I think the lesson here is, don’t take homework to the Himalayas. (If he did all that without a Wiki or other reference material I’m really impressed. If someone else had a laptop he could use to look up stuff, then I’m only standard impressed :-)

    1. Agreed. If you’re planning a trip to the Himalayas or Antarctica or the ISS or something then a good start to your checklist would be 1) Pack toothbrush, 2) Make sure appendix have been removed already, 3) Install SSH server on laptop.

  2. Jenny List – Very cool workaround idea.

    However, you said: If you’ve ever had the screen break on your laptop, you’ll know it can be rather annoying to have to use an external monitor for a while as you either wait for a replacement panel to arrive from the other side of the world, or wait for that new laptop you were just desperate for an excuse to upgrade to.

    Well I don’t have a problem plugging an old VGA monitor into the side of my broken-screen notebook and using it is a temporary display. Some laptops even have a video or HDMI jack too. But where to find such a thing in Ladakh India? Many people have the false impression that Buddhist Temples in Himalayas are stuck in some other century. They have been making great strides in modern technology for use in Buddhist education.

    Asking a local monk:“Excuse me, I know this will sound crazy, but might you have an old PC display monitor hanging around in storage or in an office area I could borrow for a coupla’ weeks?” Don’t be shocked if he answers:“Sure! Would an old IBM A.T. RGB monitor be alright? I believe I have one and it has a 15-pin VGA plug too. We don’t need it since we purchased the new HP flat screens last year. Just before we upgraded our Chinese ZTE smartphones.” :-)

  3. “Ideally we want SSH access from our phone to the laptop”

    Nope. Not for this problem.

    There are all sorts of situations where ssh is a useful thing to have. But… it sounds here too much like you are actually planning for a broken screen. If I were planning ahead for that problem then I think there is a much easier way to do it. I would just go with bluetooth serial.

    Since a new laptop probably doesn’t have a serial port I would go with a USB to bluetooth serial adapter. Except… those are all ridiculously overpriced. No big deal… I would get a serial to ttl adapter and a ttl bluetooth adapter. Both are dirt cheap from the usual FleaBay sites.

    Anyway, wire the two together, cover them in shapelock or make a case for them or if you don’t want to build anything then that just stick them in a small box for protection. Place that in your laptop bag so it is there when you need it.

    Now, ordinarily I would say to enable a serial terminal by modifying your inittab but you aren’t going to have this thing plugged in all the time. You don’t want to wait for Linux to error out looking for it every time you boot. So.. maybe you will have to write a little bash script that checks for the presence of your new serial bluetooth adapter and starts agetty or whatever terminal you use if it finds it. Then move the script to your rc.whatever directory that makes things start up at boot time for whatever distro you are using.

    Now all you have to do if you are on the top of a mountain, your screen breaks and you can’t live without it is to stick in your dongle, reboot the computer and connect via bluetooth. No blind typing required. No guessing of ip addresses. You are just in!

    If your laptop does have a serial port and you don’t use it for something else I would do it a bit differently. I’d just go ahead and add getty for the serial port to inittab. Then instead of a usb to ttl adapter I would get an RS-232 to ttl level shifter. That way you don’t have to muck around with a custom script. Actually, it’s probably just an existing line in the inittab to un-comment.

    Better yet.. if you can find ttl-level serial inside the laptop somewhere and just bring that to a connector on the outside.. even better! Now you only need the bluetooth module. I would not permanently attach the bluetooth module though. You don’t want someone else connecting to it.

    For maximum fanciness.. go ahead and install that bluetooth module internally but add a switch to the outside of the laptop to turn it on and off. Only turn it on when you need to connect to it. Now we are talking about cramming extra bits and a hole to mount a switch into a case of a miniaturized device that was not made to be easy to work on. Smells like overkill.

    Why all this ttl serial bluetooth module stuff? Why not just use the laptop’s built in bluetooth support or add a USB bluetooth module? Because that is meant for you to connect out to a device from your laptop, not the other way around. The whole idea is to get away from blindly typing on a broken computer.

    But of course.. all of this is hypothetical. It’s what I would do if I was going to plan for a broken screen. Why would I do that? A laptop has many parts that can break. If I plan for them all then I am carrying two laptops! Unless there is something special about the screen, you especially expect that to break. Why are you getting that prepared for your screen to break? Do you have a temper problem? Do you like to throw things at your screen? Maybe the better solution is therapy.

    “…but it’s unlikely you have that already setup.”

    I think this whole solution is pretty Linux oriented. I can’t imagine blindly installing ssh on a broken Windows laptop. So… are there that many people running Linux WITHOUT sshd? Really?!?! Weird!

    1. > So… are there that many people running Linux WITHOUT sshd? Really?!?! Weird!
      Not weird at all and the standard configuration for most Linux desktops these days including Raspbian. You might want ssh access to a (headless) server, but rarely to a desktop/laptop. It’s good security practice to disable services you don’t need.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s