Unable to access system fonts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snappy |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
The current snap runtime environment does not allow access to system fonts. When an application is running within snap, it will get blocked or crash if it tries to access system fonts.
This behavior happens by default, and there is no interface available to request this access, like there is for network and other system resources.
We believe that applications need to have access to operating system services and resources, and we believe that fonts is one of these universal resources that applications should be able to get to.
In our case, we have a full featured PDF viewer and editor that we would like to package with snap. As part of rendering and editing PDF documents, the application has to have access to system fonts.
This issue is not exclusive to PDF documents, but also applies to any word processing or document processing application, both for the server and desktop. All this class of applications need access to system fonts.
We propose that access be granted to system fonts, either by default to all applications, or as a new interface to be requested when building the snap.
tags: | added: snaps-interface |
Changed in snappy: | |
status: | New → Fix Released |
I was thinking about extending the content interface in the following way.
On classic, we could add a system-fonts plug (using the content interface) using a new attribute "classic": true, to convey the fact that it is a classic path that is being shared. It could then indicate that /usr/share/fonts is readable.
We could also extend the logic that decides if something is connectible to grant connections to such content exposed by the os snap (only on classic).
With this, all system fonts would be available easily. Snap-confine was patches a few releases ago, in anticipation of this feature, to allow the required bind mount so the change would be entirely inside snapd.