Setup Native Linux Host
In this topic:
By following this guide, you will be able to set up a native Linux host environment to run winIDEA. The setup process involves installing necessary dependencies, configuring the Linux operating system, support for Wine, Java, Python, and ensuring that winIDEA can run efficiently with the required tools and libraries.
The instructions are designed for Ubuntu and Fedora distributions, with specific commands provided for each.
Linux distributions support their own version of Wine, which is often outdated. To get more recent stable versions of the Wine environment, use the prebuilt packages from the official source - WineHQ project.
•Ubuntu 22.04 (ISO images can be downloaded from https://releases.ubuntu.com/22.04/
•Fedora-39
Stable versions of WineHQ for Ubuntu 24.04 and Fedora 40 are not yet available, as these OS versions were released after the latest stable Wine version. Stable packages will be provided when Wine 9.0.1 is released. |
Below you can find the steps for setup of the Linux host (OS). All needed operations are collected into shell script setup-linux.sh which is available in winIDEA_<version>.tar.gz archive.
Setup the host. |
To install mandatory software packages and configure host OS properly, extract the winIDEA archive and execute the setup script with elevated privileges and follow the execution instructions:
$ tar -zxvf winIDEA_x64_<version>.tar.gz $ sudo winIDEA_x64_<version>/winIDEA/setup-linux.sh |
Install manually if the setup script is not available. |
If setup-linux.sh is not available for your winIDEA version (it was added in winIDEA version 9.21.268.182947), follow the steps below to install winIDEA manually:
•Wine - Install Wine tools from WineHQ as described on subpages from https://wiki.winehq.org/Download for the supported host OS.
•Java - For running Java plugins in winIDEA the JRE and some additional libraries are required.
oUbuntu:
$ sudo apt install --yes default-jre libswt-gtk-4-jni libsecret-1-0 libxerces-c3.2 |
oFedora:
$ sudo dnf install --assumeyes java-21-openjdk eclipse-swt libsecret xerces-j2 |
•Python - Some of the distributions have no support for installation modules from the pip repository and the Python virtual environment. To satisfy software dependencies for Python packages, install pip, venv and other essential packages.
oUbuntu-22.04:
$ sudo apt install --yes python3-pip python3-venv python3.10-venv xterm python3-tk libtcl8.6 libxkbfile1 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render0 libxcb-shape0 libxcb-xkb1 libxkbcommon-x11-0 libmysqlclient21 libodbc2 libpq5 libspeechd2 libpulse0 libegl1 |
oFedora:
$ sudo dnf install --assumeyes python3-pip python-pip-wheel xterm python3-tkinter tk libxkbfile xcb-util-cursor xcb-util-wm xcb-util-image xcb-util-keysyms libxcb libxkbcommon-x11 mysql-libs unixODBC libpq speech-dispatcher pulseaudio-libs libglvnd-egl |
oOptional - Install required python modules when running winIDEA in network isolated environment
$ sudo python3 -m pip install matplotlib openpyxl six pyyaml pyside6 |
If this step is skipped then the download of the required modules from the internet and their installation is performed at the winIDEA first execution .
Verify and update. |
winIDEA requires libstdc++.so.6 with API version >= GLIBCXX_3.4.32. |
To check if the installed version is sufficient, run the following command:
$ strings /lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.32 | wc -l |
If the returned value is zero then an update of this library is mandatory:
•Ubuntu:
$ sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test && sudo apt-get install --yes --only-upgrade libstdc++6 |
•Fedora - Supported versions have a sufficient version of the libstdc++ library.
Set up the virtual frame buffer (if running without GUI). |
When running winIDEA on a server without window manager, the virtual frame buffer is required to provide a dummy window manager. This feature is covered by Xvfb which provides a wrapper program xvfb-run for execution of GUI applications.
•Ubuntu:
$ sudo apt-get install --yes xvfb |
•Fedora:
$ sudo dnf install --assumeyes xorg-x11-server-Xvfb |
(optional) Configure the USB support. |
To get sufficient permissions for accessing USB devices, use this command:
$ echo 'ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="06f9", MODE="0666"' | sudo tee -a /etc/udev/rules.d/isystem-usb.rules |
Run winIDEA. |
a. Run winIDEA with basic environment:
$ ./winidea |
b.Run winIDEA with customized arguments:
$ ./winidea <optional args> |
c.Run headless winIDEA:
$ xvfb-run ./winidea <optional args> |