This article contains information about troubleshooting Flash Version 2 on Linux. This information is helpful for users using Flash redirection on Linux. This article is divided into following sections:
Version Compatibility with Virtual Desktop Agent /XenApp Server
Verifying if Client Side Flash Re-direction is Working on Client
Adobe has released security update 626 for Flash Player for Linux v11 (11.2.202.626) on 16th June 2016. This security update, and any update released after, is incompatible with Flash Redirection feature of Citrix XenApp and XenDesktop. When Redirection is attempted, the URLs get added to dynamic blacklist and plays using server side rendering. There is no solution at this time. For reference and more details on the security update, visit APSB16-18.
Refer to the Citrix System-on-Chip (SoC) Readiness Kit for more information. Flash redirection on Linux is supported from client version 12.0 onwards.
By default, Flash redirection is disabled on some versions of Citrix SoC Clients (for example, Linux Client version 12.2). To enable this, you must edit module.ini at <Client Installation Dir>/config/module.ini
Example:
/opt/Citrix/ICAClient/config/module.ini; and change
“FlashV2=Off” to “FlashV2= On”
To leverage the Flash redirection feature on Linux end points, you must install the following mentioned dependencies:
libcurl.so (it should be installed with its dependent packages)
Version: 7.18.2 or higher (latest version is recommended)
libflashplayer.so (and its dependent binaries must be present on the system)
Version: 10.x or higher (latest version on client device is recommended)
Locations of library:
FlashContainer.bin process looks for the Flash library at the following locations on the client device.
/usr/lib/browser-plugins/ /usr/lib/flashplugin-installer/ /usr/lib/adobe-flashplugin/ /usr/lib/mozilla/plugins/ /usr/lib/opera/plugins/ /usr/lib/flash-plugin/ /usr/lib/firefox/plugins/ /usr/lib/flashplugin-nonfree/
It automatically chooses the highest version in case of multiple libraries present on the device. This is because, Citrix recommends latest Flash player to be used at the End points.
If the directory tree of the device does not support any of these locations, then a link or a copy of the Flash library can be created at $ICAROOT or at the Flash installation location. The link to that location can be created using the following command:
ln -s <source_directory>/libflashplayer.so <target_directory>/libflashplayer.so
Flash redirection on Linux is supported with XenDesktop 5.5 or XenApp 6.5 release running with a minimum Flash of version 10.1. Refer to XenDesktop and XenApp documentation for the same.
To make the redirection feature compatible and smooth, ensure that the client installed Flash version to be equal or higher than the version installed on VDA.
Example: If you have VDA running the Flash plugin 10.x, then the version present on the client should be either 10.x or 11.x (only the version major number is considered).
Note: To verify if the Flash content is being rendered on client, you must right-click on the Flash region.
The Flash menu is similar to the native Linux menu.
Verify using the right-click menu option and observe the "About Citrix...” which confirms that Citrix redirection logic is working (introduced in the 12.0 release).
If you get access to terminal on the Linux device, you can verify with the following command:
ps -ef |grep Flash and it should come up with the following result: 1000 6272 6240 0 15:41 pts/6 00:00:00 sh - c /home/username/installation/icaclient/FlashContainer.bin /tmp/Ctx15043876389775564386240 /tmp/Ctx5646687127620733126240 6240 0 1000 6273 6272 8 15:41 pts/6 00:00:02 /home/username/installation/icaclient/FlashContainer.bin /tmp/Ctx15043876389775564386240 /tmp/Ctx5646687127620733126240 6240 0
Complete the following steps to generate CDF Trace kind of utility, which will provide the Flash logs in your Linux box's /tmp/ directory with names such as CtxFlash_FlashContainer.bin_<PID>.log for FlashContainer.bin process and CtxFlash_wfica_<PID>.log
cat > $HOME/HDXFlash.ini <<EOM [Tracing] # enable/disable file tracing File=1 # hex value Flags=0x0FFFFFFF # dec value Level=9 EOM
And then start using Linux Receiver and you will see the logs been logged in /tmp/directory.
As the Flash redirection was not tested on ubuntu 11.10 (which overhauled the whole directory segregation), Citrix Technical Support Engineers used to look for libcurl in /usr/lib/libcurl.so or /usr/lib/libcurl.so.<VERSION> and that was failing even if libcurl is installed on the machine. This issue is fixed in 12.1. The engineers are not looking for a particular directory location; rather they are looking for system's ld.so.cache.
Create a link of libcurl.so in /usr/lib/libcurl.so
Example: It might be present at /usr/lib/i386-linux-gnu/
Flash plug-in location must be specified in the list of locations in the release document.
In case Flash plug-in is not at the proper locations, you can always create a link to any of the specified locations in the user document.
Changes inside the module.ini are not getting reflected while using the receiver.
Q: I am unable to write into the text box, which is part of Flash window.
A: This is a known issue with 12.0. The keyboard and mouse handling was not possible inside the Flash region and working with Flash redirection and keyboard mouse was not getting disassociated from plugin. It has been fixed with the 12.1 release.
Q: Seamless window is not visible when you open multiple windows of seamless Internet Explorer.
A: Flash redirection was not taking care of seamless case in 12.0 release and has been included in the 12.1 release.
Q: If you are running Flash redirection on Linux in multi-monitor setup, Flash window appears on Primary monitor and browser window is on Secondary monitor.
A: This feature was not present in the 12.0 release. In multi-monitor setup, the redirected Flash window will not be in its desired location. This feature has now been implemented in the 12.1 release.
There are multiple ways you can disable Flash redirection, such as:
In module.ini section ICA 3.0, you can set FlashV2=Off, to disable the Flash VC.
After setting FlashV2=Off, the VD for Flash redirection will not even be loaded.
In module.ini HDXFlashUseFlashRemoting=Never. This will disable the Flash redirection altogether.
Q: Why does Flash redirection not work with Linux receiver 12.0?
A: Linux receiver 12.0 did not support Flash redirection on ARM Linux devices; however, ARM Linux support was added in the 12.1 release.
Q: What are the locations of cache file which are being created by the HDX Flash module?
A: The location is $ICAHOME/.ICAClient/CtxFlashCache.
Q: How to verify if there is a problem in caching?
A: Generate the log files and see if the function with the name containing “Cache” is logging any failure message.
There could be several issues, such as:
Note: For this issue, see ipcs –s.
Here you can notice that semaphore is being used by Flash with permission 666 and username as root. If there is no FlashContainer.bin process running on the machine, you need to verify the value of this semaphore using command ipcs -s -q -i <ID>. This should be 1 in case of non-usage. If the value is not 1, then there is problem in locking and this issue must be investigated.
To verify if the problem is actually with these semaphores and not their locks being reset, you can try cleaning them:
ipcrm –s <ID>
You will see a signal handler for SIGABORT in the log being generated.
Q: I am dealing with a thin client which does not allow me to copy on its disc though I am a root user.
A: Most of the thin client vendors are coming up with this kind of file system segregation, which does not allow even super user to write anywhere or everywhere. There are many options to make it writable:
ubuntu> mount -o remount rw /
Or
(HP Thin clients) This vendor provides specific command to make it writable:
ubuntu> fsunlock
While playing Flash videos with Flash Player version 11.2 (currently tested with 11.2.202.262) and Ubuntu 11.10/ 12.04, some Flash instances crashes and reverts to server side rendering. Further Investigations confirmed that a bug exists in given version of Flash Player. In order to work around this bug, users are encouraged to use an upgraded/different version of Flash Plugin. As of today, version 11.1.102.63 is known to work well in the preceding circumstances.
On newer operating systems (Vista and above), a custom event log is created and used by HDX Flash RAVE. This event log appears in the Applications and Services logs\Citrix\Multimedia\Flash event folder.
ID Type Symbols Text (English) 42 = Error EVENT_FLASH_SERVER_PANIC_OR_CRASH Unexpected server error occurred in HDX MediaStream for Flash. The browser will be closed.%r%rFile Name: %1%rLine Number: %2%rFunction: %3%rFunction Dname: %4 <nowiki>< nowiki>43 Error EVENT_FLASH_HOOK_NOT_INIT There was a problem initializing HDX MediaStream for Flash. Server-side Flash rendering will be used if available. 45 = Error EVENT_FLASH_SERVICEDOWN. The HDX MediaStream for Flash Service is not available. Server-side Flash rendering will be used if available. 46 = Error EVENT_FLASH_CLIENT_PANIC_OR_CRASH Unexpected client error occurred in HDX MediaStream for Flash. The browser page will be refreshed and server-side Flash rendering will be used if available. 47 = Warning EVENT_FLASH_DLLGETCLASSOBJECT_ERROR HDX MediaStream for Flash failed to start up. Server-side Flash rendering will be used if available. 48 = Warning EVENT_FLASH_PLAYER_VERSION_MISMATCH The %1 Flash Player on the client device is a lower version than the Flash Player on the server device. Server-side Flash rendering will be used.%r%rClient %1 Player version: %2%rServer %3 Player version: %4 49 = Warning EVENT_FLASH_PLAYER_MAX_SUBCHANNELS_EXCEEDED The maximum number of Flash Player instances has been exceeded for this session. If available, Server-side Flash rendering will be used for the additional Flash Player instance. 50 = Warning EVENT_FLASH_CLIENT_NOSUPPORT The client does not support HDX MediaStream for Flash. Server-side Flash rendering will be used if available. 51 = Warning EVENT_FLASH_CLIENT_PLAYER_NONE The Flash Player is not available on the client device. Server-side Flash rendering will be used if available.%r%rRequired Client Flash Player type: %1 52 = Warning EVENT_FLASH_CLIENT_PLAYER_VERSIONLOW The %1 Flash Player on the client is a version not supported by HDX MediaStream for Flash. Server-side Flash rendering will be used if available.%r%r%2 Client Player version: %3 53 = Warning EVENT_FLASH_LATENCY Network latency is above the level supported by HDX MediaStream for Flash. Server-side Flash rendering will be used if available.%r%rMeasured latency (milliseconds): %1 54 = Warning EVENT_FLASH_CLIENT_CONTENT_FETCHING_FAILED The client's Flash Player was unable to fetch Flash content directly from the client device. The browser page will be refreshed and server-side Flash rendering will be used if available. 55 = Information EVENT_FLASH_DISABLED HDX MediaStream for Flash is not enabled. Server-side Flash rendering will be used if available. 56 = Information EVENT_FLASH_URL_BLACKLISTED A Flash Player instance matched the HDX MediaStream for Flash dynamic blacklist. Server-side Flash rendering will be used if available.%r%rURL: %1 57 = Information EVENT_FLASH_CLIENT_OPTOUT The client end-user has chosen not to use HDX MediaStream for Flash. Server-side Flash rendering will be used if available. 58 = Warning EVENT_FLASH_URL_BLACKLISTED_BLOCKED A Flash Player instance matched the HDX MediaStream for Flash dynamic blacklist. The Flash rendering will be blocked due to configuration.%r%rURL: %1 59 = Warning EVENT_FLASH_URL_COMPATLISTED A Flash Player instance matched the HDX MediaStream for Flash compatibilty list. Server-side Flash rendering will be used if available.%r%rURL: %1 60 = Information EVENT_FLASH_URL_COMPATLISTED_BLOCKED A Flash Player instance matched the HDX MediaStream for Flash compatibility list. The Flash rendering will be blocked due to configuration.%r%rURL: %1 61 = Information EVENT_FLASH_INTELLIGENT_FALLBACK A Flash Player instance meets Intelligent Fallback rules. Server-side Flash rendering will be used if available.%r%rURL: %1 62 = Information EVENT_FLASH_INTELLIGENT_FALLBACK_BLOCKED A Flash Player instance meets Intelligent Fallback rules. The Flash rendering will be blocked due to configuration.%r%rURL: %1 63 = Information EVENT_FLASH_FLASH_BLOCKED The server's Flash player has been completely blocked due to configuration. 64 = Warning EVENT_FLASH_CLIENT_V1_USE_V1. The client supports an older version of HDX MediaStream for Flash. HDX MediaStream for Flash will be used at a reduced level of functionality. 65 = Warning EVENT_FLASH_CLIENT_V1_USE_SERVER_SIDE_RENDERING The client supports an older version of HDX MediaStream for Flash. Server-side Flash rendering will be used if available. 66 = Information EVENT_FLASH_SSCF_FALLBACK A Flash Player instance has fallen back to server-side content fetching.%r%rURL: %1 67 = Warning EVENT_FLASH_MINIMUM_BROWSER_VERSION The browser major version is below the minimum major version supported by HDX MediaStream for Flash. Server-side Flash rendering will be used if available.%r%rReported browser major version: %1 68 = Warning EVENT_FLASH_MAXIMUM_BROWSER_VERSION The browser major version is above the maximum major version supported by HDX MediaStream for Flash. Server-side Flash rendering will be used if available.%r%rReported browser major version: %1 69 = Warning EVENT_FLASH_MINIMUM_COLOR_DEPTH The session color depth is below the minimum color depth supported by HDX MediaStream for Flash. Server-side Flash rendering will be used if available.%r%rReported color depth (bpp): %1 70 = Warning EVENT_FLASH_ROAMING_CLIENT_SERVER_MISMATCH The browser was initially started with a version of HDX MediaStream for Flash that does not match the current client (Smooth Roaming is in effect). Server-side Flash rendering will be used if available. 71 = Warning EVENT_FLASH_URL_UNAVAILABLE The site URL cannot be obtained from the browser to check against the dynamic blacklist or the compatibility list. Server-side Flash rendering will be used if available.