Graphical Shell with WebShell

From WebOS Internals
Jump to navigation Jump to search

Most people are reporting that Graphical_Shell_with_ajaxPHPterm works better than this method. You might want to try that one first ...

This article will allow you to use your web browser on your Pre for a terminal. You should have already rooted your Pre and installed an SSH server, enabled sudo and set up the optware repositories.

1. SSH into your Pre. 2. Download Webshell:


3. Install Python:

sudo /opt/bin/ipkg-opt install python

4. Extract the contents of


5. Generate a server certificate:

cd WebShell-0.9.6
sh ./

6. Move WebShell to /opt/share/webshell:

cd ..
sudo mv WebShell-0.9.6/ /opt/share/webshell

7. Create an upstart script "/etc/event.d/webos-webshell" with the following contents:

start on stopped finish
stop on runlevel [!2]

console none


exec /opt/bin/python /opt/share/webshell/ -c "/opt/bin/ssh -p 222 -l $USER localhost" --ssl-disable

where $USER is replaced by your user name.

8. Restart the Pre.

9. Open up your web browser and go to

10. Type in your password and you now have a shell. You can run any commands you want now directly on your phone.

Note If it looks like you are seeing a bunch of text flash at the top of the screen, rotate your phone into Landscape mode, hit the enter key a bunch of times. You will either be able to see the error and can fix it through your version of SSH or you will get a disconnection message. If you do get a disconnected message, hit Refresh and try to login. It should start working then.

Note Eventually there will be a way to disable the auto-text functions (automatic caps especially).

Verified to work as typed by optik678 and hopspitfire.

- webOS 1.1: Can not get this to work with the new webOS. Same error over and over:

'import site' failed; use -v for traceback
Traceback (most recent call last):
  File "/opt/share/webshell/", line 8, in <module>
    import array, time, glob, optparse, random, re
  File "/opt/lib/python2.5/", line 3, in <module>
    import os
  File "/opt/lib/python2.5/", line 694, in <module>
    import copy_reg as _copy_reg
  File "/opt/lib/python2.5/", line 7, in <module>
    from types import ClassType as _ClassType
ImportError: No module named types