Linux operating system limitations and workarounds for Serv-U users
The Serv-U Tray application
The Serv-U Tray application is a GUI tool to start or stop the Serv-U MFT. The Tray application also provides options to enable display notifications, set up or remove Serv-U as a service, and open help topics.
There are two ways to implement the Tray application, depending on the UI Linux subsystem installed on your platform:
-
If GTK2 is installed, as is usually the case for KDE and the GNOME Linux UI system, you can use the gtk_status_icon_new call to create an icon object. (See the Common\RhinoUTIL\RhinoAshTray.cpp CRhinoAshTray::PutOnAshTray method.)
-
If libappindicator is installed, as may be the case for KDE, Unity Linux UI subsystem, you can use it to create a tray icon. (See Common\RhinoOSAL\LibAppIndicator.)
Balloon Tip notifications
By design, Serv-U does not have a GUI inside it; instead, all balloon notifications are displayed by the Serv-U Tray application as part of server events notification. Thus, the Tray application must be started to display balloon tip notifications.
Serv-U Tray application display limitations in GNOME and workaround
The Serv-U Tray application in Serv-U is no longer supported in GNOME systems. Starting with version 3.26, the GNOME UI project stopped displaying Tray icons by default. The Serv-U Tray application can be started without errors, but the Tray itself is not visible and has no functionality. In addition, the Tray affects the balloon tips notification.
The default configuration for the Serv-U tray depends on the distribution. For example, Red Hat Enterprise Linux 8.6 with GNOME 3.32 version does not display the System Tray by default, but Ubuntu 22.04 with GNOME 42.9 does.
There is a workaround for this issue that is available with a plugin/extension. GNOME developers suggest using the background work of notifications or setting up GNOME extensions to re-enable the System Tray workflow.
Using a software manager, an administrator can manually set up the Tray Icons GNOME SHELL extension, which provides an option to re-enable the system.
Serv-U Tray application display limitations in OpenSuse and workaround
The OpenSuse platform has limited ability to share a DISPLAY environment between users (see SUSE support at https://www.suse.com/support/kb/doc/?id=000017060 for additional information). Operations such as su, sudo, or runuser are unable to start the GUI due to the lack of environment options.
This, in turn, affects Serv-U Tray functionality, which can work only with root user permissions, but uses runuser to open the default browser as needed to start a local admin session, open a support topic, and perform similar functions under the login user account. In addition, the lack of environment options makes it impossible to start a local admin session from the command line to launch the Serv-U Tray application with the argument -administrator.
To solve this issue, the admin can make manual changes to allow the transmission of the DISPLAY environment between root and login user only by using the xhost command line tool.
xhost can apply the rule only for localhost and for a concrete user and not decrease the security level:
xhost + SI:localuser:user_name
where user_name equals the name of the login user.