自从 Linux Mint 21升级到 Linux Mint 22以后,我发现有两个问题对Genera的运行造成了困扰。
一、 新的Linux内核不再编译 NFSv2 协议的支持模块,导致 Genera 不能通过 NFS 访问宿主机的文件系统。解决方案:使用内置了NFSv3协议的Genera World。可以从 http://www.jachemich.de/vlm/genera.html 或 https://github.com/li-yiyang/genera-docker/tree/master/symbolics 下载 distribution.vlod,该映像可以通过NFSv3访问Linux的文件系统。可以正常地定义站点。
二、 字体渲染糟糕,准确地说是极其糟糕。字体线条扭曲,边缘破碎。根本原因有两个:1) 新版的Linux默认不再安装老旧的X位图字体;2) 在新版的 Xorg 中,即便系统中安装了位图字体,但是X仍然固执地使用矢量字体去代替,把事情搞得一塌糊涂。

临时的解决方法:
- 安装缺失的字体:
sudo apt install xfonts-base xfonts-75dpi xfonts-100dpi
- 通过脚本启动
genera,在启动前临时设置字体搜索路径,强制X从指定的目录寻找字体:
# 备份当前字体路径
OLD_FP=$(xset q | grep -A1 "Font Path:" | tail -1 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
# 设置仅使用位图字体路径
xset fp= /usr/share/fonts/X11/misc,/usr/share/fonts/X11/75dpi,/usr/share/fonts/X11/100dpi
xset fp rehash
# 启动Genera
cd GENERA_DIR
./genera
# 运行结束后再把字体搜索路径改回去以免影响到其它应用的运行
xset fp= $OLD_FP
xset fp rehash
效果

字体不再破粹扭曲了,但其实这还不是Genera的字体,而是用别的位图字体来代替渲染出来的。虽然清晰,但字形较小,比较费眼睛。
事实上Genera已经自带了字体,就在 /var/lib/symbolics/sys.sct/x11/fonts/bdf/genera目录底下,把该目录复制到 /usr/local/share/fonts底下,需要注意的是,字体文件名是以 .~3~或.~4~结尾,可能需要重命名把这些扩展名去掉,也可能不需要,反正我把它们都去掉了。
sudo mkfontdir /usr/local/share/fonts/genera/
接下来在 /etc/X11/xorg.conf.d/目录下创建一个配置文件10-genera-fonts.conf,让X去该目录底下找字体:
Section "Files"
FontPath "/usr/local/share/fonts/genera"
EndSection
执行命令xset fp rehash。注销重新登陆,重新启动Genera,字体应该恢复如初了:

评论