We were receiving complaints from several users that they would lose the connection to their published applications when working on their Mac OS X devices. When working on these devices their published applications would suddenly be disconnected. The users would receive the following message:
While investigating the issue and some Googling by my colleague Patrick de Ritter we found that we where not alone. Beside the small note Dan Brinkman already wrote about this issue there is also a nice thread about the issue on the Citrix Discussions forum. To clarify this issue I decided to write an article on how to fix unexpected disconnects with Citrix Receiver for Mac OSX.
The issue the users are experiencing seemed to be caused by a new feature in OSX 10.9 called App Nap. It is a sort hibernation mode for applications and causes the above described effect for users. To prevent this from happening we took the following steps:
- Select the check box at Prevent App Nap check box to prevent the application from hibernating.
Because the Citrix Receiver only handles the connection to StoreFront, you’ll also need to set this for the Citrix Viewer (previously known as the XenApp Viewer).
- Use Command + I (or right-click the app, then click Get Info) to open the Get Info window.
- Open the Applications folder and find the Citrix Receiver.
- To do this, right-click the Citrix Receiver app and select Show Package Contents. Navigate to the Helpers folder, under the Contents folder, and use Command + I (or right-click the app, then click Get Info) to open the Get Info window for Citrix Viewer.
- Again, select the check box at Prevent App Nap to prevent the application from hibernating. After the user logs on again (because of the services running in the background), the application will never hibernate again for this user. That’s right, these settings are for the logged in user only.
- Besides changing the settings through the GUI it is also possible to create a script. This script can be started by the user and needs to run in the users context and is case sensitive:
defaults write com.citrix.Receiver.nomas NSAppSleepDisabled –bool TRUE
defaults write com.citrix.XenAppViewer NSAppSleepDisabled –bool TRUE
After the settings have been changed the user won’t experience disconnected sessions, caused by a hibernating application anymore. Remember the user needs to re-login before the changed settings will be effective
Please note: We tested this against Apple OS X 10.9