[1667] in athena10

home help back first fref pref prev next nref lref last post

Re: [Debathena] #153: Do something clever with ~/.xsession-errors

daemon@ATHENA.MIT.EDU (Debathena Trac)
Sat Mar 14 11:03:47 2009

MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
From: "Debathena Trac" <debathena@MIT.EDU>
Cc: debathena@mit.edu
To: jdreed@mit.edu, ghudson@mit.edu
Date: Sat, 14 Mar 2009 15:03:24 -0000
Reply-To: 
Message-ID: <052.5a58afee350403dffbf7b369a1e4b1a6@mit.edu>
In-Reply-To: <043.144f1dc4a198a718d3a496f91dd6b2ee@mit.edu>
Content-Transfer-Encoding: 8bit

#153: Do something clever with ~/.xsession-errors so that the dialog box is
useful-------------------+--------------------------------------------------------
Reporter:  jdreed  |        Owner:     
    Type:  defect  |       Status:  new
Priority:  minor   |   Resolution:     
Keywords:          |  
-------------------+--------------------------------------------------------
Comment(by ghudson):
 Here's a walkthrough of the current gdm implementation (you can follow
 along with "apt-get source gdm"):

   * GDM separates its work into the daemon process which runs as root, the
 greeter process which runs as user gdm, and the slave login process which
 starts out running as root and then switches to the user being logged in.
 The GUI code is a separate program (gdmgreeter) while the slave login code
 is part of gdm itself.  Only the slave code ever gets access to the user
 home directory.

   * The slave redirects output to $HOME/.xsession-errors; this is
 hardcoded.  (The line you found in /etc/X11/Xsession does not apply to the
 gdm world; see the comments in /etc/gdm/Xsession, which is the operable
 script.)  If the session fails, the slave sends a little RPC-like request
 to the daemon asking it to show the .xsession-errors file; the filename is
 again hardcoded with no configuration.  This is all in daemon/slave.c;
 search for "xsession-errors".

   * Back in daemon/gdm.c (search for GDM_SOP_SHOW_ERROR_DIALOG), the
 daemon receives the message and filename from the slave.  It then displays
 an error dialog directly to the display--although the greeter process
 normally handles GUI interactions, it is not involved here.  This is
 convenient for gdm because the greeter process wouldn't have permissions
 to read user homedirs anyway.

 So, unfortunately, there is no probably configuration change to alleviate
 the problem.  I can see two avenues for a code fix which might make it
 upstream:

 (1) Make the xsession-errors filename configurable.

 (2) Pass the contents of xsession-errors from the slave to the daemon, and
 not just the filename.  It's just going to get read into memory by the
 daemon process anyway.
-- Ticket URL: <http://debathena.mit.edu/trac/ticket/153#comment:1>Debathena <http://debathena.mit.edu/>MIT Debian-Athena Project

home help back first fref pref prev next nref lref last post