-
Notifications
You must be signed in to change notification settings - Fork 3
Desktop
Since most of the tools can be run on a terminal, no graphical interface manager is required. However, using a window manager is recommended, because simultaneous edition of multiple source files is likely to be required.
On top of that, the ELIDE frontend is based on web technologies (HTML and JavaScript), thus a browser is required.
The wiki of Arch Linux is a high-quality source to explore different graphical managers and environmens. Check it before searching a specific solution for your preferred distribution:
NOTE: ELIDE is tested on Alpine Linux and Debian docker images, on an Arch Linux host with XFCE and Openbox, and on Windows 10.
Some of the tools are preferredly run inside Docker containers. On top of that, while most of these will seamlessly run on a Windows host, when GUI interfaces are to be used, an X display server is required. There are several approaches to allow so, such as using VNC or SSH. However, sharing an X server running on the host is the most straight forward solution. Follow these steps for a minimum setup:
NOTE: docker and vcxsrv are available through chocolatey.
Ensure that the PATH can find docker binaries. If not, add it:
export PATH=$PATH:/c/Program\ Files/Docker/Docker/resources/bin
Install an X server, such as VcXsrv or Cygwin/X.
Use x11docker, a helper script with an optional graphical frontend to enable apps inside containers to use a X server on the host (see examples). For details about supported features, see MSYS2, Cygwin and WSL on MS Windows.
Alternatively, the X server can be started and runtime parameters for the container can be set manually. First, run the X server, with the following options: multiwindow, clipboard and no access control. Now you can run any docker container setting the envvar DISPLAY
to <localIP>:<display>
. For example:
winpty docker run --rm -it -e DISPLAY=10.0.75.1:0 elide/alpine:run
The example above corresponds to Èthernet adapter vEthernet (DockerNAT)
, but any others such as 192.168.1.?
should also work. You can get the IP with ipconfig
:
ipconfig | grep 'IPv4' | grep -o '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*'
To take the first one:
winpty docker run --rm -it -e DISPLAY=$(ipconfig | grep 'IPv4' | grep -o -m 1 -h '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*'):0 elide/alpine:run
NOTE: Issue when using
-it
on windows. Solution: prependwinpty
.