Difference between revisions of "Application:Terminal"

From WebOS Internals
Jump to navigation Jump to search
(added pipe)
(Links to Preware.)
 
(26 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
{{application
 
{{application
 
|name=Terminal
 
|name=Terminal
|type=Linux
+
|type=webOS
|version=Version: Pre-Alpha 0.1.5 (7/28/2009) (fifth public release)
+
|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"
 
{{{!}} border="1" cellpadding="4"
 
{{!}}Desired
 
{{!}}Desired
 
{{!}}On Pre
 
{{!}}On Pre
 +
{{!}}-
 +
{{!}}Delete
 +
{{!}}Gesture area - .
 +
{{!}}-
 +
{{!}}Insert
 +
{{!}}Gesture area - 0
 +
{{!}}-
 +
{{!}}Home
 +
{{!}}Gesture area - 1
 
{{!}}-
 
{{!}}-
 
{{!}}Up
 
{{!}}Up
 
{{!}}Gesture area - 2
 
{{!}}Gesture area - 2
 +
{{!}}-
 +
{{!}}PgUp
 +
{{!}}Gesture area - 3
 
{{!}}-
 
{{!}}-
 
{{!}}Left
 
{{!}}Left
Line 33: Line 53:
 
{{!}}Right
 
{{!}}Right
 
{{!}}Gesture area - 6  
 
{{!}}Gesture area - 6  
 +
{{!}}-
 +
{{!}}End
 +
{{!}}Gesture area - 7
 +
{{!}}}
 +
</TD><TD>  </TD><TD>
 +
{{{!}} border="1" cellpadding="4"
 +
{{!}}Desired
 +
{{!}}On Pre
 
{{!}}-
 
{{!}}-
 
{{!}}Down
 
{{!}}Down
 
{{!}}Gesture area - 8
 
{{!}}Gesture area - 8
 +
{{!}}-
 +
{{!}}PgDn
 +
{{!}}Gesture area - 9
 
{{!}}-
 
{{!}}-
 
{{!}}Control
 
{{!}}Control
Line 48: Line 79:
 
{{!}}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)
  
Line 64: 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.
  
=== Recent enhancements ===  
+
=== 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)
 
* Prompt for login to enhance security / protect against rogue applications embedding termplugin  (more convenient and equally secure method being developed for future release)
Line 78: Line 114:
 
* Comma / underscore key bugs fixed
 
* Comma / underscore key bugs fixed
  
=== Known bugs ===  
+
* 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.
 
Remember, this is early alpha software.  You're lucky it works at all.
Line 91: Line 133:
 
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.
 
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.
  
== Installation ==
+
== Repository ==
 
 
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.
 
 
 
'''You need to be logged in as root with a writeable filesystem.'''  Instructions for both those things can be found elsewhere on this wiki.
 
 
 
<source lang="text">
 
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:
 
 
 
<source lang="text">
 
echo "src/gz armv7 http://ipkg.preware.org/feeds/preware/armv7" >> /var/etc/ipkg/preware.conf
 
</source>
 
 
 
If you are on the Emulator, type:
 
 
 
<source lang="text">
 
echo "src/gz i686 http://ipkg.preware.org/feeds/preware/i686" >> /var/etc/ipkg/preware.conf
 
</source>
 
 
 
Then type:
 
 
 
<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.
 
 
 
== Update ==
 
 
 
'''You need to be logged in as root with a writeable filesystem.'''  Instructions for both those things can be found elsewhere on this wiki.
 
 
 
From a shell:
 
 
 
<source lang="text">
 
/usr/bin/ipkg -o /var update
 
/usr/bin/ipkg -o /var upgrade
 
reboot
 
</source>
 
 
 
== Other PreWare Applications ==
 
 
 
'''You need to be logged in as root with a writeable filesystem.'''  Instructions for both those things can be found elsewhere on this wiki.
 
 
 
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 filesystem.'''  Instructions for both those things can be found elsewhere on this wiki.
 
 
 
<source lang="text">
 
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.