ubuntuusers.de

Shell Script: Prüfen ob Gnome oder KDE aktiv

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Newur

Avatar von Newur

Anmeldungsdatum:
3. September 2006

Beiträge: 500

Hallo,

ich will mit einem Shell Script pruefen ob der Benutzer Gnome (Ubuntu) oder KDE (Kubuntu) nutzt. Allerdings habe ich keine eindeutige Moeglichkeit gefunden, wie man das bestimmt. Ich koennte pruefen ob gdm oder kdm laeuft, aber das ist ja nicht eindeutig. Gibt es da irgend eine Datei oder Ordnerstruktur die eine zweifelsfrei Erkennung ermoeglicht?

mfg
newur

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

Wieso möchtest Du das denn überhaupt wissen? Es gibt außerdem noch andere Desktops als Gnome oder KDE.

carboe

Anmeldungsdatum:
14. September 2005

Beiträge: Zähle...

/etc/X11/default-display-manager vielleicht?

Newur

(Themenstarter)
Avatar von Newur

Anmeldungsdatum:
3. September 2006

Beiträge: 500

carboe hat geschrieben:

/etc/X11/default-display-manager vielleicht?

Da wird wieder "nur" auf gdm verwiesen.

Wissen will ich das, weil das Script keine unnoetigen KDE libs einem Gnome User installieren soll und umgekehrt. Andere Desktopumgebungen werden zunaechst nicht unterstuetzt.

mfg
newur

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

Darf ich fragen, was das Script letzten Endes tun soll?

Newur

(Themenstarter)
Avatar von Newur

Anmeldungsdatum:
3. September 2006

Beiträge: 500

Hello World hat geschrieben:

Darf ich fragen, was das Script letzten Endes tun soll?

Sicher. Es soll dafuer sorgen, dass der Benutzer anschliessend jedesmal eine grafische Rueckmeldung erhaelt, wenn er einen ed2k Link anklickt. Gnome User ueber gdialog (heisst jetzt "zenity") und wer KDE bevorzugt mittels kdialog.

mfg
newur

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

Du kannst doch einfach mit

[ -f "$(which zenity)" ]

bzw.

[ -f "$(which kdialog)" ]

prüfen, welches der Programme vorhanden ist. Scripte sollten sich IMO nicht in die Paketverwaltung einmischen.

networkgamer

Avatar von networkgamer

Anmeldungsdatum:
25. September 2005

Beiträge: 971

vllt noch ne idee von einem der eh nicht viel von sktipren versteht \^^

wenn kde erstmalig gestartet wird wird im homeverzeichnis der ordner .kde angelegt bei gnome ist es .gnome2 oder so irgendwie... vllt kannste dich ja daran halten. Was ist nur wenn beide einmal gestartet wurden ?! hmm ka überlass ich dir \^^

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

Es gibt übrigens auch noch xmessage.

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4694

Wohnort: Berlin

Und vielleicht sollte man den Nutzer einfach fragen was er denn gerne verwenden möchte.

Newur

(Themenstarter)
Avatar von Newur

Anmeldungsdatum:
3. September 2006

Beiträge: 500

@Hello World
Ja, das waere letztlich eine Moeglichkeit. Beide Pakete sind in der default Installation jeweils dabei, oder? (Wo kann man das nachschauen? Ohne jedesmal die vm anzuwerfen....)

@Networkgamer
Der Ordner .kde wird bei Gnome Nutzern auch angelegt, sobal man sich ein KDE Prog zieht. Umgekehrt weiss ich es nicht. Das waere mir zu unsicher.

@MArc 'BlackJack' Rintsch
Moeglich ist es das. Aber das Script soll mit einem Minimum an Interaktion auskommen. Es ist ja keine Entscheidung die der User in diesem Moment treffen kann, er hat ja eine Desktopumgebung zu dem Zeitpunkt (Leute ohne werden das Script nicht einsetzen, keine Angst.) Wenn es eine Moeglichkeit gibt, dass eindeutig zu bestimmen (deshalb der Thread) ist die Frage unnoetig.
Zweitens sehe ich an Menschen wie meiner Mutter oder meinem Vater, dass sie diese Frage nicht beantworten koennten. Windowsumsteigern ist die ganze Problemmatik voellig fremd und auch nicht mit einem Satz zu vermitteln.

Programme wie HardInfo (wurde in der letzten Yalm Ausgabe vorgestellt) koennen die verwendete Gnome Version exakt angeben. Leider reichen meine C Kenntnisse nicht aus, um aus dem Quellcode den benoetigten Abschnied rauszusuchen.

Bis jetzt favorisiere ich Hello Worlds Vorschlag. Aber gluecklich bin ich damit auch nicht.

mfg
newur

Der_Gestreifte

Avatar von Der_Gestreifte

Anmeldungsdatum:
21. Juni 2007

Beiträge: 1261

Wohnort: Nürnberg

Ja, das waere letztlich eine Moeglichkeit. Beide Pakete sind in der default Installation jeweils dabei, oder? (Wo kann man das nachschauen?

xmessage ist einer der "x-base-clients" (oder wie das Paket auch immer heißt) und dürfte so ziemlich auf jedem System mit X vorhanden sein.

snafu1

Avatar von snafu1

Anmeldungsdatum:
5. September 2007

Beiträge: 2133

Wohnort: Gelsenkirchen

Newur hat geschrieben:

Zweitens sehe ich an Menschen wie meiner Mutter oder meinem Vater, dass sie diese Frage nicht beantworten koennten. Windowsumsteigern ist die ganze Problemmatik voellig fremd und auch nicht mit einem Satz zu vermitteln.

Und alle anderen haben u. U. drunter zu leiden. Dann mach doch ne Abfrage mit dem Hinweis "Wenn Sie nicht wissen was Sie tun, drücken sie y" oder so ähnlich.

czieby

Anmeldungsdatum:
13. Februar 2006

Beiträge: 121

Wohnort: Hamburg

Hallo,

Hast Du schon 'mal probiert, die Environment-Variable "DESKTOP_SESSION" auszuwerten?

Wenn ich hier mit Gnome unterwegs bin, gibt mir ein

env | grep nome

folgendes zurück:
GTK_RC_FILES=/etc/gtk/gtkrc:/home/<username>/.gtkrc-1.2-gnome2
DESKTOP_SESSION=gnome
GDMSESSION=gnome
COLORTERM=gnome-terminal

<username> ist natürlich durch meinen usernaem (z.B. czieby) ersetzt... 😉

Das müsstest Du doch irgendwie verwenden können, oder?

Holger63

Avatar von Holger63

Anmeldungsdatum:
8. Juni 2006

Beiträge: 695

Wohnort: Wesel, Nordrhein-Westfalen

Hallo newur

du könntest versuchen über dcop eine Verbindung zum KDE-Desktop herzustellen:

dcop kdesktop 1>/dev/null 2>&1
if [ $? == 0 ]; then
   echo "KDE"
else
   echo "Gnome"
fi

Gruß, Holger

Antworten |