diff --git a/_config.yml b/_config.yml index 723c2a4..228e4ab 100755 --- a/_config.yml +++ b/_config.yml @@ -275,3 +275,18 @@ collections: status: draft # draft or published published: 2019-11-13 author: Ming Fu + + x2go: + output: true + permalink: /:collection/:name + title: Remote Desktop using X2Go + summary: "Learn to use X2Go to access Remote Desktop running in a Nectar instance." + category: Intermediate + tags: + - tutorial + difficulty: 2 # number from 1 to 5 + duration: 60 # number of minutes + status: draft # draft or published + published: 2019-11-20 + author: Ming Fu + diff --git a/_x2go/01-overview.md b/_x2go/01-overview.md new file mode 100644 index 0000000..22a9df0 --- /dev/null +++ b/_x2go/01-overview.md @@ -0,0 +1,40 @@ +--- +title: Overview +order: 1 +duration: 5 +--- + +A remote desktop is a service that allows a user to access and view an operating system's graphical desktop environment that is running on another computer in another geographical location. In this tutorial, the remote desktop runs in a Nectar virtual machine. The access occurs via the network connection and enables users to interact with the system as if they were physically at their own computer. + +In a remote desktop setup, the local computer receives a copy of the desktop image from the remote computer updated regularly or when a change is detected. The local computer's keyboard and mouse inputs are transferred to the remote computer, where the remote desktop software implements the instructions accordingly. + +Virtual machines running in the Nectar Cloud can be accessed via a remote desktop service, which allows users to access the virtual machines through a desktop GUI rather than a traditional command line console. + +There are many desktop environments available for linux such as KDE, MATE, GNONE, Cinnanmon, Budgie, Xfce and so on. In this tutorial, MATE is used to demo the setup process. Protocols for remote desktop used to enable communication between local computer and remote computer include Remote Desktop Protocol (RDP), virtual network computing (VNC) and NX technology. + +Access virtual machine through a remote desktop provides many benefits over traditional local computer access: + +1. Enables running GUI applications such as Matlab in the Nectar Cloud +2. Allowing users to access a graphical user interface from anywhere +3. Easy to share data and to collaborate among users +4. More storage options and larger disk size +5. More reliable computer system that offers 24 hours access +6. Better technical supports as the virtual machine can be easily accessed by a system administrator + +In this tutorial, you will walk through the setup procedure to install remote desktop on a virtual machine and to setup x2go to access the remote desktop. + +**Cloud One** +This tutorial is part of the Nectar Cloud One curriculum. You should be familiar with the basics of virtual machine and know how to launch and access a virtual machine in Nectar Cloud. If you think you need help with any of that, you should complete [Cloud Start tutorial](/cloud-starter/01-overview) before you start here. +{: .callout-warning} + + +### What you'll learn + +- Install remote desktop in a virtual machine +- Install and setup x2go in a virtual machine +- Install and setup x2go client to access a remote desktop + +### What you'll need + +- A running virtual machine with Ubuntu 19.04 +- Terminal Software diff --git a/_x2go/02-what-is-x2go.md b/_x2go/02-what-is-x2go.md new file mode 100644 index 0000000..5074ff1 --- /dev/null +++ b/_x2go/02-what-is-x2go.md @@ -0,0 +1,30 @@ +--- +title: What is X2Go +order: 2 +duration: 3 +--- + +X2Go is a free remote desktop tool using NX technology for low latency access to graphical desktop environment running on remote computers. + +Features include: + +- Simple installation +- Client supports Windows, Mac and Linux +- Traffic is securely tunnelled over SSH +- Very fast window redraw, low latency feedback on user input +- Dynamic window re-scaling (you can drag the X2Go window to resize it, and the remote windows resize too) +- Supports multiple desktop environments +- Copy and paste passthrough +- Remote file sharing + +### X2Go Server + +The X2Go server is the server application that runs on the remote machine. It starts the graphical desktop sessions and receives the input from X2go client. Then it transfers the rendered desktop and processed results to the X2Go client. + +### X2Go Client + +The X2Go Client is the client application that connects to a remote X2Go server and displays a graphical desktop on a local machine. The client requires X11 server installed on the local machine. On Windows, The X11 server has included in the installation. On Linux, the client uses the local Xorg server. On Mac, XQuartz X11 server is required for the client to function. + +**Note** +Please refer to [X2Go official website](https://wiki.x2go.org/doku.php) for more information about X2Go. +{: .callout-warning} diff --git a/_x2go/03-install-mate.md b/_x2go/03-install-mate.md new file mode 100644 index 0000000..5d4c06e --- /dev/null +++ b/_x2go/03-install-mate.md @@ -0,0 +1,55 @@ +--- +title: Install Mate +order: 3 +duration: 30 +--- + +### What is MATE + +The MATE is a free graphical desktop environment that runs on Linux and BSD operation systems. It is the continuation of GNOME2 desktop. MATE desktop provides an intuitive and attractive desktop environment using traditional metaphors and it feels very familiar with Microsoft Windows and Apple Mac OS. + +For more information about MATE, please refer to [MATE official website](https://ubuntu-mate.org/). + +### Installation of Mate + +1) Login to the virtual machine using a terminal software. Please refer to this [tutorial](/connecting/01-overview) for how to access virtual machine. In this tutorial, we use Ubuntu 19.04 as the operating system on the virtual machine. + +2) Once you are connected to the virtual machine, type in command `sudo apt-update` and enter to execute the command. + +```bash +$ sudo apt update +Hit:1 http://au.archive.ubuntu.com/ubuntu disco InRelease +Get:2 http://au.archive.ubuntu.com/ubuntu disco-updates InRelease [97.5 kB] +Get:3 http://au.archive.ubuntu.com/ubuntu disco-backports InRelease [88.8kB] +Get:4 http://au.archive.ubuntu.com/ubuntu disco-security InRelease [97.5 kB] +Fetched 284 kB in 2s (177 kB/s) +Reading package lists... Done +Building dependency tree +Reading state information... Done +89 packages can be upgraded. Run 'apt list --upgradable' to see them. +$ + +``` + +3) Wait for the above command to be finished, then type in command `sudo apt install -y ubuntu-mate-desktop` and enter to execute the command. + +```bash +$ suto apt install -y ubuntu-mate-desktop + +``` + +4) Once a window is popped out, select the `lightdm` as the default display manager. The command will take a while to install the required packages, please wait until the installation process is finished. + +![mate default display manager window]({{ site.baseurl }}/assets/images/x2go/x2go-default-display-manager.png) + +```bash +Processing triggers for libvlc-bin:amd64 (3.0.8-0ubuntu19.04) ... +Processing triggers for libvlc-bin:amd64 (2.38.1+dfsg-1) ... +Processing triggers for libc-bin (2.29-0ubuntu2) ... +$ + +``` + +**Note** +In this tutorial we assume you are using the Ubuntu 19.04 as the operating system of the virtual machine. +{: .callout-warning} \ No newline at end of file diff --git a/_x2go/04-install-x2go-server.md b/_x2go/04-install-x2go-server.md new file mode 100644 index 0000000..6ecfe51 --- /dev/null +++ b/_x2go/04-install-x2go-server.md @@ -0,0 +1,43 @@ +--- +title: Install X2Go Server +order: 4 +duration: 5 +--- + +1) In your SSH terminal, type in the following command to install the X2Go repository. + +```bash +$ sudo add-apt-repository ppa:x2go/stable + +``` + + +2) Once the command is finished. Type in the following command to update. + +```bash +$ sudo apt-get update + +``` + + +3) Install X2Go server. + +```bash +$ sudo apt-get install x2goserver x2goserver-xsession + +``` + + +4) Install X2Go MATE binding + +```bash +$ sudo apt-get install x2gomatebindings + +``` + + +For more information about how to install X2Go server on other operating systems, please refer to [install X2go Server](https://wiki.x2go.org/doku.php/doc:installation:x2goserver). + +**Note** +We assume you use the Ubuntu 19.04 as the operating system of your virtual machine. + {: .callout-warning} \ No newline at end of file diff --git a/_x2go/05-install-x20-client.md b/_x2go/05-install-x20-client.md new file mode 100644 index 0000000..844911c --- /dev/null +++ b/_x2go/05-install-x20-client.md @@ -0,0 +1,34 @@ +--- +title: Install X2Go Client +order: 5 +duration: 10 +--- + +After you have installed the MATE and X2Go Server, you will now install the X2Go client on your local computer. Depending on which OS you are using, instructions will differ. Go to the instructions below for your operating system. If you have a operating system not listed here, you can find additional documentation on how to install the client on the [Official X2Go website](https://wiki.x2go.org/doku.php/doc:installation:x2goclient). + + +### Installation of the X2Go client on Windows + +1. Download the X2Go client for Windows at the following address [X2Go Client](http://wiki.x2go.org/doku.php/doc:installation:x2goclient#ms_windows). + +2. Double click the downloaded client and follow the installation wizard's steps. You may keep all default options. + + +### Installation of the X2Go client on Ubuntu or Debian + +```bash +$ sudo apt-get update +$ sudo apt-get install x2goclient +``` + +You can now start X2Go Client by typing `x2goclient` at the command-line or you can find it inside the `Internet` section of your menu inside your graphical desktop environment. + +### Installation of the X2Go client on Mac OS X + +1. The X2go Mac client requires OS X11 server called `Xquartz`. If you don't have `Xquartz` installed, you can get it from the [Xquartz website](https://www.xquartz.org/). Download it. +2. Double click the .dmf to make its content available. +3. Drag the application from the .dmf window into /Applications to install and wait for the copy process to finish. +4. eject the .dm file and delete it. +5. Once the installation is finished, start the XQuartz server. You can find it in the spotlight search (open it with Cmd+Space), and type in `xquartz` to find it. Click on it to start. +6. In the Preferences, go to the `Security` tab and enable `allow connections from network clients`. +7. Download the X2Go Mac client from the X2Go Mac Client [website](https://code.x2go.org/releases/binary-macosx/x2goclient/). diff --git a/_x2go/06-access-remote-desktop.md b/_x2go/06-access-remote-desktop.md new file mode 100644 index 0000000..a0c2395 --- /dev/null +++ b/_x2go/06-access-remote-desktop.md @@ -0,0 +1,23 @@ +--- +title: Access Remote Desktop Using X2Go Client +order: 6 +duration: 5 +--- + +The below instruction shows how to set up X2Go Client to connect to a remote virtual machine with X2Go Client installed in windows environment. For instructions in Linux and OS X, please prefer to X2Go official [website](https://wiki.x2go.org/doku.php/doc:newtox2go). + +1) Double click X2Go Client icon on the desktop, or you can search it through Windows search function. You should see the below screenshot: + +![X2Go Windows Client Screenshot1]({{ site.baseurl }}/assets/images/x2go/x2go-windows-client1.png) + +2) You need to create a session to connect to the remote virtual machine. Click `session` menu and then click `New session` menu item. You should see the below screenshot: + +![X2Go Windows Client Screenshot2]({{ site.baseurl }}/assets/images/x2go/x2go-windows-client2.png) + +3) You need to provide a `Session Name`, the IP of the virtual machine (the one running MATE and X2Go Server) in `Host` field and the user account (ubuntu for Ubuntu Image, please refer to (Image Catalog[)https://support.ehelp.edu.au/support/solutions/articles/6000106269-image-catalog#username] for account in other images) in `Login` filed. In `Use RSA/DSA key for ssh connection` field, put the private key matching the public key used when launching the virtual machine in Nectar Cloud. In the `Session type` dropdown list, select `MATE` as your remote desktop. You can also select other remote desktop type if it is installed on your virtual machine. Then, click OK and you should see something like the below screenshot: + +![X2Go Windows Client Screenshot3]({{ site.baseurl }}/assets/images/x2go/x2go-windows-client3.png) + +4) Double click that new icon on the right hand side of X2Go window, you should see the mate desktop: + +![X2Go Windows Client Screenshot4]({{ site.baseurl }}/assets/images/x2go/x2go-windows-client4.png) diff --git a/_x2go/07-x2go-next-steps.md b/_x2go/07-x2go-next-steps.md new file mode 100644 index 0000000..da3e66d --- /dev/null +++ b/_x2go/07-x2go-next-steps.md @@ -0,0 +1,11 @@ +--- +title: Next Steps +order: 7 +duration: 2 +--- + +In this tutorial you learnt how to install MATE (graphical desktop environment), install and setup the X2Go server and install and setup the X2Go client. Now, you know how to connect to a remote desktop running in your machine using X2Go and you can start using the remote desktop environment. + +**Cloud One** +Congratulations. You've completed another step on your Cloud Computing journey. Continue with the Cloud One Series. +{: .callout-success} \ No newline at end of file diff --git a/_x2go/index.md b/_x2go/index.md new file mode 100644 index 0000000..ffcfd0b --- /dev/null +++ b/_x2go/index.md @@ -0,0 +1,3 @@ +--- +redirect_to: /x2go/01-overview +--- diff --git a/assets/images/x2go/x2go-apt-update-console.png b/assets/images/x2go/x2go-apt-update-console.png new file mode 100644 index 0000000..675eba3 Binary files /dev/null and b/assets/images/x2go/x2go-apt-update-console.png differ diff --git a/assets/images/x2go/x2go-default-display-manager.png b/assets/images/x2go/x2go-default-display-manager.png new file mode 100644 index 0000000..cdb9eb6 Binary files /dev/null and b/assets/images/x2go/x2go-default-display-manager.png differ diff --git a/assets/images/x2go/x2go-finish.png b/assets/images/x2go/x2go-finish.png new file mode 100644 index 0000000..218184e Binary files /dev/null and b/assets/images/x2go/x2go-finish.png differ diff --git a/assets/images/x2go/x2go-install.png b/assets/images/x2go/x2go-install.png new file mode 100644 index 0000000..73bde13 Binary files /dev/null and b/assets/images/x2go/x2go-install.png differ diff --git a/assets/images/x2go/x2go-windows-client1.png b/assets/images/x2go/x2go-windows-client1.png new file mode 100644 index 0000000..d7ef623 Binary files /dev/null and b/assets/images/x2go/x2go-windows-client1.png differ diff --git a/assets/images/x2go/x2go-windows-client2.png b/assets/images/x2go/x2go-windows-client2.png new file mode 100644 index 0000000..1bd2dd5 Binary files /dev/null and b/assets/images/x2go/x2go-windows-client2.png differ diff --git a/assets/images/x2go/x2go-windows-client3.png b/assets/images/x2go/x2go-windows-client3.png new file mode 100644 index 0000000..63edf36 Binary files /dev/null and b/assets/images/x2go/x2go-windows-client3.png differ diff --git a/assets/images/x2go/x2go-windows-client4.png b/assets/images/x2go/x2go-windows-client4.png new file mode 100644 index 0000000..4d3f0af Binary files /dev/null and b/assets/images/x2go/x2go-windows-client4.png differ