gopaw exists under gbarrand/gopaw on:
To get an image, for example on a Mac:
macOS> docker login # to login on hub.docker.com macOS> docker pull gbarrand/gopaw:<version>
On some platforms, you may have to "sudo" the upper commands.
As it is a X11 app, you have to setup the DISPLAY. On a Mac with XQuartz:
macOS> ifconfig # to get your IP address. sh> DISPLAY=<IP>:0;export DISPLAY ( csh> setenv DISPLAY <IP>:0 ) macOS> xhost + <IP> macOS> docker run -e DISPLAY=${DISPLAY} -v /tmp/.X11-unix:/tmp/.X11-unix:rw -t -i gbarrand/gopaw:<version>
Note the options "-t -i" that permit to redirect the standard input/output on your host terminal.
The upper does not work on Mojave, but the below ansatz, found on stackerflow, works for us :
mojave> <open a new terminal> movaje> <install socat. We installed it with Macports by doing "sudo port install socat"> movaje> <be sure that the socat app is in your path>
Check that the port 6000 is not used with :
mojave> lsof -i TCP:6000
then do :
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" &
then another "lsof -i TCP:6000" should give something as :
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME socat 23420 barrand 5u IPv4 0x4e5bb941508d0a39 0t0 TCP *:6000 (LISTEN)
and then, the following command works for us :
docker run -e DISPLAY=docker.for.mac.host.internal:0 -v /tmp/.X11-unix:/tmp/.X11-unix:rw -t -i gbarrand/gopaw:<version>
On a Windows-10 with the X11/Xming server, from XLaunch, start Xming with "on" in the "No Access Control" box, or from the DOS prompt :
DOS> Xming :0 -multiwindow -clipboard -ac (you may have to kill Xming from "Task manager"), and : DOS> docker run -e DISPLAY=10.0.75.1:0 -t -i gbarrand/gopaw:<version>
In the container, gopaw is installed under /app/gopaw/<version>/[bin,res]. You can execute some examples with something as:
GOPAW> lcd /app/gopaw/<version>/res/gopaw/examples/py_root GOPAW> exec pawex10
If producing a file, for example here mandel.ps, whilst the container is still running, you can get it on your host with:
host> docker ps # to get the container id. host> docker cp <container id>:/app/gopaw/<version>/res/gopaw/examples/py_root/mandel.ps .
You can check that g4tools/HDF5, FITS and CERN-ROOT file reading works with :
GOPAW> lcd /app/gopaw/<version>/res/gopaw/examples/gopaw GOPAW> exec B4 | read the data_B4.hdf5 file. GOPAW> exec sdss | read the data_fpC-005820-g1-0024.fits file. GOPAW> exec hst | read the data_hst-img-2010x1890.fits file. GOPAW> exec m51 | read the data_m51.fits file. GOPAW> exec pawdemo | read the data_pawdemo.root file.
To work with a local host directory, for example /tmp/work_dir on a Mac :
mkdir -p /tmp/work_dir cd /tmp/work_dir
have here a my.kumac file with in it :
vector/create VECT1(10) vector/input VECT1 10 8 6 4 2 3 5 7 9 11 v/draw vect1 /picture/print out.png
Then launch docker/gopaw by mounting /tmp/work_dir on /work_dir by adding in the upper docker run command :
-v /tmp/work_dir:/work_dir:rw
From gopaw, have :
GOPAW> lcd /work_dir GOPAW> lls GOPAW> exec my_kumac GOPAW> exit
You should have in the local host /tmp/work_dir a out.png file.