Testing Software On CentOS 7

Home » CentOS » Testing Software On CentOS 7
CentOS 8 Comments

I need to test a new version of Geany but already have the repo version installed on all my systems. In order not to foul up my current installation, what is the suggested procedure for installing and testing this new version?

I tried installing in a docker container which of course went fine but could not run it from there.

Suggestions appreciated, thank you.

8 thoughts on - Testing Software On CentOS 7

  • A virtual machine running CentOS with the same environment and packages installed should do the trick.

  • I am correct in that docker cannot be used, or? If it can be used, what changes would I need to make to be able to run geany from a docker?

  • A google search for “run x11 app in docker” returns http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/ as the first result.  That blog entry suggests running the app in container with the DISPLAY environment variable, and with the /tmp/.X11-unix directory shared so that the X11 unix sockets are available in the container:

    |docker run -ti –rm \ -e DISPLAY=$DISPLAY \ -v
    /tmp/.X11-unix:/tmp/.X11-unix \ geany |

  • Thank you, visited that page and tried the above but get the following messages:

    No protocol specified Geany: cannot open display

    Perhaps there is something else I have to set up in the container?

  • Can you copy the text of the command you ran and its output from your terminal, and paste that in a reply email?

    Also, run the command a second time, but add “echo — ” at the beginning so you can see how variables are expanded.  Include that command and output in your reply.

  • Think I got it to work now, I needed to add the RUN export … at the page you linked to.

    I can now get geany to open, have not yet figured out how to be able to access files on the host computer…

  • Running “export” in your Dockerfile won’t change the image that gets built.

    I tried running geany in a container on Fedora and had to make two adjustments.  First, the Fedora SELinux policy blocks access to
    /tmp/.X11-unix, and second I had to enable local connections using xhost, so:

    $ sudo setenforce permissive
    $ xhost +local:docker
    $ docker run -i -t –rm -e DISPLAY=$DISPLAY -v
    /tmp/.X11-unix:/tmp/.X11-unix -v ~/Documents:/root/Documents CentOS:7
    /bin/bash –login
    [root@45fdbee081d2 /]# yum -y install epel-release > /dev/null 2>&1
    [root@45fdbee081d2 /]# yum -y install geany > /dev/null 2>&1
    [root@45fdbee081d2 /]# geany
    $ sudo setenforce enforcing

    You’d use docker-run’s “-v” flag to bind-mount the directory containing your files in the container, as I mounted my Documents directory above. 
    Take a look at the “docker-run” man page and check the documentation for each of the flags used in that command, at a minimum.

  • Got it working, turned out all I had to do was to add another volume that is my home directory on the host computer. This relies on having the same user in both docker and on host computer.