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