There is a xrdp port for FreeBSD.
But the maintainer seems to only have dealt with compile time errors, it did not work at all for various reasons:
- FreeBSD does not have clearenv,
nor does it like code like
environ = NULL;. It works
on Linux, but on FreeBSD, it does what you might assume
first: a subsequent call to setenv() leads to a segmentation fault.
environ = NULL;with
environ = NULL;
- The author changed some locations of files.
This is a known technique of port maintainers to
keep everything in a common place.
If there weren’t these two lines of code that handle
the execution of the DefaultWindowManager:
g_sprintf(text, "%s/%s", cur_dir, g_cfg.default_wm);
g_execlp3(text, g_cfg.default_wm, 0);
The current directory is always prepended to the pathname.
Get your patch for xrdp today: xrdp.patch