Schlagwort-Archive: Desktop

CentOS 6.3: XFCE als Default-Desktop

Für CentOS 6.3 gibt es kein switchdesk mehr und auch in /etc/X11/xinit/Xclients findet der XFCE keine Berücksichtigung mehr. Aber das kann man nachträglich wieder hinzufügen:

# diff -C 3 /root/save/Xclients /etc/X11/xinit/Xclients
*** /root/save/Xclients 2010-08-17 01:15:59.000000000 +0200
--- /etc/X11/xinit/Xclients     2012-11-07 16:14:14.506237529 +0100
***************
*** 10,15 ****
--- 10,16 ----

  GSESSION="$(which gnome-session 2>/dev/null)"
  STARTKDE="$(which startkde 2>/dev/null)"
+ STARTXFCE="$(which startxfce4 2>/dev/null)"

  # check to see if the user has a preferred desktop
  PREFERRED=
***************
*** 19,24 ****
--- 20,27 ----
        PREFERRED="$GSESSION"
      elif [ "$DESKTOP" = "KDE" ]; then
        PREFERRED="$STARTKDE"
+     elif [ "$DESKTOP" = "XFCE" ]; then
+       PREFERRED="$STARTXFCE"
      fi
  fi

Nun erstellt man noch die Datei /etc/sysconfig/desktop mit dem Inhalt:

DESKTOP=XFCE
DISPLAYMANAGER=XDM

Anschließend wird beim nächsten X-Login der XFCE-Desktop gestartet.

Meldungen auf dem Linux-Desktop ausgeben

Wenn man aus einem Script heraus eine Meldung auf dem Linux-Desktop ausgeben will, hat man dazu verschiedene Möglichkeiten. Einige stelle ich hier vor.

Ich gehe hier mal davon aus, das KDE eingesetzt wird, da ich mit Gnome keine Erfahrung habe. Die ein oder andere Lösung mag aber u.U. auch mit Gnome funktionieren.

Ausgabeumleitung in ein Fenster

Mit KDE kann man einfach ein

echo huhu > /dev/pts/0

machen. Der KWrited Daemon lauscht auf diesem Device und stellt den Text in einem Fenster dar. Das funktioniert auch, wenn das Script nicht unter dem Benutzer läuft, der das Display besitzt. Weitere Ausgaben, auch von anderen Scripten werden an die Ausgabe angehängt, es geht also immer nur ein Fenster auf. (Wie man den Inhalt löscht o.ä. habe ich noch nicht herausgefunden).

Es ist aber nicht immer /dev/pts/0, es kann auch /dev/pts/3 o.ä. sein. Auf welchem Device der Daemon lauscht kann mit

lsof | grep kded4 | grep '/dev/pts/'

ermittelt werden.

Xmessage

Mit Xmessage lassen sich einzelne Meldungen anzeigen, die erst nach dem Klick auf den OK-Button verschwinden. Man kann aber auch mit -timeout eine Zeit in Sekunden angeben, nach der die Meldung automatisch verschwinden soll. Mit -center wird die Nachricht in der Bildschirmmitte ausgegeben, die Größe lässt sich mit -geometry BreitexHöhe (z.B. -geometry 500×100) angeben. Auch die Buttons können beeinflusst werden (siehe man 1 xmessage)

KDialog

Die schönsten Meldungen und sogar richtige Dialoge mit Eingabefeldern lassen sich mit kdialog erstellen.

Eine einfache Meldung erscheint mit

kdialog --msgbox "Danke, Sie haben eine einfache Dialogbox sehr glücklich gemacht"

Um die Meldung auf allen Arbeitsflächen des Desktop erscheinen zu lassen muss man kstart zu Hilfe nehmen:

kstart --alldesktops --window Information \
kdialog --msgbox "Danke, Sie haben eine einfache Dialogbox sehr glücklich gemacht"

Leider gibt es anscheinend zu kstart außer dem was mit kstart --help angezeigt wird keine weitere Dokumentation. Zu kdialog gibt es immerhin ein deutschsprachiges Tutorial unter techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs_%28de%29.

Und sonst

Es gibt noch weitere Tool für die X-Ausgabe, hier sind einige kurz vorgestellt:

xmore
Zeigt den Inhalt einer Datei an. Kann anscheinden nichts mit STDIN anfangen.
gmessage
AFAIK ein xmessage-Clone für Gnome.
perl-tk
Für Perl gibt es eine Tk-Erweiterung, mit der man „richtige“ Programme bauen kann.

Links