Como configurar fontes em uma conexão X remota (XDMCP vs. ssh)?

4

Conectando-se a um sistema Solaris 10 remoto através do X11, observo um comportamento inconsistente em relação às fontes usadas. Estou me conectando de um sistema Cygwin / X .

Quando me conecto usando o encaminhamento ssh assim

$ ssh -Y mymachine.example.org
As fontes

funcionam como esperado, ou seja, a renderização é muito boa e os programas parecem encontrar todos os tipos de fontes diferentes (por exemplo, gvim ou emacs).

Quando me conecto à mesma máquina via XDMCP (para a tela do gerenciador de login do Solaris 10 em azul de estoque) e faço login, parece haver apenas uma fonte de tamanho fixo disponível. Um Emacs do OpenCSW até falha em executar porque não consegue encontrar as fontes necessárias.

Imprime que não é possível encontrar uma fonte usando a seguinte especificação:

-dt-interface user-medium-r-normal-m

Eu estabeleço a conexão XDMCP assim:

$ XWin -query mymachine.example.org -from mywindowsclient.example.org

Meu objetivo é não obter também fontes apropriadas para o caso de uso do XDMCP.

Como posso investigar este problema? Posso duplicar alguma configuração que é implicitamente usada com ssh -Y para o caso XDMCP?

Como a coisa da fonte geralmente é configurada durante o encaminhamento do ssh-X11?

    
por maxschlepzig 04.01.2014 / 10:10

2 respostas

1

Acredito que o XDMCP esteja usando as fontes locais para o sistema Solaris. Quando você usa o SSH, você está usando fontes que são locais, já que nesse cenário você é o servidor X e a caixa Solaris é o cliente X. Você pode usar o comando xlsfonts para ver quais fontes estão acessíveis para você em um determinado sistema.

EDIT # 1 - caminho da fonte

Você pode descobrir o caminho da fonte do seu sistema usando o comando xset .

Exemplo

$ xset q | sed -n '/Font/,/DPM/p'
Font Path:
  catalogue:/etc/X11/fontpath.d,built-ins
DPMS (Energy Star):

Esse caminho pode incluir caminhos para diretórios locais, bem como "caminhos" para outros servidores de fontes. Estes aparecerão como tipos de entradas port @ host.

Exemplo

$ xset +fp tcp/<IP or name of font server>:7100

Referências

por 04.01.2014 / 14:56
1

A primeira coisa é comparar caminhos de fontes via xset q , por exemplo:

$ xset q
Font Path:
  /usr/share/fonts/misc/,/usr/share/fonts/100dpi/,/usr/share/fonts/75dpi/,built-ins

(uma URL do servidor de fonte X (XFS) também pode fazer parte de um caminho de fonte)

Se necessário, você pode adicionar caminhos de fontes via xset +fp path . Depois de manipular os caminhos das fontes, você deve chamar xset rehash .

A próxima coisa é comparar a saída de xlsfonts .

Se ele gerar muitas fontes, mas seus programas X ainda reclamarem de fontes ausentes ou simplesmente usarem uma fonte padrão feia para tudo: isso pode ser causado por fontes relacionadas X-resources apontando para fontes indisponíveis.

Um teste simples é iniciar o emacs - que pode reclamar por não encontrar um encontrado como:

-dt-interface user-medium-r-normal-m*-*-*-*-*-*-*-*-*

Você pode verificar se esses recursos X são definidos por meio de algo como:

$ xrdb -query | grep -- -dt
$ xrdb -query | grep -i font

Se esse for o caso, você terá uma saída como:

*Font:  -dt-interface user-medium-r-normal-m*-*-*-*-*-*-*-*-*
*userFont:      -dt-interface user-medium-r-normal-m*-*-*-*-*-*-*-*-*:

Você pode remover essas entradas usando xrdb -remove - de forma que as configurações de fonte padrão sejam usadas.

Como alternativa, você pode carregar suas próprias configurações de recursos X relacionadas a fontes.

Antecedentes

Os recursos do X geralmente são definidos por meio de arquivos de configuração, como:

/$SYS_PATH/Xresources
/$SYS_PATH/xinitrc
/$SYS_PATH/Xdefaults
$HOME/.xinitrc
$HOME/.Xresources
...

Ou alguma variação disso - por ex. um minúsculo x.

Esses arquivos podem ser executados durante o login através de um gerenciador de exibição X (XDM). Ao usar o XDMCP, o XDM é executado no sistema remoto e, portanto, executa esses arquivos remotamente.

Mas eles não são executados ao usar o encaminhamento do X via ssh .

O nome da fonte obscura ( -dt-interface ) vem do CDE - que parece ser o ambiente de área de trabalho padrão no Solaris em algum momento - e eles não estão incluídos no servidor Cygwin X.

    
por 06.01.2014 / 20:23