Difference between revisions of "Application:Terminal"

From WebOS Internals
Jump to navigation Jump to search
(that looks better)
(Links to Preware.)
 
(34 intermediate revisions by 11 users not shown)
Line 1: Line 1:
 
{{application
 
{{application
 
|name=Terminal
 
|name=Terminal
|type=Linux
+
|type=webOS
|version=Version: Pre-Alpha
+
|version=Version: Alpha 0.2.2 <br />(26 Aug 2009)
 
|tag=Utilities
 
|tag=Utilities
 
|screenshot=Application_Terminal.jpg
 
|screenshot=Application_Terminal.jpg
 
|description=
 
|description=
 +
 +
== Summary ==
 +
 +
Terminal is a mojo applicaton for the Pre which runs a full VT-100 or Linux terminal in a mojo scene.  Terminal relies on a custom written plugin developed from community research which allows the mojo app to talk to the back end.  It can be used for local operation to run your Pre, or can reach out from the Pre to other computers. 
  
 
== Status ==
 
== Status ==
  
This is early-alpha software.  Consider yourself lucky if it works at all.  Many people have put many hours of hard work in to get just this far - respect that effort when making comments and suggestions.
+
This is alpha software.  Consider yourself lucky if it works at all.  Many people have put many hours of hard work in to get just this far - respect that effort when making comments and suggestions.
 +
 
 +
==Installation==
 +
Install [[Application:Preware|Preware]], WebOS Internal's over the air installer, and simply choose and install Terminal from the available applications. 
  
 
== License ==
 
== License ==
  
Please be aware that org.webosinternals.terminal and x-webosinternals-termplugin are licensed under the GPLv2.
+
Please be aware that org.webosinternals.terminal and org.webosinternals.termplugin are licensed under the GPLv2.
  
 
They cannot be used by a closed source application.  If you want to use them in a non-GPLv2 but otherwise open source application, please contact the authors.
 
They cannot be used by a closed source application.  If you want to use them in a non-GPLv2 but otherwise open source application, please contact the authors.
  
=== Operating notes ===
+
== Operating notes ==
  
 
Non-obvious keys:
 
Non-obvious keys:
  
 +
<Table><TR><TD>
 +
{{{!}} border="1" cellpadding="4"
 +
{{!}}Desired
 +
{{!}}On Pre
 +
{{!}}-
 +
{{!}}Delete
 +
{{!}}Gesture area - .
 +
{{!}}-
 +
{{!}}Insert
 +
{{!}}Gesture area - 0
 +
{{!}}-
 +
{{!}}Home
 +
{{!}}Gesture area - 1
 +
{{!}}-
 +
{{!}}Up
 +
{{!}}Gesture area - 2
 +
{{!}}-
 +
{{!}}PgUp
 +
{{!}}Gesture area - 3
 +
{{!}}-
 +
{{!}}Left
 +
{{!}}Gesture area - 4
 +
{{!}}-
 +
{{!}}Right
 +
{{!}}Gesture area - 6
 +
{{!}}-
 +
{{!}}End
 +
{{!}}Gesture area - 7
 +
{{!}}}
 +
</TD><TD>  </TD><TD>
 
{{{!}} border="1" cellpadding="4"
 
{{{!}} border="1" cellpadding="4"
 
{{!}}Desired
 
{{!}}Desired
 
{{!}}On Pre
 
{{!}}On Pre
 +
{{!}}-
 +
{{!}}Down
 +
{{!}}Gesture area - 8
 +
{{!}}-
 +
{{!}}PgDn
 +
{{!}}Gesture area - 9
 
{{!}}-
 
{{!}}-
 
{{!}}Control
 
{{!}}Control
Line 30: Line 73:
 
{{!}}Esc
 
{{!}}Esc
 
{{!}}Orange-Space
 
{{!}}Orange-Space
 +
{{!}}-
 +
{{!}}Pipe
 +
{{!}}Orange-Period ("." key)
 
{{!}}-
 
{{!}}-
 
{{!}}Tab
 
{{!}}Tab
 
{{!}}Sym-I  
 
{{!}}Sym-I  
 +
{{!}}-
 +
{{!}}<
 +
{{!}}Shift-,
 +
{{!}}-
 +
{{!}}>
 +
{{!}}Shift-.
 
{{!}}}
 
{{!}}}
 
+
</TD></TR></Table>
 
 
 
*  (Sym is Control and Control I is the standard tab code)
 
*  (Sym is Control and Control I is the standard tab code)
  
  
 +
Rotating the pre will take the terminal to landscape mode.  The keyboard will not rotate with you.  Attempting to physically force the keyboard to rotate to the proper orientation for landscape mode is known to bork a Pre.  :)
  
Rotating the pre will take the terminal to landscape mode.  The keyboard will not rotate with you.  Attempting to rotate the keyboard to landscape mode is known to bork a Pre.
+
Support for both "linux" and "vt100" term types should now be supported, so an export TERM line should no longer be needed.  If you find your screen filling with gibberish that looks like ANSI codes, however, make sure you're using 0.1.4 or later version, and report here or in the IRC channel what you were running in the terminal that caused the issue.
 
 
Shell commands with lots of output will roll off the screen. To scroll the screen, flick the screen. (Hint, it's a Pre app.)
 
 
 
Support for both "linux" and "vt100" term types should now be supported, so an export TERM line should no longer be needed.  If you find your screen filling with gibberish that looks like ANSI codes, however, make sure you're using 0.1.2 or later version, and report here or in the IRC channel what you were running in the terminal that caused the issue.
 
  
 
If you do see odd behavior, you can force the more compatible vt100 terminal type by typing:  
 
If you do see odd behavior, you can force the more compatible vt100 terminal type by typing:  
Line 52: Line 100:
 
(followed by enter)  Note that the case of that command is important.
 
(followed by enter)  Note that the case of that command is important.
  
=== Known bugs ===  
+
=== Recent enhancements ===
 
 
Remember, this is early alpha software.  You're lucky it works at all.
 
  
As of 0.1.2 (7/25/2009), all reported bugs have been fixed. That does not mean that there aren't plenty of bugs still around.  Please find them and report them here.
+
* Prompt for login to enhance security / protect against rogue applications embedding termplugin (more convenient and equally secure method being developed for future release)
  
Some limitations:  Many keys are not implemented.  We're working on it, maybe even as you read this. :)
+
* Color!
  
Y and U:
+
* Arrow keys, hold a finger on the gesture area so that the white LED lights up, and use the numbers area as if it were a direction pad  (ie 2, 4, 6, 8,  correspond to  up, left, right, down,  respectively)
  
If you run the terminal in the emulator provided with the Palm webOS SDK 1.1, be aware that a bug in the emulator causes the keys for U and Y to both send the raw keycode for the button Y.  You can see the same result in Device Info, More Info, Preferences, Interactive Tests, Hardware Buttons.  This is not a bug in the Terminal application.
+
* Several performance enhancements
  
== Installation ==
+
* Screen scrolls automagically (no more flicking to keep up)
  
Do not stray from or vary these instructions.  If you don't do it all, in precisely the right order, with zero mistakes, it's not going to work. Copy & Paste will be your friend.
+
* Comma / underscore key bugs fixed
  
'''You need to be logged in as root with a writeable filesystem.'''  Instructions for both those things can be found elsewhere on this wiki.
+
* Preferences are now saved
  
<source lang="text">
+
=== Known bugs ===
mkdir -p /var/etc/ipkg/
 
ln -s /etc/ipkg/arch.conf /var/etc/ipkg/
 
echo "src/gz all http://ipkg.preware.org/feeds/preware/all" > /var/etc/ipkg/preware.conf
 
</source>
 
  
If you are on the Pre, type:
+
* The command 'reset' does not work; running it actually messed up the state of the terminal (ex. backspace no longer works).
 +
* Some ansiFlags are not being used (ex. blink, italics etc. don't have any visual effect)
 +
* The keybindings need to be redefinable.
  
<source lang="text">
+
Remember, this is early alpha software. You're lucky it works at all.
echo "src/gz armv7 http://ipkg.preware.org/feeds/preware/armv7" >> /var/etc/ipkg/preware.conf
 
</source>
 
  
If you are on the Emulator, type:
+
Reported issues:
  
<source lang="text">
+
* Doesn't display a return in nano properly unless the screen is rotated
echo "src/gz i686 http://ipkg.preware.org/feeds/preware/i686" >> /var/etc/ipkg/preware.conf
+
* No action after running exit in session should restart and ask for a new login
</source>
 
  
Then type:
+
Some limitations: Many keys are not implemented. We're working on it, maybe even as you read this. :)
 
 
<source lang="text">
 
/usr/bin/ipkg -o /var update
 
/usr/bin/ipkg -o /var install x-webosinternals-termplugin
 
ln -s /var/usr/lib/BrowserPlugins/termplugin.so /usr/lib/BrowserPlugins/
 
/usr/bin/ipkg -o /var install org.webosinternals.terminal
 
</source>
 
 
 
Then refresh the GUI to show your new app:
 
 
 
<source lang="text">
 
luna-send -n 1 palm://com.palm.applicationManager/rescan {}
 
</source>
 
 
 
If you performed an upgrade and aren't seeing the changes, restart the GUI service:
 
 
 
<source lang="text">
 
initctl stop LunaSysMgr && initctl start LunaSysMgr
 
</source>
 
 
 
If the above two fail to show the results you're expecting, reboot the device.
 
 
 
== Other PreWare Applications ==
 
 
 
Note that you can use the same commands to install other applications from PreWare:
 
 
 
<source lang="text">
 
/usr/bin/ipkg -o /var update
 
/usr/bin/ipkg -o /var list
 
/usr/bin/ipkg -o /var install <package> # choose a package from the list
 
/usr/bin/ipkg -o /var remove <package>
 
</source>
 
 
 
== Removal ==
 
  
You need to be logged in as root with a writeable filesystemInstructions for both those things can be found elsewhere on this wiki.
+
Y and U:  Y and U in the emulator return the same raw keycode due to a bug in the emulatorHowever we're obtaining the key values a better way now so terminal should no longer be susceptible to this flaw.
  
<source lang="text">
+
== Repository ==
rm /usr/lib/BrowserPlugins/termplugin.so
 
/usr/bin/ipkg -o /var remove org.webosinternals.terminal
 
/usr/bin/ipkg -o /var remove x-webosinternals-termplugin
 
rm /var/etc/ipkg/preware.conf
 
</source>
 
  
Then refresh the GUI to remove the icon:
+
Terminal can be found in the git.webos-internals.org source code repositories.
  
<source lang="text">
+
For commit permission to the project, contact destinal on #webos-internals or email [[mailto:predestinal@gmail.com predestinal@gmail.com]]
luna-send -n 1 palm://com.palm.applicationManager/rescan {}
 
</source>
 
  
If you aren't seeing the icon removed, restart the GUI service:
+
==Command Line Installation ==
  
<source lang="text">
+
Don't use the command line to install Terminal.  Install [[Preware]] first (by using the command line if you must), and then use [[Preware]] to install Terminal.
initctl stop LunaSysMgr && initctl start LunaSysMgr
 
</source>
 
  
If the above two fail to show the results you're expecting, reboot the device.
 
 
}}
 
}}

Latest revision as of 11:02, 19 October 2009

« Go Back to the Utilities application list
Application Terminal.jpg

Terminal - Version: Alpha 0.2.2
(26 Aug 2009)

Summary

Terminal is a mojo applicaton for the Pre which runs a full VT-100 or Linux terminal in a mojo scene. Terminal relies on a custom written plugin developed from community research which allows the mojo app to talk to the back end. It can be used for local operation to run your Pre, or can reach out from the Pre to other computers.

Status

This is alpha software. Consider yourself lucky if it works at all. Many people have put many hours of hard work in to get just this far - respect that effort when making comments and suggestions.

Installation

Install Preware, WebOS Internal's over the air installer, and simply choose and install Terminal from the available applications.

License

Please be aware that org.webosinternals.terminal and org.webosinternals.termplugin are licensed under the GPLv2.

They cannot be used by a closed source application. If you want to use them in a non-GPLv2 but otherwise open source application, please contact the authors.

Operating notes

Non-obvious keys:

Desired On Pre
Delete Gesture area - .
Insert Gesture area - 0
Home Gesture area - 1
Up Gesture area - 2
PgUp Gesture area - 3
Left Gesture area - 4
Right Gesture area - 6
End Gesture area - 7
Desired On Pre
Down Gesture area - 8
PgDn Gesture area - 9
Control Sym
Esc Orange-Space
Pipe Orange-Period ("." key)
Tab Sym-I
< Shift-,
> Shift-.
  • (Sym is Control and Control I is the standard tab code)


Rotating the pre will take the terminal to landscape mode. The keyboard will not rotate with you. Attempting to physically force the keyboard to rotate to the proper orientation for landscape mode is known to bork a Pre. :)

Support for both "linux" and "vt100" term types should now be supported, so an export TERM line should no longer be needed. If you find your screen filling with gibberish that looks like ANSI codes, however, make sure you're using 0.1.4 or later version, and report here or in the IRC channel what you were running in the terminal that caused the issue.

If you do see odd behavior, you can force the more compatible vt100 terminal type by typing:

export TERM=vt100

(followed by enter) Note that the case of that command is important.

Recent enhancements

  • Prompt for login to enhance security / protect against rogue applications embedding termplugin (more convenient and equally secure method being developed for future release)
  • Color!
  • Arrow keys, hold a finger on the gesture area so that the white LED lights up, and use the numbers area as if it were a direction pad (ie 2, 4, 6, 8, correspond to up, left, right, down, respectively)
  • Several performance enhancements
  • Screen scrolls automagically (no more flicking to keep up)
  • Comma / underscore key bugs fixed
  • Preferences are now saved

Known bugs

  • The command 'reset' does not work; running it actually messed up the state of the terminal (ex. backspace no longer works).
  • Some ansiFlags are not being used (ex. blink, italics etc. don't have any visual effect)
  • The keybindings need to be redefinable.

Remember, this is early alpha software. You're lucky it works at all.

Reported issues:

  • Doesn't display a return in nano properly unless the screen is rotated
  • No action after running exit in session should restart and ask for a new login

Some limitations: Many keys are not implemented. We're working on it, maybe even as you read this. :)

Y and U: Y and U in the emulator return the same raw keycode due to a bug in the emulator. However we're obtaining the key values a better way now so terminal should no longer be susceptible to this flaw.

Repository

Terminal can be found in the git.webos-internals.org source code repositories.

For commit permission to the project, contact destinal on #webos-internals or email [predestinal@gmail.com]

Command Line Installation

Don't use the command line to install Terminal. Install Preware first (by using the command line if you must), and then use Preware to install Terminal.