Fonte na conexão X remota

1

Eu tenho uma caixa Gentoo sem cabeça e gostaria de executar o aplicativo X, mas encaminhe a tela para um servidor Cygwin Xorg em execução no meu PC com Windows.

Funciona, mas não tenho certeza, neste caso, se eu especificar algumas fontes para usar no aplicativo X, qual fonte será realmente usada? aquele na caixa do Gentoo (onde o aplicativo X está sendo executado)? ou aquele instalado no meu Cygwin (onde o aplicativo X está sendo exibido)?

Por exemplo, eu quero usar fonte DejaVu Sans Monono urxvt, meus ~ / .Xresources na caixa do Gentoo se parecem com isso:

URxvt*font: xft:DejaVu Sans Mono:size=12

Na caixa do Gentoo, tenho a fonte instalada e ativada. A seguir, é apresentada a saída deeselect fontconfig list

  [1]   10-autohint.conf
  [2]   10-no-sub-pixel.conf
  [3]   10-scale-bitmap-fonts.conf *
  [4]   10-sub-pixel-bgr.conf
  [5]   10-sub-pixel-rgb.conf
  [6]   10-sub-pixel-vbgr.conf
  [7]   10-sub-pixel-vrgb.conf
  [8]   10-unhinted.conf
  [9]   11-lcdfilter-default.conf
  [10]  11-lcdfilter-legacy.conf
  [11]  11-lcdfilter-light.conf
  [12]  20-unhint-small-dejavu-sans.conf
  [13]  20-unhint-small-dejavu-sans-mono.conf
  [14]  20-unhint-small-dejavu-serif.conf
  [15]  20-unhint-small-vera.conf *
  [16]  25-unhint-nonlatin.conf
  [17]  30-metric-aliases.conf *
  [18]  30-urw-aliases.conf *
  [19]  40-nonlatin.conf *
  [20]  45-latin.conf *
  [21]  49-sansserif.conf *
  [22]  50-user.conf *
  [23]  51-local.conf *
  [24]  57-dejavu-sans.conf
  [25]  57-dejavu-sans-mono.conf *

Em seguida, execute o xrdb na caixa do Gentoo para ativar o recurso (isso me faz acreditar que a fonte na caixa do Gentoo será usada):

xrdb ~/.Xresources

Quando inicio o urxvt, ele reclama:

urxvt: não foi possível carregar o conjunto de fontes base, especifique um válido usando -fn, aborting.

ATUALIZAÇÃO Como o grawity apontou, verifica-se que meu urxvt foi construído sem o suporte ao xft. É resolvido depois que eu anexo xftao sistema USE. Muito obrigado!

murphytalk
fonte
Como a eselectsaída deve ser interpretada por alguém que não usou o portage ou o Gentoo? O que significam os asteriscos?
grawity

Respostas:

3

Funciona, mas não tenho certeza, neste caso, se eu especificar algumas fontes para usar no aplicativo X, qual fonte será realmente usada? aquele na caixa do Gentoo (onde o aplicativo X está sendo executado)? ou aquele instalado no meu Cygwin (onde o aplicativo X está sendo exibido)?

Ambos.

Embora não tenha certeza sobre as regras exatas em que fontes são usadas, o básico é:

  • Se o programa usa XLFDs para selecionar fontes, geralmente ele permite que o servidor X11 (por exemplo, Xorg, Xwin.exe ou outro) os desenhe. Eles precisam ser instalados no servidor; você pode usar xset qpara consultar o "caminho da fonte" atual do servidor.

  • No entanto, programas modernos renderizam fontes no lado do cliente usando o FreeType + {Xft, cairo, Qt} [+ {Pango, HarfBuzz}]. Nesse caso, as fontes precisam ser instaladas no cliente e o Fontconfig é usado para encontrá-las.

No seu caso, usar o xft:urxvt significa que as fontes do lado do cliente (Gentoo) serão usadas. (O Xwin do Cygwin é o servidor, o urxvt no Gentoo é o cliente, de acordo com a terminologia usual do X.)

No entanto, normalmente o urxvt não exibe nenhum erro quando uma xft:fonte desconhecida é fornecida. Então, acho que seu urxvt é realmente construído sem o suporte ao Xft . Execute ldd /usr/bin/urxvte verifique se está vinculado a libfreetypee libXft.

gravidade
fonte