And, the plot sickens... I managed to get the font server running, and listening to TCP connections, and all heck broke loose. My motif-based application went from taking < 1 second to start up to (I lost count after) over 10 minutes. This is with a more-or-less default configuration for everything. The only things I did were:
1. Made xrdp use rdp security (100% CPU usage issue)
2. Made the xfsd process listen for TCP connections and turned on lazy rendering.
3. added tcp/localhost:7100 to the -fp parameter.
4. Shut down the iptables and ip6tables firewalls to avoid that issue since I'm using a VirtualBox VM on a "Nat network" and only SSH and RDP ports are transferred.
I connect, start my application (the legacy ClearCase Unix diff/merge tool) and ... Nothing... For. 10. Minutes... No Font server, no problem, add font server, BIG problem.
What the heck am I missing?
TigerVNC version:
Xvnc TigerVNC 1.10.0 - built Dec 20 2019 07:12:07
Copyright (C) 1999-2019 TigerVNC Team and many others (see README.rst)
Underlying X server release 12001000, The X.Org Foundation
xrdp.ini:
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=high
#channel_code=1
max_bpp=24
#black=000000
#grey=d6d3ce
#dark_grey=808080
#blue=08246b
#dark_blue=08246b
#white=ffffff
#red=ff0000
#green=00ff00
#background=626c72
[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
security_layer=rdp
font server config:
#
# xfs font server configuration file
#
# allow a max of 10 clients to connect to this font server
client-limit = 10
# when a font server reaches its limit, start up a new one
clone-self = on
# alternate font servers for clients to use
#alternate-servers = foo:7101,bar:7102
# where to look for fonts
catalogue = /usr/share/X11/fonts/misc:unscaled,
/usr/share/X11/fonts/75dpi:unscaled,
/usr/share/X11/fonts/100dpi:unscaled,
/usr/share/X11/fonts/Type1,
/usr/share/fonts/default/Type1,
# in 12 points, decipoints
default-point-size = 120
# 75 x 75 and 100 x 100
default-resolutions = 75,75,100,100
# use lazy loading on 16 bit fonts
#deferglyphs = 16
deferglyphs = all
# Log errors via syslog.
use-syslog = on
# For security, don't listen to TCP ports by default.
#no-listen = tcp
sesman.ini
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
[Security]
AllowRootLogin=1
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
[Sessions]
X11DisplayOffset=10
MaxSessions=10
KillDisconnected=0
IdleTimeLimit=0
DisconnectedTimeLimit=0
[Logging]
LogFile=/var/log/xrdp-sesman.log
LogLevel=DEBUG
EnableSyslog=1
SyslogLevel=DEBUG
[X11rdp]
param1=-bs
param2=-nolisten
param3=tcp
param4=-logverbose 10
[Xvnc]
param1=-bs
param2=-nolisten
param3=tcp
param4=-localhost
param5=-dpi
param6=96
param7=-Log
param8=*:syslog:100
param9=-fp
param10=/usr/share/X11/fonts/misc,/usr/share/X11/fonts/75dpi:unscaled,/usr/share/X11/fonts/100dpi:unscaled,tcp/localhost:7100