PlayOnLinux


PlayOnLinux is a graphical frontend for the Wine software compatibility layer which allows Linux users to install Windows-based video games, Microsoft Office, Microsoft Internet Explorer, as well as many other applications such as Apple iTunes and Safari.
While initially developed for Linux-based systems, it is also used on macOS and FreeBSD under the names PlayOnMac and PlayOnBSD, respectively. It can also be used on other operating systems supported by Wine.

Internals

PlayOnLinux is developed using a combination of Bash, Python and wxPython.
The system provides wrapper shell scripts that specify the configuration of Wine needed in order to install and run a particular application.
It uses an online database of scripts to apply to different applications that need special configuration; if the game is not in the database, a manual installation can be performed. Programs can be installed and each one is put in a different container to prevent interference of one with another. This provides isolation in much the same way that CrossOver's bottles work.
Thus, applications may use different versions and configurations of Wine as appropriate. The installation of these is managed by the PlayOnLinux software itself without the requirement to install Wine separately.
The program also allows the user to create virtual partitions, in which specific programs can be installed with different Wine versions and programs, similar to a multi-boot computer.

Scripting language

PlayOnLinux includes advanced functions in Bash allowing the community to make scripts easily by controlling the installation process. Each supported program has its own script written in this language.
For example, the simple following script will popup a setup window with the message Hello World:

  1. !/bin/bash
&& exit 0
source "$PLAYONLINUX/lib/sources"
POL_SetupWindow_Init
POL_SetupWindow_message "Hello World!" "My first message"
POL_SetupWindow_Close
exit