如何阻止下划线在 Xubuntu 16.04 的 xvnc4 window 中的 xterm 中消失?

how to stop underscores from disappearing in xterm in xvnc4 window in Xubuntu 16.04?

在 Xubuntu 16.04 的 xvnc4 会话中的 xterm 运行 中,即带有 XFCE 的 Ubuntu 16.04,下划线字符消失。 Xubuntu 14.04 没有出现这个问题。我的问题是:如何避免这种情况?如果有下划线,我需要它是可见的。

在一个普通的X11 window 中使用与X11 服务器相同的机器,下划线显示正常。 (奇怪,嗯?)

我查看了发送到终端的实际字符,使用 xterm '-l'(日志记录)功能,然后查看 emacs 中的日志(使用相同的字体 dejavu)。事实证明下划线字符被发送到终端,就像它一样,所以我不认为这是某种 terminfo 问题。该角色只是没有出现在终端 window 中——而且消失只发生在 Xvnc 中。在同一个 Xvnc window 中的 Emacs 运行 中,下划线字符出现了,但它是灰色而不是黑色;不知道为什么。

由于我需要解决上述问题而出现的一个附带问题是,我在使用 xterm 尝试不同的字体时遇到了问题。如果我根本没有指定字体,即如果我在启动 xterm 时没有指定“-fa”选项,则默认字体显示下划线。但是,默认字符大小对我老眼来说太小了,如果没有 -fa,-fs(字体大小)也没有效果。其他字体给出其他结果,都不尽如人意;例如,大多数 TTF 字体的间距很奇怪。

我们通常结合使用 xterm 的功能;对我们来说,一个典型的调用是:/usr/bin/xterm -fg black -bg wheat -cr red -ah -bc -l -sl 10000 -sb -si -fa dejavu -fs 10

您可能需要调整 scaleHeight 资源以解决错误构造的字体文件。如果它们声明的尺寸比实际尺寸小一点,那么连续的文本行将重叠(并且下划线将丢失)。

只是为了试验一下,我会尝试将其设置为 1.1,例如,

/usr/bin/xterm -fg black -bg wheat -cr red -ah -bc -l -sl 10000 -sb -si -fa dejavu -fs 10 -xrm '*scaleHeight: 1.1'

xterm 使用裁剪来解决这里常见的问题,但有些字体比其他字体差。

就我而言,更改 ~/.Xresources 中的提示样式会有所帮助。

hintmedium 下划线消失:

Xft.hintstyle: hintmedium

使用 hintfull 下划线不会消失:

Xft.hintstyle: hintfull 

尝试了其他一些建议,但对我没有用。将字体大小增加到 16pt 为我解决了这个问题。我的 ~/.Xresources:

xterm*faceName: Monospace
xterm*faceSize: 16