Software Farm for Linux
Linux users who want to access Software Farm currently only have one safe option, which is to use the Farm's remote desktop.
But it is possible for the inquisitive and daring linux-user to run single applications from the Software Farm without connecting to the entire remote desktop (§ 5 and 6, below), or to use the Web-interface of the Farm (§7 below). We suggest these things as possibilities, but we do not support or endorse them.
Norsk versjon - Programfarm med Linux
Table of Contents [-]
- The Software Farm's 5 desktops
- Linux client software for accessing the remote desktops
- Remmina - graphical interface to the remote desktop
- Using the remote desktop
- Use of XFreeRDP, the command line program
Looking for something else?
The Software Farm's 5 desktops #
The Software Farm has 5 desktop options:
|External desktop||Who are to use it|
|adminfarm.ntnu.no||Employees at NTNU. Not employees at perimeter companies.|
|officefarm.ntnu.no||Students at NTNU. Employees at perimeter companies like SINTEF, Uninett, NTNU Samfunsforskning AS. Accessible also for NTNU employees with student accounts.|
|calcfarm.ntnu.no||Students and employees at NTNU who need scientific software and software which demand heavy number-crunching power.|
|legacyfarm.ntnu.no||Employees of the NTNU administration who need the outdated software necessary to access NTNU's accounting systems.|
Officefarm and adminfarm contains the entire MS Office packet and a rich diversity of other office work tools. Calcfarm contains different mathematics and calculations software.
General points concerning the remote desktops #
- You can open one or the other of the desktops on your own PC, either as a window or as a full screen application. You can then use the software available as if it were actually loaded onto your own PC.
- You will have a shared clipboard for your own PC and the external desktop, and you can save programs on your network drive (home area M:\).
- In certain circumstances, you will also have your own local disk and printer available during your remote session.
Linux client software for accessing the remote desktops #
The standard Linux distributions contain a diversity of programs to access remote desktops. As an example, Ubuntu 16.04 offers:
- Remmina: a graphic program: The recommended option.
- Xfreerdp: a command line program
- rdesktop: a command line program
- grdesktop: a graphic shell for rdesktop
- vinagre: graphic program
Recommended: Remmina. Remmina is constantly updated and developed. It has a user friendly graphical interface and more options than the alternatives. Remmina is currently a graphical interface using xfreerdp as its kernel. xfreerdp is also under constant development.
rdesktop is incapable of forwarding your local disk to the remote desktop. This applies henceforth also to grdesktop. rdesktop is no longer under development and must be considered obsolete.
vinagre is still under active maintenance, but lacks most of remmina's features.
Remmina - graphical interface to the remote desktop #
Use your favorite method to install the packages "remmina" and "remmina-plugin-rdp" from your linux-distribution, and then launch it. This will also install the xfreerdp-libraries.
When remmina is started, click on the New icon on the toolbar. The "Remote Desktop Preference" panel will open up.
- Give your connection a name, such as "adminfarm".
- Choose RDP as your Protocol, and fill in the server address. Here we have used adminfarm.ntnu.no
- Then enter your user name and password.
- The Domain is win-ntnu-no
- Share folder allows you to choose which folder from your local disk on your PC you want forwarded connect to the remote desktop. In the example below we have chosen /home/olavgun. It is also possible to chose your entire file system.
- In the panel, choose the Advanced tab.
- Set Quality to Best. With modern broadband, the warning "(slowest)" is no cause for worry.
- In the panel, you see where to tick to forward you local printer to the remote desktop. Forwarding a local printer presupposes the you have set up a default local printer in CUPS on your linux PC.
- Set Security to Negotiate. This means the the Remote Desktop server will choose the security mode for you.
- Remmina will save your set-up when you click on Connect, but you can also use the Save button.
The first time you connect to each of the Software Farm's desktops, you will be asked to accept a certificate. Press "OK". This will look approximately like this:
Now the remote desktop will open in a window on your linux desktop.Trouble with certificates might make it necessary for you to delete or edit entries in /home/<local_user>/.config/freerdp, either in the file "known_hosts" or in the directory "certs", on your local computer.
Using the remote desktop #
When you have pressed "Connect" in Remmina, the remote desktop will open in a window on your linux-desktop:
This is the remote desktop. You can see remmina's toolbar at the top of the window. The toolbar lets you choose between working in a full screen mode or in a window mode and between different simultaneous remote sessions.
At the bottom of the window, we see the remote desktop's Windows toolbar.
It is the desktop which is the background on which the remote applications run.
The start screen #
At the left end of the Windows toolbar, we see a white Windows-icon. Click on this, and the start screen will replace the desktop:
The start screen replaces the start menu we know from Windows 7. We notice the tiles we can press to launch programs.
By pressing the rectangular tile marked "Desktop" we return to the desktop. In this screenshot the tile is black, but it should normally have an orange color.
At the lower left of the start screen, we notice a white circle with a white "down" arrow in it. By pressing this icon a new screen will replace the start screen. This is the all applications screen. This screen replaces the "show all applicatons" menu in the Windows 7 start menu.
From this screen you can take your pick among the abundant offering of the Software Farm.
We notice that the white circle at the lower left of the screen now contains an arrow pointing upwards. Press this arrow, and you return to the ordinary start screen.
To log out #
On the start screen's top right hand corner, press your name, and choose Sign out.
The Clipboard #
You can cut and paste between different programs that you have running in your remote session and ones that you have on your local desktop.
Available disks #
By pressing "This PC" on the start screen, or pressing File Explorer, either from the desktop's toolbar or from the start screen, you will see the disks and drives accessible from the remote desktop.
Your user profile on win.ntnu.no will make sure that your network disk (Hjemmeområdet (M:) on the screenshot below) and other resources have been connected.
If you click on "Documents", either in the left navigation pane, or in the main area, you will notice that this is also your network disk (home area M:\). Saving your file to "Documents" will, then, save them to this well known place.
If the forwarding of your local disk or folder has been successful, your local disk on your Linux PC will be shown under Annet (Other). (Here you can see that the local folder /home/olavgun has been forwarded to the remote session as olavgun på oglinvirt.) The forwarded disk can also be found under Network->tsclient-><forwarded disk>.
At the present time and with Ubuntu 16.04, forwarding the local disk did not work for me. It seems that the fault lies with FreeRDP-libraries. To make disk-forwarding work, I had to download and compile the development-branch of FreeRDP. No changes to Remmina were necessary.
Screenshot taken at 24.10.2016, using Remmina from Ubuntu 16.04. No disk forwarding?!
Find and add a program on the start screen #
When you have logged in and have opened the start screen with the tiles on it, you can search for software by typing the name of the software program on your keyboard. A field will come up where you can see what you have typed. The system uses an incremental search, which means that for each letter that you type in, the search engine will call up a list of software that includes those letters. For example, if you type w, you'll get a list of all the software that begins with the letter w, or if you type wo you'll get a list of software that starts with the letters wo, and so on.
The above screenshot shows what you get if you type in "clue". Now all you have to do is to click on Clue to start the software.
From the all applications screen, you can also right click on the application's tile. This will bring up a menu that will ask you if you want to put the application's icon to your Windows desktop task bar or its tile on your start screen. The choice will then be saved in your local profile, and the icon on the taskbar or the tile on the start screen will be available the next time you log in for a remote desktop session.
The choices are saved to your local windows profile on the farm you are logged on to, so that choices on adminfarm will not be saved to officefarm etc.
Above: the tile for Clue is now accessible from the start screen.
Below: the icon for Clue is now on the windows task-bar.
Adding a printer to your Windows profile #
- You can set up a printer near you on your external desktop, which will then be saved in your profile so you can use it the next time you log on.
- From the start screen, open the control panel.
From the control panel, choose (Hardware ->) Devices and printers.
You will then get the following screen, where you should click onAdd a printer.
A panel with the title "Add Printer" will be opened, and inform you that "No printer were found" and "The printer that I want isn't listed". Press Next.
You will now be led to a panel which says "Find a printer by other options".
- Choose "Select a shared printer by name", and fill inn the text field with:
- You have to make sure to use the backslash at the end of the address.
- A list of accessible printers will then be shown. You'll have to figure out which one or ones are in your neighbourhood. The printer names themselves are usually pretty helpful with this (but not always).
Select your printer and press "Next". The next panel will give you the option to choose this printer as your default printer. Then press "Finish", and you are done.
The control panel's "Devices and printers" will now include your selected printer and show a green tick beside it if you made it your default printer.
Working seamlessly with Remmina #
If you know the name of the software that you want to start in your remote system, you can start the program direct from the local Ubuntu desktop which you run locally. This means that you run it in a Remmina window but without having the rest of the remote desktop available. By adjusting the size of yourRemmina window, it can seem like you actually have the program loaded on your PC. By typing "WINWORD" in the "Startup program" you can start Word directly, without using the external desktop.
For other programs, my experience was that I had to know the entire file-path, e.g. for Clue:
C:\Program Files (x86)\Clue10\Clue.exe
Use of XFreeRDP, the command line program #
For the technically inquisitive user #
Everything in this doc from here on, apply to the technically inquisitive user. You will not get help from Orakel or any other place for this.
To open one of the Software Farms' remote desktops #
Remmina uses the software libraries of xfreerdp to connect to the remote desktops. But it is also possible to use xfreerdp directly, from the command line.
The package to install from your linux supplier is called freerdp-x11, and the program installed is called xfreerdp. Use your favourite software installer, or install from the command line with "apt install freerdp-x11".
In the most simple case you can type at the command prompt:
xfreerdp /u:<ditt_brukernavn> /d:win-ntnu-no /v:officefarm.ntnu.no
This will open the remote desktop in a relatively small window, and with quite mediocre graphical quality.
A more comprehensive example:
xfreerdp +clipboard /size:1570x1165 +fonts +decorations +window-drag +menu-anims /sound:sys:alsa /printer:ntnu-it-felles /drive:MyPCDocuments,//home/olavgun /d:win.ntnu.no /u:olavgun /v:adminfarm.ntnu.no
- The size of the window for the remote desktop is set with /size:wxh
- +fonts gives antialiased (smoth and sharp) fonts.
- Other beautifying Windows elements are invoked by +decorations +window-drag +menu-anims.
- Sounds from the remote desktop are played on your local PC with /sound:sys:alsa -- if alsa is your local sound-system.
- The printer set up in CUPS on your PC is forwarded to the remote desktop by /printer:<printer-name in CUPS>
- /drive:<visible_name_remote><local_disk_area> will forward your local disk area to the remote desktop. e.g. "/drive:MyPCdisk,/home/olavgun"
Write "xfreerdp -help" to see all command line options.
To run a remote application seamlessly with xfreerdp #
"Seamless" means the the remote application runs exactly as it would if run from your local desktop. That is, we have the application, but no remote desktop.
This is done by using the command line option /app:"||<program-alias>" with xfreerdp. Program-alias is the name the program has in the Windows registry on the remote server, registered as a program allowed to be run remotely.
xfreerdp +clipboard /size:1570x1165 +fonts +decorations /d:win.ntnu.no /u:olavgun /v:adminfarm.ntnu.no /app:"||WINWORD"
This command line gives the result that Word on the Software Farm runs on my linux desktop, as if it were a local program on my PC:
MS-Word running on my Mate linux desktop.
You can test this with other program aliases, like "||Clue", "||OUTLOOK" or "||NOTEPAD". Some worked for me, others didn't.
/app: should in principle work also with real program names, such as "Clue.exe". But in that case, one probably should use the entire file path, e.g. /app:"C:\Program Files(x86)\Clue10\Clue.exe". Notice the absence of "||" in this case.
Experience shows that the version of xfreerdp which is included with Ubuntu 16.04 is not mature for running remote applications seamlessly in a stable manner.
But the daring linux user may download and compile the source code of a newer version. Then seamless remote applications should work without problems: https://github.com/FreeRDP/FreeRDP.
Scripts for easier use of xfreerdp #
Our anonymous hacker has made a script, which checks for some standard settings on the PC, sets some other default values, asks the user for user name and password, makes a long string of commandline options to xfreerdp from this, and launches it all: opening a remote desktop in a window on your linux desktop.
The script is called officefarm and takes one parameter, either "-office", "-admin" or "-calc". This determines which of the remote desktops to open.
The zip-file contains three files:
Unpack them to /usr/local/bin and set chmod 755 to all three, even if we for now only will use the first one.
Write e.g. "officefarm -admin" on the command line. You will then be asked for your username on win-ntnu-no and whether you want to forward some part of your local disk to the remote session. The script will find the default printer set up with CUPS and forward it to the remote desktop. At last xfreerdp will ask for your password. Then the remote desktop will open in a window on your linux desktop:
Here we have connected to the remote desktop with xfreerdp and opened the file manager.
Using the Software Farm's web-interface with xfreerdp #
The most efficient way of using the Software Farm from a Windows PC, is via the web interface (see Software Farm with Windows).
As a religious devotee of the linux god Ubuntu, someone takes offence at the fact that this at the moment is not an option for the linux community, and wants to remedy the situation even in the face of his lack of technical adeptness.
By writing "farm.ntnu.no" in the address field of Firefox, and then filling in username and password for win-ntnu-no, one is served this web-page:
If you press a program icon, for example "Word 2013[A]", a file with the extension .RDP is downloaded to /tmp/.mozilla. The first time this is done, Firefox will ask you which helper program shall be used to manage the file.
Experience shows Remmina is not able to do it.
xfreerdp is able to handle it.
a) xfreerdp will presuppose that your username at win-ntnu-no is identical to your local user on your linuxPC.
b) It will ask you for your password and domain at stdout, and will look for your answers at stdin. And when you use xfreerdp as an helper for Firefox, you have no shell open, neither to see the questions, nor to type in your answers.
Some possibilities now suggest themselves:
Alternative 1 (outdated?) #
Let Firefox open a command line shell, in this shell run a script which translates the contents of the RDP-file to command line options for xfreerdp. Let the script ask the user for username and password at win-ntnu-no, and give these also to xfreerdp as command line options. Xfreerdp now runs the application from the farm, seamlessly on the linux desktop.
The scripts to do this is contained in officefarm.zip (see above). Unpack the files to /usr/local/bin and set chmod 755 on them. In this context we use the script-files rdpwrap and rconnect.
In Firefox, choose rdpwrap as a helper program for RDP-files:
For this to be possible, RDP-file must already be registered on your computer as a mime-type. To do this, open the file-manager Nautilus or Caja, and find the downloaded RDP-file, possibly in /tmp/.mozilla. Right-click on the file, choose "Open with" and "Other", and choose a program, either Remmina or rdpwrap or xfreerdp, as the standard program to open RDP-files. When you start Firefox after this, "RDP-file" will appear as a "content type" in Firefox: Edit->Setup->Programs, and it will possible to choose rdpwrap as a standard helper for Firefox to handle RDP-files.
Rdpwrap will open a terminal window and run the script rconnect. Rconnect will ask for your username at win-ntnu-no, and for which part of your local disk you want forwarded to the remote session. It will also query CUPS for your default printer and forward it to the remote program.
When this is done, xfreerdp will run the remote program in seamless mode on your linux desktop. The advantage of this method is that you can use an approved and tested version of xfreerdp, viz. the one that ships with your linux distribution (e.g. Ubuntu 16.04).
Alternative 2 (best?) #
The second imaginable alternative is to equip xfreerdp with a popup window, which lets you fill in username, domain and password. In this case Firefox will start xfreerdp directly as the helper application for RDP-files, and xfreerdp will by itself process the rdp file. This daring deed has actually been accomplished by our half-tamed, uneducated bush hacker, in the darkness of the night and under a blue moonlight, and has made a deb-package of it.
Please note that this is DIY-compiled from a development version of xfreerd, and that it hence has not gone through the thorough testing done with the official Ubuntu packages. NTNU-IT takes not responsibility for the use of this package and its eventual consequences in the form of data loss etc. Do not install this package on machines running a 32-bit version of linux.
The package will install xfreerdp and its libraries under /usr/local. Hence it will not conflict with the official installation of freerdp. But note that your file-path probably is set to search /usr/local before /usr, and that the DIY-package will be found and used before the official package by other programs using xfreerdp and its libraries, such as Remmina.
In Firefox, now set /usr/local/bin/xfreerdp as the helper program for RDP-files. That is, navigate to this folder to choose the helper application, so that there is no doubt that it is the DIY-version of xfreerdp which is to be launched.
In Firefox, go to farm.ntnu.no, and log in.
Click on a program icon, e.g. "Word 2013[A]". The DIY pop-up window will now actually pop up, so that you might enter your username, the domain "win-ntnu-no" (preset), and your password.
Hit OK, and the application choosen, in this case "Word 2013". will run seamlessly on your linux desktop.