The title of the article was suggested by the topic on one of the
forums . Despite the fact that six years have passed since the question arose, little has changed in this direction. And since lately
OpenVPN was constantly on my ear, it was decided to correct this situation. This is how the graphical utility VpnGUI was born for creating, editing, running and controlling the execution of the openvpn utility.
After launching the VpnGUI utility, an icon will appear in the tray (a square divided into four blue-red squares) utilities:
Tray has a menu that appears when you press the right mouse button when the mouse cursor is on the VPNGui utility tray. The menu has two items - Restore (maximize windows) and Stop (exit). After selecting the “Restore” menu item, the main window of the VPNGui utility will appear on the screen:

')
The development was conducted in python using the Tkinter graphics package and
Page designer.
Recall that in order to use “a great, powerful, truthful and free Russian language!” (IS Turgenev), you need to add the gui_pyton_gen.tcl file of Page designer after 418 line to the following code:
Similar code must also be added to the file support_python_gen.tcl (after 458 lines).
Pystray package was installed for programming the tray.
The operation of the utility begins with the choice of the executable file openvpn or its forks. The utility checks the presence of the executable file and fills the lists with the list of supported mac (integrity control algorithm), ciphers (encryption algorithms) and the list of supported ciphertext files:

Now you can start working with the configuration file. The user can create a new file or edit an existing one, having previously downloaded it (see screenshot). After the file is uploaded or the new file is saved, the user can run openvpn:

After entering the password, OpenVPN diagnostic messages will be displayed in the “Work log” window:

As long as openvpn works fine, the VPN Active is disabled. If openvpn for some reason ends its work or is stopped by the user (the “Stop VPN” button), then the button will unlock and become the “Start VPN” button again.
Note that for issuing client and server certificates for OpenVPN, it is convenient to use an
XCA certificate authority:

Now that openvpn works fine, you can remove it to the tray. To do this, you can use it as the “To tray” button on the “Work protocol” window or the main window menu (Manager → Remove to tray):

The utility is self-dependent. The utility binary code can be obtained using the Nuitka package.