<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://anthias.wetpaint.com/xsl/rss2html.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://anthias.wetpaint.com/scripts/wpcss/wiki/anthias/skin/midnightblue/rss" type="text/css" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>The Anthias Terminal - Recently Updated Pages</title><link>http://anthias.wetpaint.com/pageSearch/updated</link><description>Recently Updated Pages on http://anthias.wetpaint.com</description><language>en-us</language><webMaster>info@wetpaint.com</webMaster><pubDate>Sun, 25 Nov 2007 09:00:53 CST</pubDate><lastBuildDate>Sun, 25 Nov 2007 09:00:53 CST</lastBuildDate><generator>wetpaint.com</generator><ttl>60</ttl><image><title>The Anthias Terminal</title><url>http://image.wetpaint.com/wiki/logo/image/32GIoTe8OnjAJfaQHzGfbvA==10421</url><link>http://anthias.wetpaint.com</link></image><item><title>Communication Protocol</title><link>http://anthias.wetpaint.com/page/Communication+Protocol</link><author>harshad.rj</author><guid isPermaLink="false">http://anthias.wetpaint.com/page/Communication+Protocol</guid><pubDate>Sun, 25 Nov 2007 09:00:53 CST</pubDate><description> 	After considering several &lt;a class=&quot;external&quot; href=&quot;http://anthias.wetpaint.comhttp://editthis.info/anthias/Alternative_communication_protocols&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;Alternative communication protocols&quot;&gt;alternative communication protocols&lt;/a&gt;, simple network sockets were chosen for the communication layer, since   &lt;ul&gt;&lt;li&gt; they can be used for local as well as remote sessions, and  &lt;/li&gt;&lt;li&gt; can be tunneled through SSH. &lt;/li&gt;&lt;/ul&gt; The details of the protocol are described below.&lt;br&gt;&lt;br&gt;&lt;h2&gt; Startup &lt;/h2&gt; User requests a new &lt;a class=&quot;external&quot; href=&quot;http://anthias.wetpaint.comhttp://editthis.info/anthias/Session&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;Session&quot;&gt;session&lt;/a&gt; from Anthias and specifies if it is a &lt;b&gt;local&lt;/b&gt; session, or a &lt;b&gt;remote&lt;/b&gt; session.  &lt;div&gt;&lt;/div&gt;&lt;h3&gt; Local session &lt;/h3&gt; If &lt;b&gt;local&lt;/b&gt; session, then  &lt;ul&gt;&lt;li&gt; Anthias opens a pseudo-tty, &lt;/li&gt;&lt;li&gt; sets TERM_EXTENDED=AnthiasLocal &lt;/li&gt;&lt;li&gt; starts user&amp;#39;s login shell in it. &lt;/li&gt;&lt;/ul&gt; &lt;div&gt;&lt;/div&gt;&lt;h3&gt; Remote session &lt;/h3&gt; If &lt;b&gt;remote&lt;/b&gt; session,  &lt;ul&gt;&lt;li&gt; Anthias prompts user to enter remote hostname/ip. &lt;/li&gt;&lt;li&gt; Anthias connects to remote host using SSH. &lt;/li&gt;&lt;li&gt; Anthias sets env-variables: &lt;ol&gt;&lt;li&gt; TERM_EXTENDED=AnthiasRemote &lt;/li&gt;&lt;li&gt; ANTHIAS_REMOTE_ADDR=#ip_address &lt;/li&gt;&lt;/ol&gt; &lt;/li&gt;&lt;/ul&gt; (This is required so that remote application can bind to the same ip-address as the SSH session.)   &lt;ul&gt;&lt;li&gt; Anthias opens a SSH channel and executes the user&amp;#39;s shell in it.&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;&lt;br&gt;&lt;/h3&gt;&lt;h3&gt; Shell startup &lt;/h3&gt; At this point, the user is presented with an innocuous xterm-like interface. There are no special widgets, no directory browsing, nothing. But now, if the user (or the login process) starts an Anthias-capable shell, the ball starts rolling. We will call this hypothetical shell, the &lt;a href=&quot;http://anthias.wetpaint.com/page/AShell&quot; target=&quot;_self&quot;&gt;AShell&lt;/a&gt;.&lt;br&gt;  &lt;div&gt;&lt;/div&gt;&lt;h2&gt; AShell Registeration &lt;/h2&gt; &lt;ul&gt;&lt;li&gt; AShell checks if TERM_EXTENDED is set. &lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; AShell creates a socket. If TERM_EXTENDED is AnthiasRemote, then it binds the socket to ANTHIAS_REMOTE_ADDR. Otherwise it binds to localhost. &lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; AShell emits &amp;quot;ANTHIAS_REGISTER_SEQUENCE #my_ip #my_port_num&amp;quot; onto the terminal. &lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; When Anthias sees the ANTHIAS_REGISTER_SEQUENCE, it creates a socket and connects it to the AShell&amp;#39;s socket. If the session is local, then this is &lt;/li&gt;&lt;/ul&gt; straight forward. If it is remote, then the SSH service is used to port-forward.  &lt;ul&gt;&lt;li&gt; Anthias emits &amp;quot;ANTHIAS_REGISTER_RESPONSE [success|failure]&amp;quot; onto the terminal. &lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; From now on, communication between AShell and Anthias takes place over the socket.&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;&lt;br&gt;&lt;/h2&gt;&lt;h2&gt; Communication basics &lt;/h2&gt; Communication between AShell and Anthias will be in binary. The advantages of this approach are,  &lt;ul&gt;&lt;li&gt; It will save extraneous string parsing and comparisons. &lt;/li&gt;&lt;li&gt; It will save bandwidth, memory, and ultimately, processing time. &lt;/li&gt;&lt;li&gt; Skipping to next message can be efficiently done by skipping a known number of bytes. &lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;&lt;br&gt;&lt;/h2&gt;&lt;h2&gt; Message Types &lt;/h2&gt; Here we list the message types used by Anthias to communicate with AShell.  &lt;div&gt;&lt;/div&gt;&lt;h3&gt; AShell initiated messages&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://anthias.wetpaint.com/page/FirstTokenCompletions&quot; target=&quot;_self&quot;&gt;FirstTokenCompletions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;ChangePWD&lt;/li&gt;&lt;/ul&gt;&lt;br&gt; &lt;h3&gt; Anthias initiated messages&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Version&lt;/li&gt;&lt;li&gt;ExecuteCommand&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>Project Plans</title><link>http://anthias.wetpaint.com/page/Project+Plans</link><author>harshad.rj</author><guid isPermaLink="false">http://anthias.wetpaint.com/page/Project+Plans</guid><pubDate>Sun, 25 Nov 2007 08:30:55 CST</pubDate><description> 	&lt;h2&gt;Mockups&lt;/h2&gt;A series of mockups is planned, before actual development begins. The current mockup version is &lt;b&gt;4&lt;/b&gt;.&lt;br&gt;&lt;br&gt;&lt;h3&gt;Upcoming planned releases&lt;/h3&gt;&lt;b&gt;Version 5&lt;/b&gt; &lt;br&gt;&lt;ul&gt;&lt;li&gt;Syntax Highlighting. One command for now:&lt;br&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;cd&lt;/b&gt; &lt;font color=&quot;#808080&quot;&gt;/&lt;/font&gt;&lt;font color=&quot;#0000ff&quot;&gt;name&lt;/font&gt;&lt;font color=&quot;#808080&quot;&gt;/&lt;/font&gt;&lt;font color=&quot;#0000ff&quot;&gt;name&lt;/font&gt;&lt;font color=&quot;#808080&quot;&gt;/&lt;/font&gt;&lt;font color=&quot;#00ff00&quot;&gt;nam&lt;/font&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Command parsing by shell. Only the cd command for now.&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Version 6&lt;/b&gt; &lt;br&gt;&lt;ul&gt;&lt;li&gt;Basic job handling support&lt;/li&gt;&lt;li&gt;Ability to pipe stdout/stdin&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Version 7&lt;/b&gt; &lt;br&gt;&lt;ul&gt;&lt;li&gt;Clickable links generatd by shell&lt;/li&gt;&lt;li&gt;Image previews&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Version 8&lt;/b&gt;&lt;br&gt;SSH session support&lt;br&gt;&lt;br&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>Home</title><link>http://anthias.wetpaint.com/page/Home</link><author>pharaoh</author><guid isPermaLink="false">http://anthias.wetpaint.com/page/Home</guid><pubDate>Thu, 20 Jul 2006 13:42:21 CDT</pubDate><description>&lt;h2&gt; 				Welcome to the &lt;b&gt;Anthias Terminal&lt;/b&gt; wiki!&lt;/h2&gt;&lt;br&gt;This is a helper site to the &lt;a href=&quot;http://anthias.wetpaint.comhttp://anthias.sf.net&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;external&quot;&gt;sourceforge hosted&lt;/a&gt; site. For ease of use, this site is divided into two sections:&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://anthias.wetpaint.com/page/Users&quot; target=&quot;_top&quot;&gt;Users&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://anthias.wetpaint.com/page/Developers&quot; target=&quot;_top&quot;&gt;Developers&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;For users, here is a quick link of topics:&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://anthias.wetpaint.com/page/Compiling&quot; target=&quot;_top&quot;&gt;Compiling&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://anthias.wetpaint.com/page/Executing&quot; target=&quot;_top&quot;&gt;Executing&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>Executing</title><link>http://anthias.wetpaint.com/page/Executing</link><author>pharaoh</author><guid isPermaLink="false">http://anthias.wetpaint.com/page/Executing</guid><comments>initial update</comments><pubDate>Thu, 20 Jul 2006 13:37:02 CDT</pubDate><description>First follow the compilation instructions. Then execute anthias like any other KDE4 program. &lt;b&gt;Note:&lt;/b&gt; Use a separte account (say kdetester) for playing with KDE4 programs.&lt;br&gt;&lt;br&gt;Startup anthias as follows,&lt;br&gt;&lt;br&gt;&amp;gt; LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib nice dbus-launch ./anthias_mockup_4&lt;br&gt;&lt;br&gt;Then inside the anthias terminal, run the demoShell as follows,&lt;br&gt;&lt;br&gt;&amp;gt; demoShell/demoShell&lt;br&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>Compiling</title><link>http://anthias.wetpaint.com/page/Compiling</link><author>pharaoh</author><guid isPermaLink="false">http://anthias.wetpaint.com/page/Compiling</guid><comments>initial update</comments><pubDate>Thu, 20 Jul 2006 13:34:35 CDT</pubDate><description>&lt;h2&gt;Requirements&lt;/h2&gt;&lt;br&gt;QT 4.2 (qt-copy from kde-svn)&lt;br&gt;KDE 4.0 (from kde-svn)&lt;br&gt;&lt;br&gt;&lt;h2&gt;Compiling&lt;/h2&gt;Ensure that QTDIR is set to the path where QT4 is installed. Also, KDEDIR&lt;br&gt;should be set to where KDE4 is installed. Then,&lt;br&gt;&lt;br&gt;&amp;gt; $QTDIR/qmake&lt;br&gt;&amp;gt; make&lt;br&gt;&lt;br&gt;Now compile the demoShell.&lt;br&gt;&lt;br&gt;&amp;gt; cd demoShell&lt;br&gt;&amp;gt; make&lt;br&gt;&lt;br&gt;Next, read &lt;a href=&quot;http://anthias.wetpaint.com/page/executing&quot; target=&quot;_top&quot;&gt;how to execute&lt;/a&gt; anthias.&lt;br&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>Similar projects</title><link>http://anthias.wetpaint.com/page/Similar+projects</link><author>pharaoh</author><guid isPermaLink="false">http://anthias.wetpaint.com/page/Similar+projects</guid><comments>initial set of links</comments><pubDate>Thu, 20 Jul 2006 10:30:05 CDT</pubDate><description>There are a zillion alternative file managers out there, each with different features sets. But none have integrated support for a terminal which can allow the user to work with the traditional console shells and applications.&lt;br&gt;&lt;br&gt;Here is a list of related projects, in no particular order,&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;a title=&quot;Krusader&quot; href=&quot;http://anthias.wetpaint.comhttp://www.krusader.org&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;external&quot;&gt;Krusader&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://anthias.wetpaint.comhttp://onefinger.sourceforge.net/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;external&quot;&gt;OneFinger&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://anthias.wetpaint.comhttp://personal.atl.bellsouth.net/v/c/vcato/gsh/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;external&quot;&gt;Gsh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;XmlTerm. This project &lt;a href=&quot;http://anthias.wetpaint.comhttp://xmlterm.sf.net&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot; class=&quot;external&quot;&gt;was hosted&lt;/a&gt; on sourceforge earlier. It came quite close to Anthias&amp;#39; goals. But the project seems to be defunct now.&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>Developers</title><link>http://anthias.wetpaint.com/page/Developers</link><author>pharaoh</author><guid isPermaLink="false">http://anthias.wetpaint.com/page/Developers</guid><comments>brief intro</comments><pubDate>Thu, 20 Jul 2006 10:05:17 CDT</pubDate><description>This page and its sub-pages are intended for &lt;b&gt;developers&lt;/b&gt;. Currently work is progressing on the &lt;a title=&quot;communication protocol&quot; href=&quot;http://anthias.wetpaint.com/page/Communication%20Protocol&quot; target=&quot;_top&quot;&gt;communication protocol.&lt;/a&gt;&lt;br&gt;&lt;br&gt;If you are interested in joinging the project or tracking it, have a look at the &lt;a href=&quot;http://anthias.wetpaint.com/page/project%20plans&quot; target=&quot;_top&quot;&gt;plans.&lt;/a&gt;&lt;br&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>Users</title><link>http://anthias.wetpaint.com/page/Users</link><author>pharaoh</author><guid isPermaLink="false">http://anthias.wetpaint.com/page/Users</guid><comments>brief intro</comments><pubDate>Thu, 20 Jul 2006 10:00:15 CDT</pubDate><description>This page and its subpages are for the &lt;b&gt;users&lt;/b&gt; of anthias.&lt;br&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>FirstTokenCompletions</title><link>http://anthias.wetpaint.com/page/FirstTokenCompletions</link><author>pharaoh</author><guid isPermaLink="false">http://anthias.wetpaint.com/page/FirstTokenCompletions</guid><comments>changed format</comments><pubDate>Mon, 26 Jun 2006 08:42:51 CDT</pubDate><description> 				This message lists all the completions possible for the first token in the command widget. The idea behind this is to reduce the bandwidth by caching the information at the Anthias end.&lt;br&gt;&lt;br&gt;The message can be sent multiple times, whenever an update is required. Anthias clears its previous cache whenever this message appears.&lt;br&gt;&lt;br&gt;&lt;h2&gt;Format&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;uint16 : &lt;b&gt;number of categories&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;for&lt;/b&gt; each category&lt;/li&gt;&lt;ul&gt;&lt;li&gt;char[ ] : &lt;b&gt;category name&lt;/b&gt; or &lt;b&gt;description&lt;/b&gt;&lt;/li&gt;&lt;li&gt;uint16 : &lt;b&gt;syntax highlighting code&lt;/b&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;uint32 : &lt;b&gt;number of entries&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;for&lt;/b&gt; each entry&lt;/li&gt;&lt;ul&gt;&lt;li&gt;char[ ] : &lt;b&gt;short name&lt;/b&gt;&lt;/li&gt;&lt;li&gt;char[ ] : &lt;b&gt;description&lt;/b&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item></channel></rss>