FREETYPE_PROPERTIES environment variable is not respected

Bug #1772557 reported by 丁卓成 on 2018-05-22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
gnome-terminal (Ubuntu)

Bug Description

As stated by the Freetype documentation, I should be able to use `FREETYPE_PROPERTIES` to control some options such as whether TrueType fonts are hinted using Hinting Engine v35 or v40, or whether stem darkening for CFF(i.e. OpenType PostScript Flavor) fonts are enabled. I think this should work in everything that uses FreeType, but apparently it doesn't work in Gnome-Terminal. It does work in xterm, and even xfce4-terminal, which also uses libVTE to provide terminal emulation.

Actual Results:
`FREETYPE_PROPERTIES` doesn't take effect.

Expected Results:
Should work as in xterm or xfce4-terminal.

Additional Information:
I'm on Ubuntu 18.04, with gnome-terminal 3.28.1. The correctly working xfce4-terminal's version is

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-terminal (Ubuntu):
status: New → Confirmed
Egmont Koblinger (egmont-gmail) wrote :

Confirmed. This is related to how gnome-terminal starts up, via dbus / systemd --user. Even if you type "gnome-terminal" in let's say an xterm, it just notifies systemd to fire up the server. During this step, environment variables get lost.

As a workaround, you could manually start up the server, followed by the client (with a tiny pause in between, if doing from a script), as described at (without the gdb part).

Here's my wrapper script I often use while debugging:

    /usr/lib/gnome-terminal/gnome-terminal-server --app-id a.b$$ &
    sleep 0.2
    /usr/bin/gnome-terminal --app-id a.b$$ "$@"

Plenty of other env variables that somehow affect the behavior (e.g. GTK_THEME) aren't forwarded either. So it's probably not feasible to start whitelisting and somehow proxying them to the server one by one.

I guess other apps that use dbus/systemd to start up are also affected. xfce4-terminal follows a more standard pattern.

I'm not sure what the right solution would be, it looks to me that this overall design has this limitation, or at least I'm not aware of the proper approach (maybe configure systemd??). Alas I'm not aware with the rationale and details of this design.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers