Using WineX - Connect to Unix and Windows desktops in DAMTP from a Windows computer
WineX is a DAMTP program to allow people who use Windows computers to make GUI connections to the DAMTP Windows Terminal Services server and to UNIX hosts within DAMTP. This replaces old attempts to provide this functionality via Exceed and CygwinX.
WineX download (1MB).
(Latest = 3/4/2013 version=2.226
)
Version information:
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 preset 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 DAMTP. Help button now opens a Windows help chm window.
Terminal Services
WineX uses MS Windows 'Remote Desktop Connection' to connect to the DAMTP Terminal Server running Server 2008. Terminal Server is a like running a Windows session within an existing session. The 'extra' session can contain applications and functions not installed locally i.e. newer version of MS Office, a full version of Adobe Acrobat, these applications run on your local pc and can have access to local hard drive, local USB devices and local printers. It provides a means for people to run applications from a central location with the need to buy copies of that app for every Windows computer. WineX also allows you to run this extra session from anywhere in the world where there is a network connection over secure ssh. If your home pc or your laptop hasn't got Paint Shop Pro installed but you want to use it to edit a picture, run WineX, log into Terminal Server, start Paint Shop Pro in the 'extra' session and load your image file that is stored on your local disk drive and edit it. You can then save the changed image back to your local drive.
Users of Unix computers can also connect to the Terminal Server using the redekstop command, e.g.
$u = ab123 {your CRSid}
$s = 1024x768 {screen size}
rdesktop -u $u -d damtpdom -g $s -T 'Terminal Service on TSONE' -a 32 -x l tsone
This will allow them to run a proper Windows session within Unix.
Once a user has connected to the Terminal Server using WineX, a small popup window will appear telling them that they next need to typing in their DAMTP Windows password or switch to log in as another user. Users have the option to stop this popup appearing in the future. This option to disable the popup is stored in the registry
HKEY_CURRENT_USER\Software\WineX\ Dont_show_popup_gui
and can be changed to anything apart from 'N' or deleted. Once changed or deleted, the popup will show at the next attempt to connect to the terminal server.
Goldstein Lab pcs
WineX can be used to connect to the 'special' goldstein lab pcs. You need to have a valid Lab Windows domain computer account to be able to log in. To connect using WineX, simply type in the name of the pc, e.g. ecoli, and the port number you want to connect to, 3389, separated with a ':'. If connecting to a Goldstein lab pc via Unix, 'rdesktop', you will need to specify the full domain name of the machine, e.g. ecoli.damtp.private.cam.ac.uk. The 'private' is important, it's not just 'damtp.cam.ac.uk'.
Unix X
WineX uses VNC technology to connect the Windows pc to remote hosts running VNC Server over ssh - Unix hosts. Initially you will need to download the latest list of UNIX hosts for whichever group or groups you wish to connect to, then you can choose one from the drop down menu the machine name. You can type in the name of the host you want to connect to. The list of hosts can be found HERE.
Once a group(s) has been selected, the drop down menu will show all the host names along with the group they are in a also show if the machine has been switched off for more than 4 days. This is indicated by '*'. To show more information on the selected host, pressing the 'info' button will display a balloon in the task bar with host information including CPU type and numbers, RAM, total disk size and if it's been switched off for more than 4 day, how many days has it been off for. Note that the switched off time is correct as for ~midnight for the given date.
Information about WineX in general
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
A log file of all connections is also kept incase of de-bugging. This is a per user file and is stored in;
%USERPROFILE%\winex_log.txt
Another more verbose log file is stored in
%temp%\winex_std_out.txt
This file logs all STOUT and STERR (lines of text that you would see if you ran the program from a command line) for both the terminal services and the Unix X connections. An example of the logging when connecting to a Unix host is:
------------------------------------- c0305e@zoo - 06/11/2009 12:47:32 Regular Expressions made = 0 Command line used = K:\batch\vnc-x\bin\plink.exe -x -2 -R 4613:localhost:5500 c0305e@zoo.damtp.cam.ac.uk -pw HIDDEN /opt/damtp/x-ssh/vncstartup -fport 4613 -session gnome -geometry 1280x1024 STDERR = in vncstartup! with display= STDERR = Found socket owner: c0305e send returned 12 STDERR = Got answer back of RFB 003.008 type 3.7 or 3.8 send returned 2 got back sec index 0 STDERR = send returned 4 got back clii 0 STDERR = send returned 24 STDERR = got back info len=0 STDERR = About to call finddisplay with display=, loop=0 No vncserver running, will start one (count=0) (display=) STDOUT = cmd now=Xvnc :1 -desktop 'VNC zoo:1 (c0305e)' -auth /home/raid/supp/c0305e/.Xauthority -geometry 1280x1024 cmd now=Xvnc :1 -desktop 'VNC zoo:1 (c0305e)' -auth /home/raid/supp/c0305e/.Xauthority -geometry 1280x1024 Running Xvnc :1 -desktop 'VNC zoo:1 (c0305e)' -auth /home/raid/supp/c0305e/.Xauthority -geometry 1280x1024 -depth 24 -rfbauth /home/raid/supp/c0305e/.vnc/passwd.fakesession -rfbport 5901 -localhost -nolisten tcp -pn -fp unix/:7100,built-ins >> '/home/raid/supp/c0305e/.vnc/zoo.damtp.cam.ac.uk:1.log' 2>&1 STDERR = New 'VNC zoo:1 (c0305e)' desktop is zoo.damtp.cam.ac.uk:1 STDERR = Starting applications specified in /opt/damtp/x-ssh/RunXsession gnome Log file is /home/raid/supp/c0305e/.vnc/zoo.damtp.cam.ac.uk:1.log STDERR = About to call finddisplay with display=, loop=1 STDERR = examining /home/raid/supp/c0305e/.vnc/zoo.damtp.cam.ac.uk:1.pid pdis=1 STDERR = /home/raid/supp/c0305e/.vnc/zoo.damtp.cam.ac.uk:1.pid is alive vncserver is already running on display 1 pid=26484 vncconfig -display :1 -connect localhost:4613 VNCSUCCESS: vnc connect returned: 0 ---------------------
You can see all the returns from the server as well as the command line used. This log file is more for debugging when things go wrong. You can view these log files by either finding and opening the files directly or by running the command;
c:\program files\winex\winex /?
To show command line options and typing in the one corresponding to the log file you wish to view. There is also an argument to display to you the command line used to make the SSH connection (password is hidden) for debugging.