web-dev-qa-db-ja.com

リモートX接続でフォントを構成する方法(XDMCPとssh)

X11を介してリモートのSolaris 10システムに接続すると、使用されているフォントに関して一貫性のない動作が見られます。 Cygwin/X システムから接続しています。

このようにSSH転送を使用して接続すると

$ ssh -Y mymachine.example.org

フォントは期待通りに機能します。つまり、レンダリングは非常に良く、プログラムはあらゆる種類の異なるフォント(gvimやemacsなど)を見つけるようです。

XDMCPを介して同じマシンに接続し(ストックの青いSolaris 10ログインマネージャ画面に)、ログインすると、使用可能な固定サイズのフォントが1つしかないようです。 OpenCSWのEmacsは、必要なフォントを見つけることができないため、実行に失敗します。

次の仕様を使用してフォントが見つからないことを出力します。

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

次のようにXDMCP接続を確立します。

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

私の目的は、XDMCPの使用例に適したフォントも取得することです。

この問題を調査するにはどうすればよいですか? XDMCPの場合、ssh -Yで暗黙的に使用される構成を複製できますか?

Ssh-X11-forwarding中にfont-thingは通常どのように設定されますか?

4
maxschlepzig

XDMCPはSolarisシステムにローカルなフォントを使用していると思います。 SSHでは、ローカルのフォントを使用します。そのシナリオでは、Xサーバーであり、SolarisボックスがXクライアントだからです。コマンドxlsfontsを使用すると、特定のシステムでアクセス可能なフォントを確認できます。

編集#1-フォントパス

コマンドxsetを使用して、システムのフォントパスを確認できます。

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

このパスには、ローカルディレクトリへのパスと他のフォントサーバーへの「パス」を含めることができます。これらは、port @ Hostタイプのエントリとして表示されます。

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

参考文献

1
slm

まず、xset qを使用してフォントパスを比較します。例:

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

(Xフォントサーバー(XFS)のURLもフォントパスの一部である場合があります)

必要に応じて、xset +fp pathを使用してフォントパスを追加できます。フォントパスを操作した後、xset rehashを呼び出す必要があります。

次に、xlsfontsの出力を比較します。

それは多くのフォントを出力するが、Xプログラムがフォントの不足について不平を言うか、単にすべてに醜い標準フォントを使用する場合:これは、フォント関連 X-resources が使用できないフォントを指していることが原因である可能性があります。

簡単なテストはemacsを起動することです-これは次のような発見を見つけられないことについて不平を言うかもしれません:

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

このようなXリソースが設定されているかどうかは、次のような方法で確認できます。

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

その場合、次のような出力が得られます。

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

これらのエントリはxrdb -removeから削除できます-デフォルトのフォント設定が使用されます。

または、独自のフォント関連のXリソース設定をロードできます。

バックグラウンド

Xリソースは通常、次のような構成ファイルを介して設定されます。

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

またはそれのいくつかのバリエーション-例えば小文字のx。

これらのファイルは、Xディスプレイマネージャー(XDM)を介してログインしているときに実行される可能性があります。 XDMCPを使用すると、XDMはリモートシステムで実行されるため、これらのファイルがリモートで実行されます。

ただし、sshを介したX転送を使用している場合は実行されません。

あいまいなフォント名(-dt-interface)は、CDE(ある時点ではSolarisのデフォルトのデスクトップ環境であると思われる)に由来し、Cygwin Xサーバーには含まれていません。

1
maxschlepzig