[ubuntu-jp:6234] Re: Snapパッケージが参照するフォント

Mitsuya Shibata mty.shibata @ gmail.com
2020年 1月 2日 (木) 09:36:07 UTC


> Snapパッケージのアプリケーションでは、何を参照してデフォルトフォントに設定しているのでしょうか?

desktopインターフェースを使っているのであれば、理論上はローカルのデスクトップと同じです。
つまりシステム上の(snapの外の)/etc/fonts/fonts.confを参照し、
/usr/share/fontsや~/.local/share/fontsのフォントを利用します。
ローカルで優先されているフォントをsnapアプリ上でも優先して利用します。

> といったSnapパッケージのアプリケーションでの表示フォントがりいポップ角になってしまいました。

19.10上でcaprineをインストールしてみたらたしかに、りいポップ角が使われますね。
fc-matchだとsans/serif/monospaceいずれもNotoが最優先な環境ではあるのですが。
なんかfonts.confのパースに失敗している?

なんとなくsnapの中のlibfontconfigが古くて、以下の修正に追随できていないようにも見えます。

https://cgit.freedesktop.org/fontconfig/commit/?id=9a0fcb948fe7346f6c68028b2e54ab600a2a2a6f

ただし、fc-matchを見る限りたとえfonts.confがパースできなくても、
Notoのほうが優先されそうに見えるのですが……。

> ・デフォルトのディレクトリが~/snap/***/commonになる。
> たとえばMailspringの場合、"~/snap/mailspring/common/ダウンロード"がデフォルトのダウンロードフォルダになっているので、うかつに保存ボタンをおすとどこに保存したかわからなくなる。Skypeも同様

いいえ、少なくともMailspringについてはMailspring側が
$HOMEを$SNAP_USER_COMMONで上書きしているために、
上記のような状態になるようです。

ちなみにsnapdとしての設定は$HOMEを$SNAP_USER_DATAとなります。
ただし、これは「~/snap/SNAP_NAME/SNAP_VERSION」なので、
わかりにくいという点では$SNAP_USER_COMMONとは違いはありません。

まず最初に、$HOMEがオリジナルの$HOMEと異なるのは、
基本的には隔離することを重要視しているためです。
その代わりhome connectionを利用することで、アプリごとにオリジナルの
$HOMEへのアクセスを許可するかをコントロールできます。

Mailspringについてはhome connectionを自動的に接続するようになっているため、
アプリとしてはオリジナルの$HOMEにアクセスできる権限はもっています。

さらに、Mailspringはdesktop-launchを起動しているために
$XDG_DOWNLOAD_DIRが期待通りのpathになっているはずです。
つまりアプリ側がダウンロードディレクトリをハードコードするのではなく、
$XDG_DOWNLOAD_DIRを参照するようにすれば、
オリジナルの$HOME/ダウンロードへの保存が可能になります。

# たとえばchromium snapはこの方式だったはずです。

2020年1月2日(木) 13:19 Toshiaki Koike <t-k @ xf.pinoko.jp>:
>
> 小池です。
> りいポップ角(http://aoirii.babyblue.jp/font/riipopkk/index.html)というOpenTypeフィントをインストールしたら、
> ・Gnome System Monitor
> ・Mailspring
> ・Caprine
> といったSnapパッケージのアプリケーションでの表示フォントがりいポップ角になってしまいました。
> 影響を受けるにはSnapパッケージだけで、Gnome System MonitorもSnap版をアンインストールしてubuntu-bionic-updates-mainのものをインストールしたらこの現象は起こりません。
> SnapパッケージでもIntelliJ IDEAやSkypeでは影響なしでした。
> フォントを削除すれば(~/.local/share/fontsにあります)戻ります。
> Snapパッケージのアプリケーションでは、何を参照してデフォルトフォントに設定しているのでしょうか?
>
> なお、根本的な問題としてSnapパッケージには以下のような問題がありそうなのですが、これはそういう使用として決定なのでしょうか? フィードバックする場所があれば教えてください。
>
> ・デフォルトのディレクトリが~/snap/***/commonになる。
> たとえばMailspringの場合、"~/snap/mailspring/common/ダウンロード"がデフォルトのダウンロードフォルダになっているので、うかつに保存ボタンをおすとどこに保存したかわからなくなる。Skypeも同様

-- 
Mitsuya Shibata
mty.shibata @ gmail.com


ubuntu-jp メーリングリストの案内