This wiki space has moved to the cloud to https://unimelb.atlassian.net/wiki/spaces/RCS. Please do NOT update this wiki space

Mediaflux Terminal (aterm) is a command-line application. It can be run from the web, or can be downloaded and run as a Java application which has GUI mode (the default) whereby it presents a GUI into which you type service commands.  In GUI mode it supports features such as command history and tab completion.  It can also be run in a no-GUI mode, most useful for scripting.

Aterm uses the HTTPS protocol so transmission of data is encrypted and provides good data integrity guarantees.

Running the web-based aterm

The web aterm can be run from this URL: https://mediaflux.researchsoftware.unimelb.edu.au/aterm/

For help on using the web aterm, press the help button  in the top right of the web aterm window.  Service documentation  is also available.


Running the Java aterm app in GUI mode

The Aterm Java application can be downloaded from any Mediaflux server (the download URL for our server is https://mediaflux.researchsoftware.unimelb.edu.au/mflux/aterm.jar). Run the aterm application by double clicking on it. Enter the appropriate Mediaflux server HTTPS details (which it will remember subsequently).

Service

Protocol

Host

Port

UniMelb Primary

https

mediaflux.researchsoftware.unimelb.edu.au443

Also check the Allow Untrusted check box.

Login

Mediaflux requires the triple of (domain, username and password) to log in. All the Mediaflux login screens show these fields.

University of Melbourne Central (Active Directory) Account

You can login to Mediaflux directly with your University of Melbourne institutional credential

  • Enter unimelb (staff accounts) or student (student accounts) into the Domain entry field
  • Enter your usual institutional username (for the user field) and password (for the password field and click Sign In).

This example is for a unimelb staff account (the full server name, obscured here, is mediaflux.researchsoftware.unimelb.edu.au)

Local Account

If your account is a local account (i.e. not using your institutional account), you will have been provided with the details for domain, user and password.

Here is an example for a local account  (the full server name, obscured here, is mediaflux.researchsoftware.unimelb.edu.au)


Running the Java aterm in a terminal (no GUI)

You can also run the Aterm Java application without the GUI - a CLI version good for non-windowing environments.  You can do this manually, using the locally installed java runtime:

  • Download the Java application from the URL for our server : https://mediaflux.researchsoftware.unimelb.edu.au/mflux/aterm.jar
  • Unix Example
    • Create a config file in $HOME/.Arcitecta/mflux.cfg holding the server and user details (domain and user name)
    • Execute the jar file with Java
      • java -jar -Dmf.cfg=$HOME/.Arcitecta/mflux.cfg /path/to/aterm.jar nogui
    • Enter your password and then you will get the CLI Aterm shell into which you can enter commands

Or you can use a wrapper script that we have created to do this more conveniently.  You can download the wrapper by itself or as part of a release of unimelb-mf-scripts which includes a Java runtime.  If you use the wrapper script, the equivalent to the command above would be:

  • cd unimelb-mf-clients/bin/unix
  • ./aterm

You can also pass a command directly to aterm and have it executed non-interactively.  Here is an example, using the wrapper script:

cd unimelb-mf-clients/bin/unix
./aterm "server.uuid"
    :uuid "1128"

If you specify all of the details required to log in within your ~/.Arcitecta/mflux.cfg file (by either including your password or using a secure identity token), you will be able to redirect the output to a file (useful to capture large outputs for later processing).  Ensure that the ~/.Arcitecta/mflux.cfg file is appropriately protected if you do this on a multi-user system with e.g. chmod go-rwx ~/.Arcitecta/mflux.cfg.  If you don't have everything required to log in non-interactively in your config file, you will see this error: java.lang.AssertionError: Interactive console disabled.

cd unimelb-mf-clients/bin/unix
./aterm "server.uuid" > test.txt
cat test.txt
    :uuid "1128"

By default, the nogui version of aterm does not provide any command line history which can be quite painful if you are using it interactively.  However, you can add this functionality using a wrapper for GNU readline, like rlwrap or rlfe.  rlwrap even remembers your command line history from one invocation of aterm to the next.

java -jar -Dmf.cfg=$HOME/.Arcitecta/mflux.cfg ~/.Arcitecta/aterm.jar nogui # cannot use arrow keys on keyboard to access previously executed commands
quit
sudo apt install rlwrap
rlwrap java -jar -Dmf.cfg=$HOME/.Arcitecta/mflux.cfg ~/.Arcitecta/aterm.jar nogui # can use arrow keys to access command history
sudo apt install rlfe
rlfe java -jar -Dmf.cfg=$HOME/.Arcitecta/mflux.cfg ~/.Arcitecta/aterm.jar nogui # can use arrow keys to access command history

Tab completion

You can have rlwrap perform tab completion of aterm commands.  To do this, you need to generate a list of all available commands, save this in a file, and pass this file to rlwrap when you invoke it.  Note that you will have a different list of available commands depending on your permissions within the system, so it's best to generate this list with your most privileged account.  For example:

# ensure you can log in non-interactively by specifying password (see above)
vim ~/.Arcitecta/mflux.cfg
# generate a list of all aterm commands and save to a file
java -jar -Dmf.cfg=$HOME/.Arcitecta/mflux.cfg ~/.Arcitecta/aterm.jar nogui "help" | head -n -2 | tail -n +2 | sed 's/^\t//' > ~/aterm-cmds.txt
# you can now remove the password from your configuration file
vim ~/.Arcitecta/mflux.cfg
# Now invoke aterm with rlwrap, loading the command list for tab completion.
# You need the '-c' option so that the commands are not split on the '.' character.
rlwrap -c -f ~/aterm-cmds.txt java -jar -Dmf.cfg=$HOME/.Arcitecta/mflux.cfg ~/.Arcitecta/aterm.jar nogui


Aterm can also be run without the Java GUI for scripting purposes.  See Scripting with Mediaflux aterm.



  • No labels