Como determinar qual fonte um aplicativo X precisa

1

Estou tentando executar um aplicativo em um servidor X e recebo a seguinte mensagem:

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

Tanto quanto eu entendo de tudo que eu li isso significa que o computador que estou tentando exibir está faltando uma fonte. O problema é que não sei qual fonte está faltando. A mensagem acima é a única mensagem sendo exibida.

Como faço para determinar qual fonte está faltando?

Acompanhamento:

Eu mudei a variável DISPLAY para localhost: ... e observei os pacotes passarem com o wireshark. Parece que o nome da fonte solicitada é "*". Existe algum problema com este pedido? Parece-me que isso apenas carregaria qualquer fonte. Existe algum problema com a configuração da minha fonte?

Mais acompanhamento:

Eu confirmei na máquina de trabalho que ela também está solicitando a fonte "*". Eu sei disso porque estou trapping as chamadas para XLoadFont com gdb e o parâmetro de nome está chegando como "*".

O que é que deve acontecer neste caso? Deveria retornar literalmente qualquer fonte?

    
por CrazyCasta 29.08.2014 / 08:01

1 resposta

1

De acordo com a documentação XLoadFont , uma consulta com '*' deve retornar qualquer correspondência Font .

ltrace envia as chamadas para as bibliotecas em stderr . Se você comparar as saídas ltrace para uma execução correta e com falha, deverá adivinhar qual fonte foi usada no sistema de trabalho.

Uma opção também é comparar a saída dos comandos xlsfonts e fc-list . Em caso de dúvida, invocar fc-cache -fv pode ajudar se o cache estiver corrompido.

    
por 31.08.2014 / 16:31

Tags