skip to content

Faculty of Mathematics

WineX - connecting from Windows PCs to Maths machines

-

Please upgrade WineX to the latest version if you connect to Maths Unix computers

As of the 28th January 2014, all of the www.maths web pages are now https therefore the winex.ini file needs changing. v2.240 has this new ini file.

As of the 26th January 2016, some of the web links used by Winex to www.maths have changed. While redirects have been put in place, the code used in Winex to download information from www.maths doesn't unfortunately follow them. Because of this, all web links are now in an .ini file, C:\Program Files (x86)\Winex\winex.ini (for 64 bit installs of Windows). Users with admin rights to their computer can edit this file to change any values in the future. See below fo the current ini contents.

What is WineX?

WineX is a small program that is written in-house. Its aim is to allow people who use Windows computers to make graphical connections to UNIX hosts within MATHS (an X session, like that at the console of a Unix computer) and to the MATHS Windows Remote Desktop Services (RDS) server (basically a Maths Windows computer). This replaces old attempts to provide this functionality via Exceed and CygwinX.

WineX download (2.5MB). (Latest = 31/3/2017 version=2.241 )

The file C:\Program Files (x86)\Winex\winex.ini (for 64 bit install of Windows) should contain:

[settings]
ini_url_machine_list="https://things.maths.cam.ac.uk/computing/windows/machine_list"
ini_url_machine_groups="https://things.maths.cam.ac.uk/computing/windows/machine_groups"
ini_url_machine_details="https://things.maths.cam.ac.uk/computing/windows/machine_details"
ini_url_msg_file="https://things.maths.cam.ac.uk/computing/win7/pc_downloads/winex_msg.txt"
ini_url_comp_table="https://www.damtp.cam.ac.uk/internal/computing/comp-info/"
ini_url_winex_home="https://things.maths.cam.ac.uk/computing/win7/winex.html"
ini_url_winex_version"https://things.maths.cam.ac.uk/computing/win7/pc_downloads/maths_prg_v.txt"
ini_url_ssh_reg="https://things.maths.cam.ac.uk/computing/remoteaccess/ssh/byhost/"
ini_url_wake_cgi="https://www.damtp.cam.ac.uk/admin/wakeup.cgi?host="

Unix X Environment (Windows to Linux)

Using WineX to
						     connect to a Unix
machine

WineX uses VNC technology to connect the Windows pc to remote hosts running VNC Server over ssh - Unix hosts. You can either type in the name of the host you wish to connect to, or click on "Download group and machine name info" and select one or more groups. You will then get a drop-down menu of all the host names in these groups. Pressing the "info" button after selecting a host will display a balloon in the task bar with more information on the selected host including its CPU type and specs.

The window manager should generally be set to Xubuntu, but users with customised X setups may do better with 'User Script (xinit-compat)'.

The interactive autogenerated list of hosts from which WineX gets its information.

Remote Desktop Services (Windows to Windows)

Why is this useful?

Why would you want to connect to the Maths Windows server when you are already working on a Windows computer at home?

  • To run applications such as Adobe Acrobat Pro which may not be installed on your home computer.
  • To be able to print files on your N: drive to your home printer and local files to the Maths printers. (Note: be sure to tick the boxes to allow your local disk and printers to be shared with your remote session.)
  • To have the same work environment at home as on your Windows computer in the CMS.

How does it work?

WineX uses MS Windows 'Remote Desktop Connection' to connect to the MATHS Remote Desktop Server running Windows Server 2008R2 using RDP. The server is called rds.maths.cam.ac.uk.

Note: The RDS service is run by two computers called rdsone.maths.cam.ac.uk and rdstwo.maths.cam.ac.uk. Connections to rds.maths will be directed to one of the two computers in a round-robin. If one of these computers is out of action then try connecting to rdsone or rdstwo by name.

Remote Desktop Services is like running a Maths Windows setup from anywhere in the world over a secure SSH 'tunnel'. To make this secure tunnel you need to know your Maths Unix password. Once connected, you will see a typical Windows login prompt. Enter your Maths Windows password to log in.

How to connect

First, you need to know:

  1. Your CRSid e.g. ab123
  2. Your Maths Unix password
  3. Your Maths Windows password
  4. The name of the Remote Windows server = RDS
Logging into the
						    RDS server with WineX

Once you have all of this information, start WineX and select the tab titled 'Win Remote Desktop Service (RDS)'. Enter your CRSid in the top left box, enter your Unix password in the box to the right of your CRSid box. Enter 'RDS' in the box with the text 'Remote PC name to connect to:'. Select the colour depth (highest should be fine for most people). Select the screen size of the remote Windows session. Then tick the box 'Printers' if you want to see any printers that are connected to your home pc/laptop in the remote Windows session. Do the same for 'Drives' and 'USB' if you want to see files on your home pc/laptop hard disk or plugged in USB devices in the remote session. Select the option for the type of network you're working on and then press the OK button.

Connect
							 anyway

The first time you attempt to connect to the RDS, a dialog box saying that "The publisher of this remote connection can't be identified" will pop up. Tick "Don't ask me again for connections to this computer" before clicking Connect. Unless you are very quick this is likely to fail, in which case, simply click OK in the previous dialog box again.

After a few seconds you should see a new window appear that looks like a Windows login screen. When you get to this point, the SSH tunnel has been created and you are looking at the login screen of the remote Windows server. Click the icon (called a 'tile' in Windows speak) with your CRSid on it and then enter your Maths Windows password. (If you need to log in as a different Windows user then click "Other User".) Once logged in, a number of applications will start including the option to install printers within CMS.

General Information about WineX (read this if you have problems)

Information about the last entered username, the host they connected to and the UNIX window manager used are stored in the registry and read back into WineX the next time the user starts the program. The registry key is;

HKEY_CURRENT_USER\Software\WineX

If things go wrong or you get errors you don't normally see, WineX has the option to run in debug mode. When in debug mode, it logs a load of information to the file C:\users\{your username}\winex_debug.txt. This file contains all the information from past debug runs, the latest debug information will be at the end of the file. To run in debug mode, run Start Menu -> All Programs -> WineX -> Extra -> WineX - run in debug mode. A message window will appear telling you that the log file will be displayed when WineX closes, it also shows you the name of the log file. If you are having problems and want to email help@maths about the problem, please run WineX in debug mode first and cut-n-paste the debug information (at the end of the log file) into your email. If you run WineX from the command line, add the argument '-debug' to run in debug mode.

WineX has a number of other command line arguments, there are Start Menu equivalent shortcuts. Currently there are the following:

  • -vncss {vnc startup script path} = script to pass to vnc on remote unix host
  • -std_logfile = Open up the STDOUT log file (Start Menu = 'WineX - open STDOUT log file')
  • -winex_logfile = Open up the winex history log file (Start Menu = 'WineX - open WineX history log file')
  • -debug = Runs in debug mode (Start Menu = 'WineX - run in debug mode')
  • -ini = load a premade settings file. Follow -ini with the setting filename
  • -default_putty = Temporarily move the Putty session registry keys while WineX runs (eliminates any stored Putty sessions causing WineX to fail unexpectedly) (Start Menu = 'WineX - ignore any existing Putty sessions')
  • -show_plink = Show the plink ssh command line (excluding the password) (Start Menu = 'WineX - show the plink command line (excluding password) when run')
  • -show_plink_inc_pass = Show the plink ssh command line (INCLUDING the password after any double quotes have been escaped) (Start Menu = 'WineX - show the plink command line (INCLUDING password) when run')

The option '-default_putty' is particularly useful if you are having trouble ssh'ing to create the secure tunnel. To make the ssh tunnel, plink.exe is used, plink is part of the PuTTy suite. If you've created any sessions within PuTTy that contain private SSH keys or special commands to run to certain hosts, WineX may fail with odd results. As plink knows about PuTTy's session settings it will use them and these may cause the secure tunnel to break. By running WineX with the 'default_putty' argument, any PuTTy sessions are temporarily moved out of the way, plink.exe runs, create the secure tunnel, WineX them continues to connect to either the Windows Server or the Unix host, when you finish using WineX, the original PuTTy sessions are moved back and everything carries on as before.

Version information:

31/3/17 = v2.241. - Changed some of the 'Windows Remote Desktop' tab, removed local devices and network speed options and replaced it with a 'Remote App' dropdown menu allowing users to run just a single application instead of a full blown session.
- Upgraded plink.exe to v0.68.
- The installer file now includes the version number.

28/1/16 - v2.240. - As the Maths websites are now all https the web links used by Winex also needed changing to https - done in the winex.ini file.

27/1/16 - v2.239. - Due to the www.maths webserver moving to a new home, the URLs hard coded into winex.exe now don't return as expected, the wget doesn't follow redirects. To fix this and to stop this problem occuring again in the future, the URL's are now in an .ini file that can easily be changed by anyone with local administrator rights on a PC with Winex installed.
    -Plink.exe upgraded to 0.66.

2/12/15 - v2.238. - Added support for high definition screens.

2/2/15 - v2.237. - When Winex starts, it will look for any alerts that should be displayed to the user, i.e. if one of the RDS servers is down.
    - Allowed a unix connection to ssh.maths. This used to fail because ssh.maths isn't a single machine therefore no info could be obtained for it. As of 12th Jan 2015, ssh.maths machines are now running ubuntu therefore the xubuntu window manager would work so we need to allow people to connect to ssh.maths without checking what window manager they have chosen.
    - Added a check to see if other required exe's are in place in relation to WineX.exe. This is to stop Winex from failing to runwhen just the WineX.exe file is downloaded and run from wherever the browser chose to download it to.

10/11/14 = v2.236. - Fixed nslookup for maths.cam.ac.uk unix hosts.
    - Added Xubuntu window manager to allow connections to Maths Ubuntu Unix hosts. Ubuntu is being installed as the standard Linux install at Maths as of November 2014.
    - Added more debugging lines.
    - Upgraded VNC Viewer to v5.2.1.
    - Upgraded plink.exe to v0.63.

1/8/14 - v2.234. - Allows the ssh port to be set in the ini file. Usefull for people who work on networks that block port 22

14/3/14 - v2.233. - Improved password escaping. Removed Goldlab code, the vlan doesn't exist anymore.

5/11/13 - v2.232. - Removed the requirement to specify which department users work in. As there's now an ssh.maths.cam.ac.uk, everyone can use this when settings up SSH tunnels for RDP traffic.

11/10/13 = v2.231. - Added some more debugging lines to log what version of WineX is being run, what department the users says they're in and the url of the ssh reg key file they download. Also made Windows 8 more happy with registry imports.

26/7/13 - v2.230. - As a result of all the DAMTP, DPMMS and Statslab Unix computers now all running the same version of Linux - SL6, users can now select a Unix computer from whatever Unix groups they have permission to log into. DPMMS and Statslab are treated as another Unix group and are listed in the list of Unix groups users can select. Selecting one or more of these groups will download the list of all Unix computers in that group(s). Users are able to view the hardware specification of a DAMTP, DPMMS and Statslab Unix computers once it has been chosen from the drop down list.

23/7/13 - v2.229. - An additional command line argument and Windows Start Menu item has been added, '-default_putty'. Sometimes a user has configured a Putty session to include a private SSH key or for a session to run a command every time it connects, this can sometimes confuse WineX and stop it functioning correctly without giving much information back as to why it failed. By running with the new argument, any existing Putty sessions and temporarily renamed while WineX runs and then moved back when WineX closes. All of this happens in the registry and eliminates the user from needing to poke in the registry themselves.

26/6/13 - v2.228. - More changes have been made to WineX as a result of the Statslab Linux computer now running SL6. It is now possible to Wake sleeping SL6 machines. WineX also works better with Windows 8

23/5/13 - v2.227. - A large number of changes have been made to make WineX work with the new Maths SL6 UNIX system. UNIX is used for both the Remote Desktop connection and the UNIX X connections. A number of changes have been made in versions of WineX 2.224 to 2.227. 2.227 is currently the stable release until all SL5 machines have been reinstalled with SL6, at which point a new version of WineX will be released. Connections to DPMMS SL5 computers is not supported.

12/1/12 - v2.223. - Improved the drop down menu of previously used Terminal Server host names, alphabetically sorted. Added colour depth options when connecting to Unix host - improves usage when on slow networks.

28/7/11 - v2.221. - When running the 'connect to Unix' option, the cpu usage was high ~8%. A small change to code seems to of fixed this, hopefully

2/6/11 - v2.220. - Now able to save and import sessions (UNIX and Terminal Server) to a config file. These files can be double clicked to automatically launch WineX with your pre-set settings. Now able to set any size of Terminal Server or Unix window.

26/5/11 - v2.219. - Added the option to connect to Statslab UNIX hosts including the function to download a list of available UNIX host names. Added more debugging options. Improved SSH public key download code. Allowed the function to save your 'last connected to' UNIX names in the drop down list.

21/3/11 - v2.218. - Fixed a issue whereby the nslookup of the remote Terminal Server returns a reversed IP address.

4/1/11 - v2.217. - Fixed a small problem when connecting to a Terminal Server whereby mstsc.exe wasn't being detected properly in Windows7.

18/11/10 - v2.216. - Fixed issues with some passwords not being accepted for Terminal Server connections - passwords with a space in them. Integrate Pageant into how the program authenticates back to MATHS. Help button now opens a Windows help chm window.


WineX is written and supported by Chris Mortimer - cm214