Anyone successfully running Citrix Workspace?

Hello everyone,

i'm trying to setup a FreeBSD Desktop mostly as a hobby project, so far things are going surprisingly well! Only thing missing right now is a working solution to run citrix.

First of all, i'm on FreeBSD 14.1-RELEASE. I have successfully setup the linuxilator using the ubuntu (focal) environment. Most Linux-Apps are running just fine.

The Citrix Receiver Port seems pretty outdated, so i figured the current Citrix Workspace Linux-Version (24.5.0.76) might be my best chance.

However, other than the configmgr-gui, nothing is working. This is what i get when trying to launch the selfservice-app:


Code:
commo@Prime ~> /opt/Citrix/ICAClient/selfservice --icaroot /opt/Citrix/ICAClient
Error creating needed directory /.ICAClient/

(process:5213): Gtk-WARNING **: 20:16:00.978: Locale not supported by C library.
    Using the fallback 'C' locale.
Bus error
EULA was rejected.

I have tried the old citrix receiver binary used by the port, result is exactly the same.

I'm unsure if attempting to install the old Receiver via the Port (i have just downloaded the tarball here) is viable, since the port relies on the linux-c7 base instead of ubuntu. I did try it, but ran into errors while doing make:
Code:
cd /usr/ports/net/citrix_ica/work/citrix_ica-13.10.0 &&  /bin/sh -c './setupwfc'
ELF interpreter /lib/ld-linux.so.2 not found, error 2
Abort trap
My attempt at fixing this was installing libc6-i386 in my ubuntu chroot, thinking it has something to do with missing 32bit libs maybe, didn't make a difference though.



Soo.. Anyone successfully running Citrix on FreeBSD? How did you accomplish it?

Thanks for reading, please let me know if i can provide more info if needed!
 
Have you tried net/citrix_ica?

 
Unfortunately, the port is not building for me:

root@Prime /u/p/n/citrix_ica (main)# make
===> NOTICE:

The citrix_ica port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:


More information about port maintainership is available at:


===> License citrix accepted by the user
===> citrix_ica-13.10.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by citrix_ica-13.10.0 for building
===> Extracting for citrix_ica-13.10.0
=> SHA256 Checksum OK for linuxx86-13.10.0.20.tar.gz.
===> Patching for citrix_ica-13.10.0
===> Applying FreeBSD patches for citrix_ica-13.10.0 from /usr/ports/net/citrix_ica/files
===> citrix_ica-13.10.0 depends on executable: fakeroot - found
===> Configuring for citrix_ica-13.10.0
===> Staging for citrix_ica-13.10.0
===> citrix_ica-13.10.0 depends on package: linux-c7-alsa-lib>0 - found
===> citrix_ica-13.10.0 depends on package: linux-c7-gtk2>0 - found
===> citrix_ica-13.10.0 depends on package: linux-c7-libxml2>0 - found
===> citrix_ica-13.10.0 depends on package: linux-c7-motif>0 - found
===> Generating temporary packing list
cd /usr/ports/net/citrix_ica/work/citrix_ica-13.10.0 && /bin/sh -c './setupwfc'
ELF interpreter /lib/ld-linux.so.2 not found, error 2
Abort trap
While i did install the necessary linux-c7 libraries, i'm using the ubuntu-environment for linux compatibility. So i'm a bit unsure if this is supposed to work or how to work around this.
 
The HTML5 client works well enough for me, the only caveat is that I don't get any audio. I believe I had this working a long time ago, but it wasn't as smooth as the HTML5 client, so I abandoned all hope and just went for the HTML5 client.

I would like to sort out the audio though.
 
Uh, are we talking about the same thing?

I am running FreeBSD on my workstation (desktop) and launching chrome that is connecting to my computer at work via citrix workspace, the HTML5 client. That computer is a cloud instance of Windows 10 Enterprise.

For the sound to work, I would think there is some issue with chrome. I'm not sure where to look to debug. I know that I cannot watch videos on Amazon or Netflix on my FreeBSD workstation, but can on my phone and that is because the DRM component is missing in chrome on FreeBSD. Otherwise, sound works, I can watch youtube videos.
 
Hi all, i am trying out FreeBSD 15.0-RELEASE on my laptop and i set up a linux jail with ubuntu (jammy) where i am now trying to get citrix workspace running. I am able to start selfservice and get to the point where i can choose the remote environment. After choosing one, I get stuck at a dialog where it tries to connect to the server (see screenshot). After a minute, the dialog disappears without showing the remote environment. I don't know exactly what happens in the background and if it is really a connection issue or something else that may be associated with the window manager.

Bildschirmfoto_2026-01-04_00-37-29.png


Any ideas how I could investigate further?
 
Hmm, I know there should be a way to see what's going on. The thought that comes to mind for me is running citrix workspace with strace and capturing the logs to a file and then inspecting that to see what is perhaps going on. Once you capture the log, you might have some luck asking AI to analyze it and use wgetpaste to link to it here.

Aside from that, the other idea that comes to mind is switching to 'light' mode and then seeing if that at least works. If it does, then it is not a connection issue, but an issue instead with your citrix workspace client.

I had a good experience with the light (HTML5) client though recently (for about the past year, since migrating to W11), the latency increased quite a bit and became difficult to use.
 
Thanks for your suggestions! I tried the light mode in the browser on the host and only got a .ica file which I downloaded to run it on the linux jail.
There I run ./wfica 123.ica but unfortunately without any luck. I got the error message that the 'Connection to xyz has been lost. Please check your network and try again'.

With strace ./wfica 123.ica, i found that there are a lot of console writing like


openat(AT_FDCWD, "/dev/console", O_WRONLY|O_NOCTTY|O_CLOEXEC) = 14
write(14, "citrix-wfica[54506]: WdQueryInfo"..., 53) = 53
write(14, "citrix-wfica[54506]: LoadVd fail"..., 83) = 83
write(12, "citrix-wfica[54506]: -- |ClientD"..., 51) = 51


But I can't see any of them in the console when I run the command, which is strange..

I am going to set the logging level to verbose in AuthManConfig.xml. Maybe i can get more hints about that happens in the background.
 
Thanks for your suggestions! I tried the light mode in the browser on the host and only got a .ica file which I downloaded to run it on the linux jail.
There I run ./wfica 123.ica but unfortunately without any luck. I got the error message that the 'Connection to xyz has been lost. Please check your network and try again'.

With strace ./wfica 123.ica, i found that there are a lot of console writing like


openat(AT_FDCWD, "/dev/console", O_WRONLY|O_NOCTTY|O_CLOEXEC) = 14
write(14, "citrix-wfica[54506]: WdQueryInfo"..., 53) = 53
write(14, "citrix-wfica[54506]: LoadVd fail"..., 83) = 83
write(12, "citrix-wfica[54506]: -- |ClientD"..., 51) = 51


But I can't see any of them in the console when I run the command, which is strange..

I am going to set the logging level to verbose in AuthManConfig.xml. Maybe i can get more hints about that happens in the background.
For "light" mode to work, you must select that from the settings, the gear icon. You should NOT get an ica file because that is what the installed version would use. Behind the scenes, it will fetch the ica file.

When you launch a remote desktop while light mode is configured, it should merely launch a new browser tab and connect you to that remote host. Again, there should not be an ica file involved when using light mode.
 
I see, i am not using the light mode at all. When I log into my organization's web version of the citrix workspace entry point, it tries to detect the workspace app but i cannot choose any light mode as suggested by you. Do you have to install any piece of software beforehand in order to use the light mode? Is it this one, which you run with Wine?
 
No, during that detection, there should an option to use the light version. Again, I believe you can switch it at anytime by going to the 'gear' icon.

Programmatically, this is how I switched to it:
Code:
const (
        useLightVersionPromptId = "protocolhandler-welcome-useLightVersionLink"
)

func (s *Session) useLightVersion() {
        log.Info().Msgf("Session.useLightVersion - UseLightVersion: %v", s.UseLightVersion)

        if !s.UseLightVersion {
                return
        }

        select {
        case <-s.ctx.Done():
                log.Debug().Msg("Session.useLightVersion - context done")
        default:
        }

        // this context is always done now
        if action.ExistsById(s.ctx, useLightVersionPromptId) {
                log.Info().Msg("Session.useLightVersion - switching to light version")
                logging.Warn(action.Execute(s.ctx,
                        chromedp.Click(useLightVersionPromptId, chromedp.ByID),
                ), "session.useLightVersion - error selecting use light version")
        }
}

That snippet of code was run immediately after logging in; however, I recall that it is also accessible through the gear icon.

No, again, the whole idea with light mode is that it just works with nothing required by the end user other than an HTML5 web browser, chromium, google chrome, firefox all work well on FreeBSD.

The one issue with using them on FreeBSD that I could not reliably resolve was sound. I believe I had to install the widevine port from ports. For that reason, I used my mobile phone to connect to teams and took calls that way.
 
Back
Top