Details of the advanced configuration options are as follows:
 
Details of the advanced configuration options are as follows:
   −
* '''Only allow local connections''' - Only allows remote desktop connections to be established from the local system. This essentials disables access from remote systems.
+
* '''Only allow local connections''' - Only allows remote desktop connections to be established from the local system. This essentially disables access from remote systems.
    
* '''Use an alternate port''' - Remote Desktop access requires the use of a TCP/IP port. By default a port will be assigned to the current connection starting at port 5900. If an alternate port is required, select this option and specify the required port.
 
* '''Use an alternate port''' - Remote Desktop access requires the use of a TCP/IP port. By default a port will be assigned to the current connection starting at port 5900. If an alternate port is required, select this option and specify the required port.
      −
Enter the password and vinagre will appear containing the desktop from the remote system. If remote desktop control was enabled you can interact with the desktop as if you were sitting at the remote screen. The following figure illustrates a vinagre session running on an a Fedora system attached to a remote desktop running on Ubuntu. Note that only part of the remote desktop is displayed. The entire desktop may be viewed by clicking on the ''Full Screen'' toolbar button.
+
Enter the password and vinagre will appear containing the desktop from the remote system. If remote desktop control was enabled you can interact with the desktop as if you were sitting at the remote screen. The following figure illustrates a vinagre session running on a Fedora system attached to a remote desktop running on Ubuntu. Note that only part of the remote desktop is displayed. The entire desktop may be viewed by clicking on the ''Full Screen'' toolbar button.
       
== Establishing a Secure Remote Desktop Session ==
 
== Establishing a Secure Remote Desktop Session ==
   −
The remote desktop configurations we have explored so far in this chapter are considered to be insecure because no encryption is used. This is acceptable when the remote connection does not extend outside of an internal network protected by a firewall perimeter. When a remote session is required over an internet connection a more secure option is needed. This achieved by tunneling the remote desktop through a secure shell (SSH) connection.
+
The remote desktop configurations we have explored so far in this chapter are considered to be insecure because no encryption is used. This is acceptable when the remote connection does not extend outside of an internal network protected by a firewall perimeter. When a remote session is required over an internet connection a more secure option is needed. This is achieved by tunneling the remote desktop through a secure shell (SSH) connection.
   −
Before a secure connection is established the SSH server must be installed in the desktop to which the connection is to be established. For detailed steps on installing the SSH server on an Ubuntu Linux system see [[Configuring Ubuntu Linux Remote Access using SSH]].
+
Before a secure connection is established the SSH server must be installed on the system to which the connection is to be established. For detailed steps on installing the SSH server on an Ubuntu Linux system see [[Configuring Ubuntu Linux Remote Access using SSH]].
    
Once the SSH server is installed and active it is time to move to the other system. At the other system, log in to the remote system using the following command, which will establish the secure tunnel between the two systems:
 
Once the SSH server is installed and active it is time to move to the other system. At the other system, log in to the remote system using the following command, which will establish the secure tunnel between the two systems:
 
</pre>
 
</pre>
   −
The vncviewer or vinagre session will prompt for a password if one is required, and then launch the corresponding viewer providing secure access to your desktop environment.
+
The vncviewer session will prompt for a password if one is required, and then launch the corresponding viewer providing secure access to your desktop environment.
    
If you are connecting to the remote desktop from outside the firewall keep in mind that the IP address for the ssh connection will be the external IP address provided by your ISP, not the LAN IP address of the remote system (since this IP address is not visible to those outside the firewall). You will also need to configure your firewall to forward port 22 (for the ssh connection) to the IP address of the system running the desktop. It is not necessary to forward port 5900. Steps to perform port forwarding differ between firewalls, so refer to the documentation for your firewall, router or wireless base station for details specific to your configuration.
 
If you are connecting to the remote desktop from outside the firewall keep in mind that the IP address for the ssh connection will be the external IP address provided by your ISP, not the LAN IP address of the remote system (since this IP address is not visible to those outside the firewall). You will also need to configure your firewall to forward port 22 (for the ssh connection) to the IP address of the system running the desktop. It is not necessary to forward port 5900. Steps to perform port forwarding differ between firewalls, so refer to the documentation for your firewall, router or wireless base station for details specific to your configuration.
 
== Establishing a Secure Remote Desktop Session from a Windows System ==
 
== Establishing a Secure Remote Desktop Session from a Windows System ==
   −
A similar approach is taken to establishing a secure desktop session from a Windows system. Assuming that you have a VNC client installed (as described above) the one remaining requirement is a Windows ssh client. A populuar ssh client for Windows is ([http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY]).
+
A similar approach is taken to establishing a secure desktop session from a Windows system. Assuming that you have a VNC client installed (as described above) the one remaining requirement is a Windows ssh client. A popular ssh client for Windows is ([http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY]).
    
Once PuTTY is downloaded and installed the first step is to set up a secure connection between the Windows system and the remote Linux system with appropriate tunneling configured. When launched, PuTTY displays the following screen:
 
Once PuTTY is downloaded and installed the first step is to set up a secure connection between the Windows system and the remote Linux system with appropriate tunneling configured. When launched, PuTTY displays the following screen:
 
Once the VNC server package is installed, the next step is to assign a password to protect the desktops. This can be achieved using the ''vncpasswd'' tool. Run this tool from the command-line prompt in a terminal window and enter the password of your choice.
 
Once the VNC server package is installed, the next step is to assign a password to protect the desktops. This can be achieved using the ''vncpasswd'' tool. Run this tool from the command-line prompt in a terminal window and enter the password of your choice.
   Exception encountered, of type "Error"
[b596e7cc] /index.php?title=Remote_Access_to_the_Ubuntu_Linux_Desktop&diff=7623&oldid=7491 Error from line 434 of /var/www/techotopia/includes/diff/DairikiDiff.php: Call to undefined function each()
Backtrace:
#0 /var/www/techotopia/includes/diff/DairikiDiff.php(544): DiffEngine->diag()
#1 /var/www/techotopia/includes/diff/DairikiDiff.php(344): DiffEngine->compareSeq()
#2 /var/www/techotopia/includes/diff/DairikiDiff.php(227): DiffEngine->diffLocal()
#3 /var/www/techotopia/includes/diff/DairikiDiff.php(721): DiffEngine->diff()
#4 /var/www/techotopia/includes/diff/DairikiDiff.php(859): Diff->__construct()
#5 /var/www/techotopia/includes/diff/DairikiDiff.php(980): MappedDiff->__construct()
#6 /var/www/techotopia/includes/diff/TableDiffFormatter.php(194): WordLevelDiff->__construct()
#7 /var/www/techotopia/includes/diff/DiffFormatter.php(140): TableDiffFormatter->changed()
#8 /var/www/techotopia/includes/diff/DiffFormatter.php(82): DiffFormatter->block()
#9 /var/www/techotopia/includes/diff/DifferenceEngine.php(881): DiffFormatter->format()
#10 /var/www/techotopia/includes/diff/DifferenceEngine.php(797): DifferenceEngine->generateTextDiffBody()
#11 /var/www/techotopia/includes/diff/DifferenceEngine.php(728): DifferenceEngine->generateContentDiffBody()
#12 /var/www/techotopia/includes/diff/DifferenceEngine.php(662): DifferenceEngine->getDiffBody()
#13 /var/www/techotopia/includes/diff/DifferenceEngine.php(632): DifferenceEngine->getDiff()
#14 /var/www/techotopia/includes/diff/DifferenceEngine.php(453): DifferenceEngine->showDiff()
#15 /var/www/techotopia/includes/page/Article.php(797): DifferenceEngine->showDiffPage()
#16 /var/www/techotopia/includes/page/Article.php(508): Article->showDiffPage()
#17 /var/www/techotopia/includes/actions/ViewAction.php(44): Article->view()
#18 /var/www/techotopia/includes/MediaWiki.php(490): ViewAction->show()
#19 /var/www/techotopia/includes/MediaWiki.php(287): MediaWiki->performAction()
#20 /var/www/techotopia/includes/MediaWiki.php(714): MediaWiki->performRequest()
#21 /var/www/techotopia/includes/MediaWiki.php(508): MediaWiki->main()
#22 /var/www/techotopia/index.php(41): MediaWiki->run()
#23 {main}