User Tools

Site Tools


wiki:advanced:x2goplugin

This is an old revision of the document!


X2Go Browser Plugin

Using the packages x2goplugin on the client and x2goplugin-provider on the server offers X2Go's functionality within various Browsers, such as Firefox, Chrome, Konqueror and Epiphany. This happens by providing a special website via a webserver, for example apache. The X2GoPlugin receives its configuration via this website.

Prerequirements: We assume that the appropriate package mirrors for Debian GNU/Linux or Ubuntu have already been configured. Please see X2Go Server Installation for further information.

Client

Installation Debian GNU/Linux

apt-get install x2goplugin

Installation Ubuntu

apt-get install x2goplugin

Damit ist die Installation am Client abgeschlossen, das X2GoPlugin steht nach einem Neustart via Browser zur Verfügung.

Server

Installation Debian GNU/Linux

apt-get install apache2 x2goplugin-provider

Installation Ubuntu

apt-get install apache2 x2goplugin-provider

This installs the necessary files and dependencies. The plugin is instantly usable on the server via localhost/x2goplugin.html. Using it on the server is not the desired scenario, so we need to change the configuration. The file x2goplugin.html lies at /usr/share/x2go/plugin/. It is recommended to create a backup of the original file before modifying it.

cp /usr/share/x2go/plugin/x2goplugin.html /usr/share/x2go/plugin/x2goplugin.html.orig

The file's content can then be modified to reflect your own requirements. At a minimum you should substitute “server=localhost” with your server's public IP / hostname. After that you can access X2Go via your browser:

http:<your-server's-IP-or-hostname>/x2goplugin.html This is the original content of the file: <code> <!DOCTYPE HTML PUBLIC “-W3CDTD HTML 4.01 TransitionalEN”> <head> <title>X2Go Application Service</title> </head> <body onload="checkPlugin()"> <div id="x2goplugin"> <object src="location" type="application/x2go" name="x2goplugin" palette="background" height="100%" hspace="0" vspace="0" width="100%" x2goconfig=" session=X2Go-Demo-Session server=localhost user= sshport=22 command=XFCE rootless=false sound=true exportfs=true speed=adsl compression=16m-jpeg quality=9 dpi=120 kbdlayout= kbdtype=auto showtoolbar=true showstatusbar=true usekbd=true soundsystem=pulse soundtunnel=true defsndport=true print=true rootless=false published=false applications=WWWBROWSER, MAILCLIENT, OFFICE, TERMINAL "> </object>   </div> </body> </code> You can certainly also move the file x2goplugin.html into /var/www. Then it is recommended to remove the link x2goplugin.conf within /etc/apache2/conf.d, which is just a link to /etc/x2goplugin-apache.conf.

ls -al /etc/apache2/conf.d/x2goplugin.conf 
lrwxrwxrwx 1 root root 33 Mär 22 23:42 /etc/apache2/conf.d/x2goplugin.conf -> ../../x2go/x2goplugin-apache.conf
root@x2goserver:/etc/apache2/conf.d

This file contains the alias which defines an alias for the url http:<your-server's-IP-or-hostname>/x2goplugin.html. (The URL http:<your-server's-IP-or-hostname> still delivers the expected file /var/www/index.html.)

cat /etc/x2go/x2goplugin-apache.conf Alias /x2goplugin.html /usr/share/x2go/plugin/x2goplugin.html

FIXME FIXME FIXME FIXME

THE BELOW INFORMATION IS NOT UP-TO-DATE, IT HAS TO BE REWRITTEN!!!!

FIXME FIXME FIXME FIXME

plugin example page

x2goplugin is a Firefox plugin.

On supported systems, this plugin acts as a web portal which can be used to access an x2go session via Firefox web browser instead of using one of the x2goclients. Note: the current plugin does not yet support Firefox 4.x.

Installation of x2goplugin

Please visit the webssite http://plugin.x2go.org. This website will offer you a x2goplugin suitable for your operating system and system architecture.

Currently the x2goplugin is available for the following systems:

  • Linux 32 bit
  • Linux 64 bit
  • Windows 32 bit

Inserting x2goplugin into a webpage

This is a short tutorial how to integrate the x2go plugin into a website.

building a minimal website

You'll need a Website to carry the plugin. Please feel free to use your own Website code. This is just a example which should be used to get started:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>x2go Plugin</title>
  </head>
  <body>
    <div id="x2goplugin" style="width: auto; hight: auto;">
        <--x2goplugin //--> 
    </div>
  </body>
</html>

You can use either use a

container with the help of css to set the size of the plugin or with the help of the <option></option> tag. As the plugin and a connected x2go session can be resized inside a website, we recommend using a

container for this purpose and to set the <option></option> with and height value to 100%.

inserting the <object></object> code

Please paste the following code inside your website between the

command:

    <object src="location" 
	type="application/x2go" 
	pluginspage="http://plugin.x2go.org/index.html" 
	pluginurl="http://plugin.x2go.org/download/x2goplugin_linux32.xpi" 
	name="x2goplugin" 
	palette="background" 
	height="100%" 
	hspace="0" 
	vspace="0" 
	width="100%"
        x2goconfig="
session=mysessionname
server=myserver.org
user=myusername
sshport=22
command=KDE
rootless=false
sound=true
exportfs=true
speed=adsl
compression=16m-jpeg
quality=9
dpi=120
kbdlayout=de
kbdtype=pc105/de
showtoolbar=true
showstatusbar=true
">
        <--x2goplugin //-->
    </object>    

You can change the the value “session” to whatever you like - it is just the name of the session.

The value “server” should be the hostname or the IP-address of the x2goserver which should be contacted by the plugin as your target “desktop server”.

The value “user” can be left blank, otherwise this “username” will be used as login for the x2go session and the user will not be able to change that login ID.

The value “sshport” should be set to 22 - you should only change this if you've previously changed the SSH port number in the /etc/ssh/sshd_config file on the x2goserver.

You can choose the used Desktop Environment or application by changing the value “command”.

  • If you specify “KDE” or “GNOME” then x2go will present you with an entire remote desktop.
  • If you specify any application (such as: firefox) which is executable by the user then only that application will appear without the entire remote desktop.

The value “rootless” should be set to false for use with a whole Desktop Environments and Window Manager. If you plan to use single applications you can use this feature to use the local running window manager.

If you intend to utilize the automatic update service (recommended), do not change the urls used in the values “pluginspage” and “pluginurl”.

The value “name” is mandatory and should not be changed. If you don't want to use the

container, you should take care of reasonable height and width settings.

checking if the plugin is already installed (and offering it if not)

If you are visiting the created website, you'll only get a x2goplugin shown if it was previously installed by the user. If not, only a white space will appear. To check whether the plugin is installed or not, we'll need to add a javascript to the website. This too will offer the user the plugin if it wasn't installed before or inform him about the availability.

Inside the website's <head> </head> section you'll need to add the needed javascript.

You should use the plugin directly from our server to make sure that you'll get the latest version. The download url of the x2goplugin can change, because we want to store it on the Mozilla Add On site in future. Of cause you can also download the script here (http://plugin.x2go.org/media/x2goplugin.js) but please make sure that you'll update it in case it was changed on our server:

  <head>
    <title>x2go Plugin</title>
    <script src="http://plugin.x2go.org/media/x2goplugin.js" type="text/javascript"></script>
  </head>

The javascript will need to be started, so you should add the the command “onLoad” to the <body></body> tag of the website:

<body onload="checkPlugin()">

a complete website example

Your whole Website should now look something like this (This site makes use of an already existing css file on our server. You can also use the

settings as described before):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>x2go Plugin</title>
    <link rel="stylesheet" type="text/css" href="http://plugin.x2go.org/media/x2goplugin.css">
    <script src="http://plugin.x2go.org/media/x2goplugin.js" type="text/javascript"></script>
  </head>
  <body onload="checkPlugin()">
    <div id="x2goplugin">
    <object src="location" 
	type="application/x2go" 
	pluginspage="http://plugin.x2go.org/index.html" 
	pluginurl="http://plugin.x2go.org/download/x2goplugin_linux32.xpi" 
	data="x2go.server" 
	hidden="false" 
	name="x2goplugin" 
	palette="background" 
	height="100%" 
	hspace="0" 
	vspace="0" 
	width="100%">
        <!--x2goplugin //-->
    </object>    
    </div>
    <div id="description">
    <h4>x2goplugin</h4>
    <p>This website will offer you a plugin named "x2goplugin". With the installed
    plugin you'll be able to start or recover a session running on a x2goserver. 
    The server needs to be preconfigured.
    To get more information about what x2go is, please visit <a href="http://www.x2go.org">http://www.x2go.org</a>.
    </p>
    </div>
  </body>
</html>
wiki/advanced/x2goplugin.1364602589.txt.gz · Last modified: 2013/03/30 00:16 by tobias