Как определить, какой шрифт нужен приложению X

Я пытаюсь запустить приложение через X-сервер и получаю следующее сообщение:

X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  45 (X_OpenFont)
  Serial number of failed request:  6
  Current serial number in output stream:  9

насколько я понимаю из всего, что я прочитал, это означает, что на компьютере, на котором я пытаюсь отобразить, отсутствует шрифт. Проблема в том, что я не знаю, какого шрифта не хватает. Приведенное выше сообщение является единственным отображаемым сообщением.

Как определить, какой шрифт отсутствует?

дальнейшие действия:

Я изменил переменную DISPLAY на localhost:... и смотрел пакеты с помощью Wireshark. Похоже, что имя запрашиваемого шрифта -"*". Есть ли проблемы с этим запросом? Мне кажется, что это просто загрузить любой шрифт. Есть ли проблемы с настройкой шрифта?

больше следить за:

Я подтвердил на рабочем компьютере, что он также запрашивает шрифт"*". Я знаю это, потому что я улавливаю вызовы XLoadFont с gdb, и параметр name появляется как "*".

что должно произойти в этом случае? Должно ли оно вернуться буквально любой шрифт?

13
задан CrazyCasta
20.05.2023 11:37 Количество просмотров материала 3452
Распечатать страницу

1 ответ

по данным XLoadFont документация, запрос с '*' должно возвращать любые совпадения Font.

ltrace сбрасывает вызовы библиотек в stderr. Если сравнивать ltrace вывод для правильного и неудачного выполнения, вы должны угадать, какой шрифт был использован в рабочей системе.

вариант также сравнить выход xlsfonts и fc-list команды. В случае сомнений, вызываем fc-cache -fv может помочь, если кэш был коррумпированный.

1
отвечен Yves Martin 2023-05-21 19:25

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх