Thanks for your explanation. Apparently it's not possible to detect it
in all cases, but it would be nice to detect it for regular users, so
people who have a default install.

Well, my program needs a text-editor and a graphical box for
root-password. So it checks for the desktop environment so it could set
these things to gedit and gksudo for Gnome and kate and kdesu for KDE.

Timo



Alan Gauld schreef:
> "Timo" <[EMAIL PROTECTED]> wrote
>
>> Hello all, in my program I need to know what desktop environment the
>> user is running.
>
> A few years ago I would have said that meant you had a broken
> design since it was very bad practice for any program to depend
> on the users environment. nfortunately recent developments in
> Linux/X mean that the whole concept is broken that one more
> environmentally wawre program probably is no big deal!
>
> But there are caveats that mean you will probably never get
> it right in every case. The best you cvan probably do is detect
> if the environment is one of a fixed set  known to work with
> your code.#
>
> But bear in mind that the user can switch envirojnemts while
> your code is running, or may even be runningmultiple
> environments simultaneously on virtual windows etc.
>
> Thats why the users environment should be left as as
> something for the user and the programming environment
> for the programmer.
>
>> I figured this piece of code works, but apparently not
>> on every Linux distro. On Ubuntu it did the trick, but then I heard of
>> someone who runs SLiM that he get's an error with this.
>>
>> if os.environ['DESKTOP_SESSION'].startswith('kde'):
>>    print "Running KDE"
>
> That would only find out if KDE was beiong used and only
> if the user (or cofig scripts) has not modified the variable.
>
>> So, does anyone know a water-proof solution for desktop environment
>> checking?
>
> I don't think such a thing can exist on a Unix/X system. An
> approximation will be the best you can get.
>
> Can you explain why you need to know?
> In most situations there should be a generic way to do it.
>
>
> Alan G.
>
> _______________________________________________
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to