Linux@RMIT

Let us not explain why this page exists. The fact is that you can find here some useful tips for running Linux within the RMIT network...

If you have solutions to problems that other Linux users may encounter, please forward them to me and I will add them to this page. You can also leave comments at the bottom of this page if you think it can be useful for other readers.





Printing at RMIT

This is how to print in the new Think Print system (http://www.rmit.edu.au/its/thinkprintl ; you won't find any instructions to Linux systems, Linux is not even mentioned!).
  1. Get the PaperCut client. The system uses PaperCut print management software. You then need to run the client in your Linux box. You can download the server+client from PaperCut web site itself, and extract from there the client part. You would need to do some configuration there too though ;-) Or you can just download our zip file package here, which is already configured for RMIT network.
  2. Run the PaperCut client. The system uses a "popup" authentication to match the username with the IP address from where the job originated. Therefore, the PaperCut client needs to be running in the background.  So, just run the pc-client-linux.sh script to start it and use your RMIT username/password.
    • You may want to replace the script pc-client.linux.sh that comes with it with an improved one that works as symbolic link and also runs in the background so that it doesn't block. Get it at the bottom of this page or clik here and overwrite the default script.
  3. Install LPD Printer. Next you need to install a printer queue in your Linux system:
    • Printer Type: LPD
    • Host: winsprdps01r001.rmit.internal
    • Queue: Ricoh-Global-Client
    • Driver: Ricoh Aficio MP C3002 PS
After the setup, just send a print job and the PaperCut client should "popup" for username+password. Hopefully, you should get the printout from the nearest printer (after a swipe and few clicks!).

Finally, there is a web page to check print history and other bits of info at http://pcutprdap01.rmit.internal:9191/

Good luck!

Acknowledgement: the non-trivial research to find all this and make it work is due to PhD student Nitin Yadav, big thanks to him for all of us Linux users!
  • Comment for Fedora 18, x64: I had a few issues when upgrading to Fedora 18, x64 and thought this might be useful to others - It seems the printer queue string is completely ignored in the new GUI. I've just got it working, manually entering "lpd://winsprdps01r001.rmit.internal/Ricoh-Global-Client" in the cups config page (http://localhost:631). I'm not sure if it's important but I'm using the "Ricoh Aficio MP C3002 PS" driver which came with the F18 distribution and I added myself to the "lp" group.
  • Comment Kubuntu: In order to set-up the printer on Kubuntu (KDE), it is necessary to use "system-config-printer" in terminal instead of using the GUI (it seems that kcmshell4 ignores the queue in the configuration). The drivers are already available and accessible via system-config-printer and there is no need to include PPD file manually. 


Mounting your goanna/yallara account locally


Note: goanna/yallara has been decommissioned as far as I know...

It is possible and easy to mount directories in goanna.cs in your Linux box as a user, including your home directory. This will allow you to work on files stored in goanna as if they were part of your desktop file system. To do that, we can use the FUSE library which mounts file systems in the user space via ssh. This avoids then the complicate use of Samba or NFS shares (which RMIT does not provide anyways!).

So, suppose I (user ssardina) want to mount my home directory at goanna.cs in a local directory called ~/goanna-home. It is as simple as executing the following command:

$ sshfs -o uid=`id -u`,gid=`id -g`,workaround=rename,reconnect,follow_symlinks     
                              ssardina@goanna.cs.rmit.edu.au:/home/s/ssardina ~/goanna-home


Now, in ~/goanna-home I basically have access to my home directory in goanna.cs ! So simple... Observe the permissions you will have on all files and directories there are the very same you would have if you log in into goanna.cs via ssh interactively (despite the fact that in your filesystem it will appear as if owned everything).

Finally, to unmount the directory we can just run:

$ fusermount -u ~/goanna-home


Of course, one can also mount in the same way the directory /research

Finally, if I do not want to issue the above large sshfs statement every time I want to mount the filesystem, I can add the following line to /etc/fstab to mount the remote filesystem into local directory /mnt/goanna-ssardina/ssardina:

sshfs#ssardina@goanna.cs.rmit.edu.au:/home/s/ssardina /mnt/goanna-ssardina/ssardina fuse workaround=rename,user,reconnect,uid=1000,gid=500,follow_symlinks,fsname=sshfs#ssardina@goanna.cs.rmit.edu.au:/home/s/ssardina 0 0


You need to replace the username, uid and gid numbers, and mounting location. Then, to mount the filesystem we can just run:

$ mount /mnt/goanna-ssardina/ssardina

Obs: to avoid sshfs asking for password authentication every time you issue the mounting command, it is best to set up your ssh configuration (in goanna.cs) so that no password will be required. This involves basically adding the RSA key of your local system into the file ~/.ssh/authorized_keys2 at goanna.cs. [just google "no password ssh" and will be get lots of pages explaining this].

Running RMIT Windows remotely from your Linux Box

You can still run full RMIT Coorporate Windows from your Linux box. To do that you just need to install the Citrix Client. THis worked form me on Linux Mint 18 (Using Ubuntu 16.04) on Feb 2017:

  • Get the icaclientWeb_13.4.0.10109380_amd64.deb package from Citrix
  • Install the package (sudo dpkg -i icaclientWeb_13.4.0.10109380_amd64.deb)
  • Add more SSL certificates and Chrome pluging by following steps 5 & 9 in CitrixICAClientHowTo
    •  
  • Start the Windows system by visiting and logging in into mydesktop.rmit.edu.au via Chrome
  • Select an application, like Chrome. It will download an .ica file. 
    • for example, my file was named RGVsaXZlcnlDb250cm9sbGVycy5Hb29nbGUgQ2hyb21l.ica 
  • FInally, click on that file and Chrome should start!
    • seems chrome does not start it by itself as it should :-(

SSH to an outside machine via tunneling

Suppose you want to ssh from your office Linux desktop to server cs.outofrmit.edu which is outside RMIT network. Initially, you cannot: you will have to login to goanna.cs and ssh from there to cs.outofrmit.edu. We can solve this by creating a permanent "tunnel" to X via either RMIT http proxy or goanna.cs. For that there is a clean automatic way and a more "manual" one:

THE AUTOMATIC WAY - TUNNELING VIA RMIT HTTP PROXY 

(thanks to Steven Shapiro for coming up with this one!)
  1. Install proxytunnel application; it is very standard and most distributions have them in their repositories (e.g., Ubuntu).
  2. Add this to your ~/.ssh/config file:

    Host cs.outofrmit.edu
    ServerAliveInterval 30
    ProxyCommand /usr/bin/proxytunnel -p aproxy.rmit.edu.au:8080 -P <your NDS account>:<your password> -d cs.outofrmit.edu:22

    The ServerAliveInterval line is used to keep the connection up by sending occasional NULL packets. Such option depends on the ssh client (in this case OpenSSH) and not proxytunnel itself, so check your ssh system. If you use Debian-based system the option is called ProtocolKeepAlives instead (thanks Timothy Jones for pointing that out!).
        I believe the authentication credentials (option -P) is not required anymore (Jan 2015) and can be dropped.

        Another, possibly simpler way, is to just add this using nc:

Host *
    ProxyCommand nc -X connect -x proxy.rmit.edu.au:8080 %h %p


    This will tunnel every host, but it can easily be use per host if desired.
  1. run ssh cs.outofrmit.edu and you should first get something like:

    Via aproxy.rmit.edu.au:8080 -> cs.outofrmit.edu:22

THE MANUAL WAY - TUNNELING VIA GOANNA

This are the steps:

* Create the tunnel:

$ ssh -L 9922:cs.outofrmit.edu:22 goanna.cs.rmit.edu.au

This of course creates an ssh session to goanna.cs, but moreover it creates a tunnel from your local port 9922 in your desktop to port 22 at server cs.outofrmit.edu (where the ssh server should be listening). So, everything that goes to port 9922 of your local machine will be forwarded to port 22 of server cs.outofrmit.edu via (the ssh-connection to) goanna.cs.

* Next, we can ssh into server X by connecting with ssh to our local port 9922:

$ ssh localhost -P 9922

This will then open an ssh connecting to the remote server cs.outofrmit.edu as desired.

Important: The ssh connection opened in step (a) must remain opened. If it closes, then the ssh connection opened in step (b) will also be broken.

Obs: One can create several tunnels in the same ssh connection (a) above, by simply adding more -L statements. Make sure, though, to use different local ports for each different tunnel.

SSH into an RMIT machine from outside

Suppose now you want to ssh into an internal machine X within RMIT network from outside (e.g., your home). The manual way is to first ssh into goanna or yallara and then ssh to the specific machine X. However, you can configure it automatically by adding the following to ~/.ssh/config:

Host myrmit-desktop
Hostname <IP of the machine to ssh into>
User <username>
Ciphers arcfour
ClearAllForwardings yes
ProxyCommand ssh <username-at-goanna>@goanna.cs.rmit.edu.au nc %h %p

Now, you can just run "ssh myrmit-desktop" and it should work! If you don't have an account in goanna you can achieve the same thing with yallara.

Accessing RMIT resources (e.g., articles from subscribers, etc.) from outside

From terminal, set up a tunnel for aproxy.rmit.edu.au:

    $ ssh -L 8080:aproxy.rmit.edu.au:8080 goanna.cs.rmit.edu.au

Of course for this to work well, make sure you can ssh into goanna without password prompt (this is fairly standard and there are lots of pages on the web that describes how to set-up this).

Then, set up the Proxy of your browser to localhost on port 8080. As changing the proxy back and forth in your browser everytime you need is painful, you may want to use an extension to do this, such as FoxyProxy (for some reason the FoxyProxy extension for Chome does not seem to work; firefox works well). Finally, when you visit a page it is like doing it inside the RMIT network.

You can also get the scripts rmit-proxy-tunnel.v2.sh and close-rmit-proxy-connection.sh to setup and terminate your tunneling connections. These scripts are due to Abhijeet Anand, thanks!

Another way to access resources from outside is to access Google Scholar via the RMIT proxy by visiting the link:

Using SVN in goanna.cs via ssh

One of the big advantages of using SVN over CVS is that we can connect to the SVN repositories by means of ssh, thus not needing to go over the proxy.

To do so, one just need to use the following svn path:

svn+ssh://goanna.cs.rmit.edu.au/path/to/repo

For instance, an example of a checkout one be as follows:

svn checkout --username <username> svn+ssh://goanna.cs.rmit.edu.au/home/s/ssardina/paper <local dir>

This will checkout the directory in the local directory <local dir>

Accessing the Internet via RMIT proxy

For the same reasons why it is not possible to directly ssh to an outside machine from your Linux desktop (see above), you may not be able to use other shell programs that requires Internet connection. For example, you may not be able to use wget to download something from the web.

What is needed is to make all such shell programs aware of RMIT proxy settings. Basically, almost all those programs check if the environment variable http_proxy. So, all is needed is to define that variable in the following format:

http_proxy = http://proxy.rmit.edu.au:8080

If using bash shell, for example, one then just needs to run:

$ export http_proxy = http://proxy.rmit.edu.au:8080

After that wget should be able to download files via the proxy.

Proxy configuration

To set-up RMIT proxy you need to setup the following environment variables: http_proxy, https_proxy, and ftp_proxyBy setting up these variables you will be able to use programs like wget or apt-get (see below).

This is what I have in my  ~/.bash_profile file to have it setup automatically when I login:

export basic_proxy=http://aproxy.rmit.edu.au:8080
export http_proxy=$basic_proxy
export https_proxy=$basic_proxy
export ftp_proxy=$basic_proxy

Apt-get with Proxy configuration

If you have set-up the http_proxy, https_proxy, and ftp_proxy  environment variables for your user, then you can use apt-get by making sure you pass the environment variables when using sudo. So, you run sudo -E apt-get update for example (option -E will preserve the environment of the user to the root user; otherwise apt-get will not be able to access the internet with the root user)

If you want to use sudo without the -E option, add the lines below into your `/etc/apt/apt.conf` file (create the file if does not exist):

Acquire::http::Proxy "http://proxy.rmit.edu.au:8080";
Acquire::https::Proxy "http://proxy.rmit.edu.au:8080";
Acquire::ftp::Proxy "http://proxy.rmit.edu.au:8080
";
Thanks to Damiano Spina for clarifying this.

Another way to use the proxy configuration is to edit the /etc/sudoers file via visudo and include this (contributed by Marco Tamassia):

Defaults env_keep = "http_proxy ftp_proxy FTP_PROXY ALL_PROXY all_proxy https_proxy HTTPS_PROXY no_proxy HTTP_PROXY XAUTHORITY DISPLAY"

Git

To allow git to use the proxy, use this:

$ git config --global http.proxy http[s]://<nds-user>:<pass>@aproxy.rmit.edu.au:8080


Wireless at RMIT

To connect to the wireless network you can read the main page for wireless at RMIT or directly go to one of the user guides. It should work out of the box for most distributions (e.g., Ubuntu, Fedora, Mint, etc) that use Network Manager.

If you use wicd intead, which does not have PEAP with MSCHAPv2, save this in /etc/wicd/encryption/templates:

name=PEAP with MSCHAPv2
author=Cereal
version = 1
require username *Username password *Password
-----
ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="$_ESSID"
        scan_ssid=$_SCAN
        key_mgmt=WPA-EAP
        eap=PEAP
        phase2="auth=MSCHAPV2"
        identity="$_USERNAME"
        password="$_PASSWORD"
}

Mounting RMIT home drive

First of all you can access your home directory at https://mydrive.rmit.edu.au using a browser.

To mount this directory in your system follow this:

Samba server: smb://ntapprdfs01n02.rmit.internal/eh5/EXXXXX
(Observation: Some users have reported their home were hosted at ntapprdfs01n01.rmit.internal)
Domain: rmit.internal

NOTE: the "eh5" component will be different for each user. It is based on the last 2 digits of your e-number. We use el if the second to last digit is between 0 and 5, and eif it is between 6 and 9. Last number is the same as your e-number. So, my path from E76763 is "eh3" ("h" because second to last digit is 6). The e-number E05411 would be "el1" ("l" because second to last digit is 1).  The elX/ehX scheme works the same way for students, except that e is replaced by s. Its easier to just cut and paste it from your mydrive though :).

You can add this to your /fstab as follows:

//ntapprdfs01n02.rmit.internal/eh<N>/<EXXXX>  /mnt/rmithome cifs  noauto,user,credentials=/home/<username>/.mydrive,uid=<username>

and create a file .mydrive in your home folder containing one line:
    username=EXXXXX

Make sure you have mount.cifs (e.g., install package cifs-utils)

Then, just issue command:

$ sudo mount /mnt/rmithome

Note: This was all taken from Shane Culpepper's and Ron van Schyndel's emails (April 2013). Some later fixes provided by Jessica Rivera Villicana (2014).

PhD student Marco Tamassia has recently (Jan 2016) provided a setup script to automate the configurations necessary to mount one's RMIT home directory on Linux (as per above). Please note this script runs as root as it needs to modify file /etc/fstab so check it out before you run it if you have doubts.


Old Stuff


Groupwise Client in Linux!

Why would someone use Groupwise, true. But, let's say that for some (strange) reason you need to read your RMIT Groupwise email or calendar. While you can do it via the web-interface if you are brave enough, there is a pretty good compromise: use the official Novell Groupwise client for Linux! 




Here is what you need to do to have Groupwise in your Linux box:
(if you want to skip steps 1-4, please email me and I will give you the existing .rpm or .deb file as required.)

  1. Download the Groupwise 7 Linux Client from Novell: http://download.novell.com/index.jsp
  2. Extract the file gw700lnxc.iso/ISO9660/client/linux/novell-groupwise-gwclient-7.0-20050803.i386.rpm from the iso file you just downloaded.
  3. Install prerequisite libraries:
    # sudo apt-get install alien libstdc++5
  4. If you are using Debian-based system, convert the rpm file (for Fedora) into a .deb file (for Ubuntu):
    # sudo alien -d novell-groupwise-gwclient-7.0-20050803.i386.rpm
    • This will produce a .deb file novell-groupwise-gwclient_7.0-20050804_i386.deb
  5. Install the just produced .deb file:
    # sudo dpkg -i novell-groupwise-gwclient_7.0-20050804_i386.deb
    • OBS: you can do steps 4+5 together by running:
      # sudo alien -i novell-groupwise-gwclient-7.0-20050803.i386.rpm
  6. At this point the novell groupwise client will be installed in /opt/novell/groupwise/client. However, the Java JRE sub-system there (in /opt/novell/groupwise/client/jre) needs to be replaced.
  7. Download Java 6 SE JRE: http://java.sun.com/javase/downloads/index.jsp
  8. Extract Java 6 SE JRE ./jre-6u14-linux-i586.bin
  9. Remove the current Groupwise JRE install:
    # sudo rm -rf /opt/novell/groupwise/client/jre
  10. Finally, copy the new JRE: 
    # sudo mv jre1.6.0_14 /opt/novell/groupwise/client/jre
  11. Run the Groupwise client:
    # /opt/novell/groupwise/client/bin/groupwise
  12. Now configure it as follows:
    • User ID: your NDS login (eXXXXX)
    • Password: your email password (the one you use to read email with the web interface, not the NDS password!)
    • Make sure ONLINE is selected
    • Address: e-asc.rmit.edu.au
    • Port: 1677
  13. Finally, if you want to access the archive content, you should go to Tools / Options and setup the archive directory to the directory where your email is archived by Groupwise. Generally, if you haven't changed anything, your archive folder is in your home directory (in goanna) under directory gw_arc/. (see you will need to mount your goanna home folder in your desktop to have that archive folder accessible; see "Mounting your goanna/yallara account locally" above.

OBS: email me if you want Groupwise v8, seems its installation is much easier. :-)



Contributors

Over time several people have provided me with information to add or improve this support page, including:
  • Nitin Yadav
  • Abhijeet Anand
  • Steven Shapiro
  • Timothy Jones
  • Shane Culpepper
  • Ron van Schyndel
  • Jessica Rivera Villicana
  • Damiano Spina
  • Marco Tamassia
  • Pyarelal Knowles
  • Ali Yavari
  • a few others I cannot remember, sorry!



END - If you have useful information on using Linux @ RMIT please forward it to me and I can add it here for others. :-)

ċ
close-rmit-proxy-connection.sh
(0k)
Sebastian Sardina,
Dec 13, 2012, 3:57 PM
ċ
icaclient-modified.deb
(8828k)
Sebastian Sardina,
Apr 3, 2014, 5:42 PM
ċ
linuxclientpapercut.zip
(2390k)
Sebastian Sardina,
Dec 10, 2012, 5:05 PM
ċ
pc-client-linux2.sh
(4k)
Sebastian Sardina,
Jul 30, 2013, 11:36 PM
ċ
rmit-proxy-tunnel.v2.sh
(7k)
Sebastian Sardina,
Dec 13, 2012, 3:57 PM
ċ
setup_rmit_access.sh
(2k)
Sebastian Sardina,
Jan 22, 2016, 12:19 PM
Comments