Difference between revisions of "VNC (Virtual Network Computing)"

From WebOS Internals
Jump to navigation Jump to search
(New page: + VNC on the Palm Pre '''NOTE: As an alternative to enabling VNC by following this tutorial, one can use PalmVNC in the Classic emulator with full control. You may download PalmVNC at: ht...)
 
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
+ VNC on the Palm Pre
+
= VNC on the Palm Pre=
  
'''NOTE: As an alternative to enabling VNC by following this tutorial, one can use PalmVNC in the Classic emulator with full control. You may download PalmVNC at: http://palmvnc2.free.fr/download.php'''
+
1. A native VNC client for webOS is now available in the official AppCatalog. Just search for "VNC Client PDK" (de.bernhardslawik.vncclientpdk)
  
The following is a proof of concept:
+
2. There is another Native VNC client for the pre now @ http://www.webos-internals.org/wiki/Application:SdlVNC
  
++ Prerequisites:
+
3. '''NOTE: As an alternative to enabling VNC by following this tutorial, one can use PalmVNC in the Classic emulator with full control. You may download PalmVNC at: http://palmvnc2.free.fr/download.php'''
 +
 
 +
4. The following is a proof of concept:
 +
 
 +
== Prerequisites:==
  
 
1. [http://predev.wikidot.com/rooting Root the Pre].
 
1. [http://predev.wikidot.com/rooting Root the Pre].
 +
 
2. [http://predev.wikidot.com/debian Install Debian chroot].
 
2. [http://predev.wikidot.com/debian Install Debian chroot].
  
++ Demos:
+
== Demos:==
  
 
* [http://www.youtube.com/watch?v=EzLfai2GrKo Video] on YouTube by [http://www.youtube.com/user/nebj00la nebj00la].
 
* [http://www.youtube.com/watch?v=EzLfai2GrKo Video] on YouTube by [http://www.youtube.com/user/nebj00la nebj00la].
 
* Also see image to the right (or [http://i40.tinypic.com/jhfnle.png here]).
 
* Also see image to the right (or [http://i40.tinypic.com/jhfnle.png here]).
  
[[User:Hopspitfire|hopspitfire]] 17:38, 22 July 2009 (UTC)>
+
== Instructions:==
 
 
++ Instructions:
 
  
 
1. Download the source tarball, directvnc_0.7.5.orig.tar.gz.
 
1. Download the source tarball, directvnc_0.7.5.orig.tar.gz.
Line 30: Line 33:
  
 
5. Modify the source of dfb.c (use vi). Remove lines 29, 33, 44, 69 and 83. Here's what each of the lines contains, so you know what we're deleting:
 
5. Modify the source of dfb.c (use vi). Remove lines 29, 33, 44, 69 and 83. Here's what each of the lines contains, so you know what we're deleting:
> 29: IDirectFBInputDevice    *mouse; #We don't have a mouse.
+
> 29: IDirectFBInputDevice    *mouse; #We don't have a mouse.
> 33: DFBCardCapabilities caps; #Won't compile with this line.
+
> 33: DFBCardCapabilities caps; #Won't compile with this line.
> 44: DFBCHECK(DirectFBSetOption ("quiet", "")); #Won't compile with this line, either.
+
> 44: DFBCHECK(DirectFBSetOption ("quiet", "")); #Won't compile with this line, either.
> 69: DFBCHECK(dfb->GetInputDevice( dfb, DIDID_MOUSE, &mouse )); #We don't have a mouse
+
> 69: DFBCHECK(dfb->GetInputDevice( dfb, DIDID_MOUSE, &mouse )); #We don't have a mouse
> 83: mouse->Release( mouse ); #We don't have a mouse
+
> 83: mouse->Release( mouse ); #We don't have a mouse
  
 
As you can see, we're removing code that will support a mouse and other things that cause the source not to compile. I haven't figured out how to get mouse control. Maybe someone can write a mouse driver that uses the touchscreen. :)
 
As you can see, we're removing code that will support a mouse and other things that cause the source not to compile. I haven't figured out how to get mouse control. Maybe someone can write a mouse driver that uses the touchscreen. :)
Line 52: Line 55:
 
<pre><nowiki>/usr/local/bin/directvnc <host><:display></nowiki></pre>
 
<pre><nowiki>/usr/local/bin/directvnc <host><:display></nowiki></pre>
  
'''NOTE: I've noticed some hosts don't display until there has been some activity with the section the client is focused on'''
+
10. Testing: On the PC, take some window (like notepad) and drag it all around the screen, because the Pre won't update it's display until the area of the pre's client focus of the PC window actually sees a pixel change.  So until that part of the windows changes you might not seem connected.  As with any VNC controller you can expect a bit of lag too this is normal.
 +
 
  
 +
.
 
[[Image:Vnc.jpg]]
 
[[Image:Vnc.jpg]]

Latest revision as of 23:42, 24 August 2010

VNC on the Palm Pre

1. A native VNC client for webOS is now available in the official AppCatalog. Just search for "VNC Client PDK" (de.bernhardslawik.vncclientpdk)

2. There is another Native VNC client for the pre now @ http://www.webos-internals.org/wiki/Application:SdlVNC

3. NOTE: As an alternative to enabling VNC by following this tutorial, one can use PalmVNC in the Classic emulator with full control. You may download PalmVNC at: http://palmvnc2.free.fr/download.php

4. The following is a proof of concept:

Prerequisites:

1. Root the Pre.

2. Install Debian chroot.

Demos:

Instructions:

1. Download the source tarball, directvnc_0.7.5.orig.tar.gz. NOTE: There is a newer version of directvnc at http://code.google.com/p/directvnc-rev/ ( tarball at http://directvnc-rev.googlecode.com/files/directvnc-0.7.5-test-051207.tar.gz ) that has a feature that might be very useful on the pre, keyboard remapping - http://code.google.com/p/directvnc-rev/wiki/KeyboardMapping - as well as a few others - http://code.google.com/p/directvnc-rev/wiki/NewFeatures - also if someone wants to get GGI working with DirectFB, ggivnc is under current development (unlike even directvnc-rev which is untouched since 2007) - http://www.lysator.liu.se/~peda/ggivnc/ - ggivnc's author is on #ggi on freenode irc. Another option would be to try a GTK-based VNC client, as with vala-terminal.

2. Move the tarball to /usr/local/src/

3. Run the following command from /usr/local/src/:

tar zxvf directvnc_0.7.5.orig.tar.gz

4. A new directory structure should be created. cd to /usr/local/src/directvnc-0.7.5/src/

5. Modify the source of dfb.c (use vi). Remove lines 29, 33, 44, 69 and 83. Here's what each of the lines contains, so you know what we're deleting:

> 29: IDirectFBInputDevice    *mouse;				#We don't have a mouse.
> 33: DFBCardCapabilities caps;					#Won't compile with this line.
> 44: DFBCHECK(DirectFBSetOption ("quiet", ""));			#Won't compile with this line, either.
> 69: DFBCHECK(dfb->GetInputDevice( dfb, DIDID_MOUSE, &mouse ));	#We don't have a mouse
> 83: mouse->Release( mouse );					#We don't have a mouse

As you can see, we're removing code that will support a mouse and other things that cause the source not to compile. I haven't figured out how to get mouse control. Maybe someone can write a mouse driver that uses the touchscreen. :)

6. Change back to /usr/local/src/directvnc-0.7.5/

7. Run the following command, it will run some checks against the system and get things moving:

NOTE: If any dependencies are missing, let us know in irc.freenode.net #webos-internals, we'll update the wiki.

./configure

8. Run the following command, it will compile the source code:

make && make install

9. Connect to your VNC host:

/usr/local/bin/directvnc <host><:display>

10. Testing: On the PC, take some window (like notepad) and drag it all around the screen, because the Pre won't update it's display until the area of the pre's client focus of the PC window actually sees a pixel change. So until that part of the windows changes you might not seem connected. As with any VNC controller you can expect a bit of lag too this is normal.


. Vnc.jpg