Bug 756664

Summary: X apps do not require all deps for remote X sessions
Product: [openSUSE] openSUSE 12.1 Reporter: Jonathan Jacobson <jonjac>
Component: X.OrgAssignee: E-mail List <xorg-maintainer-bugs>
Status: RESOLVED INVALID QA Contact: E-mail List <xorg-maintainer-bugs>
Severity: Normal    
Priority: P3 - Medium CC: msrb, wolfgang
Version: Final   
Target Milestone: ---   
Hardware: x86   
OS: openSUSE 12.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Jonathan Jacobson 2012-04-11 19:53:14 UTC
User-Agent:       Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

I tried running firefox from within putty, with Xming as my Windows X Server.

Turns out that "zypper install firefox" did not install all needed packages.

When you use firefox with a remote X11 server, it doesn't have all needed packages to run.

The problem was solved after installing:
* xorg-x11-xauth
* dbus-1-x11
* xorg-x11-fonts

Reproducible: Always

Steps to Reproduce:
1. Create a headless 12.1 machine
2. zypper install firefox
3. Try running firefox through a remote X11 server
Actual Results:  
1. firefox hangs
2. I install xorg-x11-xauth
3. "failed to choose a font, expect ugly output" - and the output is indeed ugly
4. I install xorg-x11-fonts
5. firefox now works but there are many warnings saying "GConf Error: No D-BUS daemon running"
6. After installing dbus-1-x11, all warnings and errors go away

Expected Results:  
Should have opened firefox properly after explicitly installing it

This bug is not in firefox itself but instead in the list of the packages that it depends on
Comment 1 Wolfgang Rosenauer 2012-04-12 06:57:54 UTC
There is no rule that every X application needs to carry dependencies to make remote X terminals working (AFAIK).
It wouldn't even make sense to implement that rule in every X application as packages lower down the chain should provide them.
xorg-x11-xauth is completely out of scope for example to be required from Firefox as it's a basic X functionality needed for everything when SSH X forwarding is being used. IMHO it makes no sense to pull that in automatically as people using remote X should know that it's needed (or we would need a pattern for "minimal X for remote sessions").
I do not confirm the bug as it stands for Firefox and move it to an X component for evaluation. I also change the subject to reflect the real issue a bit more but do specifically note that I do not think that this is a bug.
Comment 2 Stefan Dirsch 2012-04-12 10:16:51 UTC
Coolo, any comments on this one?
Comment 3 Michal Srb 2012-05-07 16:42:03 UTC
* xorg-x11-xauth
    You definitively don't need this for every X application. You need it only
    when you want to connect to X server that requires authorization.

* dbus-1-x11
    What you see is just warning from gconf. The result is only that changes of
    Gnome configuration won't affect the application live. (E.g. change of GTK
    style won't affect the firefox until restart.) Quite expected when you run
    without session.

* xorg-x11-fonts
    Without this, you will have smaller font palette. Fontconfig will take care
    of finding most similar font to the one the application requested.
    Most applications don't use any hard coded font but rather follow some style
    settings and fallback using fontconfig. In such case, there is no reason to
    add dependency to specific package with specific font.

I just installed OpenSuSE 12.1 with minimal amount of packages. Then installed firefox and it's dependencies. I don't have any of the 3 packages installed and I can use firefox:

> DISPLAY=dhcp71:0 firefox

(Where dhcp71 is machine with X server listening on network and not requiring authorization.)

Tl;dr: Those 3 packages will give you more features but are not really necessary.
Comment 4 Stefan Dirsch 2012-05-10 14:47:58 UTC
Thanks a lot for the analysis, Michal. Hence closing as INVALID.