avalonia在linux下运行出现Default font family name can't be null or empty的错误,是因为Avalonia 无法确定或找不到默认的字体名,可以先在控制台打命令确定本机安装字体

fc-list

然后在avalonia项目的program.cs中增加此代码:

复制代码
        public static AppBuilder BuildAvaloniaApp()
        {
            FontManagerOptions options = new FontManagerOptions()
            {
                DefaultFamilyName = "Microsoft YaHei"
            };

            return AppBuilder.Configure<App>()
                .UsePlatformDetect()
                .LogToTrace()
                .With(options);
        }
复制代码

运行即可解决问题。

在Linux系统中,安装字体可以使用以下命令:

1. 安装字体文件:将字体文件(通常是带有.ttf或.otf扩展名的文件)复制到系统的字体目录中。字体目录通常位于/usr/share/fonts目录下,可以使用以下命令将字体文件复制到该目录:

“`shell
sudo cp 字体文件路径 /usr/share/fonts/
“`

其中,将`字体文件路径`替换为要安装的字体文件的路径。

2. 更新字体缓存:安装新的字体后,需要更新字体缓存,以使系统能够识别和使用新安装的字体。可以使用以下命令更新字体缓存:

“`shell
sudo fc-cache -f -v
“`

3. 安装完毕:安装完成后,您可以在应用程序中选择和使用新安装的字体了。

请注意,安装字体需要管理员权限(即使用sudo命令)。另外,如果您之前在系统中安装了相同的字体文件,需要先将其删除,然后再安装新的字体文件。