[X2go-dev] .xinitrc and .xsession

John A. Sullivan III jsullivan at opensourcedevel.com
Thu Dec 30 18:21:34 CET 2010


On Thu, 2010-12-30 at 17:48 +0100, Milan Knížek wrote:
> Florian Effenberger píše v Čt 30. 12. 2010 v 12:52 +0100:
> > I tried to enter startlxde as command, but .xsession was ignored as
> > well. Then I created ~/.x2go-lxde with
> > 
> > #!/bin/bash
> > LANG=de_DE.UTF-8
> > startlxde
> > 
> 
> I have been struggling with setting the language and path variables,
> too, and finished with a script sourcing /etc/profile (which was ignored
> in x2go session otherwise). Arch linux.
> 
> Milan
I've not been following this thread closely but the reference to the
failure to read /etc/profile caught my eye because we struggled with
that.  I'll share our internal notes in case it helps with the problems
you are facing.  It is not an X2Go problem but rather a Desktop
Environment problem, e.g., KDE, perhaps Gnome, and I don't know about
others - they do not read /etc/profile although they do seem to read the
user bash configuration scripts (assuming you are using bash and not
dash).  These internal notes also include some notes about PAM and LDAP;
I'll leave them in because they are embedded in the comments and may be
useful to someone else.  
Here are our internal notes:

Now we need to fix some pam files.  It is critical that the ldap modules
are processed first even though that is non-standard.  In the X2Go
environment, many ssh sessions are fired off in quick succession.  Since
the pam_unix authentications fail for the LDAP users (as they are not
defined locally), all the failed authentications trip the OSSEC
auto-response and block the user from access to the host.  Thus, LDAP
credentials MUST be processed first.
We also need a cross platform (e.g., KDE, Gnome) means of establishing
environment variables.  This can be done within pam by using the env
module.  By default, it will look to /etc/environment.  We will add
additional paths which will provide for more centralized management.
cd /etc/pam.d
edit /etc/pam.d/common-account to read:
account     sufficient    pam_ldap.so
account     required      pam_unix.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so

edit /etc/pam.d/common-session so  it reads:
session     required      pam_limits.so
session     optional      pam_ldap.so
session     required      pam_unix.so
session    optional     pam_umask.so     umask=007
This last umask line is necessary because KDE does not read
the /etc/profile file to set its umask.  pam_umask is the lowest
priority for umask.  If any other file has a umask setting, it will
override it, e.g., our setting of 022 for root.  We could also do this
by setting the value in one of the /etc/environment files

edit /etc/pam.d/common-password so it reads:
password   sufficient   pam_ldap.so
password   required   pam_unix.so nullok obscure md5
#password    required      pam_deny.so

edit /etc/pam.d/common-auth so it reads:
auth    sufficient      pam_ldap.so
auth    sufficient      pam_unix.so nullok_secure use_first_pass
auth    requisite       pam_succeed_if.so uid >= 1000 quiet
auth    required        pam_deny.so
edit /etc/pam.d/login by adding after the line which reads:
session       required   pam_env.so readenv=1
envfile=/etc/default/locale
the following two lines:
# variables for SimplicITy
session       required   pam_env.so readenv=1
envfile=/data/.Common/etc/environment
session       required   pam_env.so readenv=1
envfile=/data/.CommonClient/etc/environment
Do the same for /etc/pam.d/sshd




More information about the x2go-dev mailing list