Fonts: Cygwin/X, ssh -Y, TigerVNC -- who's in charge?

Jon Turney jon.turney@dronecode.org.uk
Thu Jun 25 21:43:58 GMT 2020


On 18/06/2020 17:53, Henry S. Thompson via Cygwin wrote:
> [Warning, gnarly X-windows issues below, read at your own risk]
> 
> I run XEmacs on several Linux servers, and sometimes (always for the
> time being) access them via (Cygwin) ssh -Y and/or (Windows)TigerVNC.

I'm not sure if you're using 'XEmacs' here to refer to 'GNU Emacs as an 
X11 client' or 'XEmacs (the fork derived from Lucid Emacs)'

> XEmacs and fonts are problematic in their own right, but I'm struggling
> to understand the X-windows-as-such issues of this configuration, to try
> to isolate my problem, which is that I'm not seeing things displayed in
> the fonts I want.
> 
> In particular, I'm trying to understand as between the X servers running
> on my remote servers (there has to be one, however simple, whichever way
> I connect, because that's where my XEmacs instances are running, right?)
> and the Cygwin/X server on my machine at home.

Sort of.  When using ssh forwarding, the sshd provides a 'proxy X 
server', which forwards the X protocol across the ssh tunnel to the ssh 
client (where the real X server is located).

(Typically these proxy X servers are listening on ports corresponding to 
display numbers starting at :10 (see X11DisplayOffset in 'man 
sshd_config'.  If you inspect the DISPLAY env var inside a 'ssh -Y' 
session, you'll typically see it is something like 'localhost:10.0')

> Configuration 1)
> 
> I _think_ I understand that if I launch XEmacs inside an Xvnc instance
> on a server, viewed using a vncviewer instance on my home machine, the
> fonts available to it are determined by what fonts are available within
> the remote Xvnc instance, in whatever form.
> 
> Am I also right in thinking that it does _not_ matter what fonts
> TigerVNC-for-Windows finds on my Cygwin box at home?
> 
> Configuration 2)
> 
> If OTOH I launch Cygwin/XWin, and ssh -Y from a local xterm to a remote
> server, where I launch XEmacs, I really don't know what happens.  Does
> the sshd X server include a font server, or search for font.dirs, or???
> Or does _all_ font-related activity depend on the Cygwin/X server?

Sort of. The core (legacy) fonts depend on the X server.

All modern applications will be rendering fonts inside the X client, so 
it's the fonts available where that runs which are significant.

See the end of [1] for the last lot of more words I wrote about that.

[1] https://cygwin.com/pipermail/cygwin-xfree/2014-July/036712.html

> Configuration 3)
> 
> Unfortunately, the configuration I like best is a mixture.  I launch
> XEmacs inside an Xvnc instance on a server, viewed using a vncviewer
> instance on my home machine, and fire up gnuserv inside it.  I close the
> viewer, and ssh -Y back to the server from home, then run gnuclient from
> the resulting shell, which brings up a separate window on the original
> XEmacs instance.  I have no idea whose fonts matter in this case, can
> anyone explain?

I think that gnuclient will be starting a 'frame' on the display 
indicated by the DISPLAY env var.  If the client is using core fonts, 
then they are from the X server.

> A related question: when running setup and looking at font packages, how
> can I tell whether they contain new-style (fc-list will will list them,
> they have names such as "DejaVu Sans Mono", or old-style (xlsfonts will
> list them, they have names such as "-b&h-lucidatypewriter-medium-r...")?

I'm not sure if we have a convention which lets you tell this by name.

I think the majority, if not all, of the core fonts have names starting 
'xorg-x11-fonts-'.


More information about the Cygwin mailing list