Windowmanager: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K (2 Versionen) |
Malte (Diskussion | Beiträge) K (Überarbeitung Tag) |
||
(5 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Wenn einem KDE, GNOME, CDE und FVWM alle nicht gefallen, kann man auch seinen eigenen Windowmanager auswählen. Das geht allerdings nicht über das Menü beim Einloggen, sondern man muss es in der Datei <tt>.xinitrc</tt> selbst eintragen und dann beim Login als Session "FVWM" waehlen. | {{Vorlage:Überarbeitung}} | ||
Wenn einem KDE, GNOME, CDE und FVWM alle nicht gefallen, kann man auch seinen eigenen Windowmanager auswählen. Das geht allerdings nicht über das Menü beim Einloggen, sondern man muss es in der Datei <tt>.xinitrc</tt> selbst eintragen und dann beim Login als Session "FVWM" waehlen. In der Datei sind folgende Programmschnipsel sinnvoll: | |||
== Bash statt /bin/sh == | |||
<pre> | <pre> | ||
# | # Die /bin/sh enthält viele Fehler und ist nicht so mächtig wie die Bash. | ||
[ -n "$BASH_VERSION" ] || exec bash "$0" | |||
</pre> | |||
== Alle Ausgaben mitloggen == | |||
<pre> | |||
# Alle Ausgaben mitloggen -- das kann auch später nützlich sein, | # Alle Ausgaben mitloggen -- das kann auch später nützlich sein, | ||
# um zu gucken, was Programme, die nicht aus einem Terminal heraus | # um zu gucken, was Programme, die nicht aus einem Terminal heraus | ||
Zeile 14: | Zeile 18: | ||
exec 1>> "$HOME/.x11_log" 2>&1 | exec 1>> "$HOME/.x11_log" 2>&1 | ||
echo "[`date`] X11-Sitzung auf `hostname` gestartet ..." | echo "[`date`] X11-Sitzung auf `hostname` gestartet ..." | ||
</pre> | |||
== Bash-Logindateien einbinden == | |||
for | <pre> | ||
do | for s in $HOME/.bash_profile $HOME/.bash_login $HOME/.profile; do | ||
[ -f $ | [ -f $s ] && . $S | ||
done | done | ||
</pre> | |||
== Ruhe, bitte == | |||
<pre> | |||
# dont beep | # dont beep | ||
xset b off | xset b off | ||
</pre> | |||
== Tastatur == | |||
<pre> | |||
# kill the annoying caps lock key | # kill the annoying caps lock key | ||
xmodmap -e "remove lock = [[ | xmodmap -e "remove lock = Caps_Lock" | ||
</pre> | |||
== SSH-Schlüssel == | |||
<pre> | |||
# Start ssh agent (idea stolen from OpenBSD) | |||
id1=$HOME/.ssh/identity | |||
id2=$HOME/.ssh/id_dsa | |||
id3=$HOME/.ssh/id_rsa | |||
if [ -x /usr/pkg/bin/ssh-askpass ] && [ -f $id1 -o -f $id2 -o -f $id3 ]; then | |||
eval `ssh-agent -s` | |||
SSH_ASKPASS=/usr/pkg/bin/ssh-askpass ssh-add < /dev/null | |||
fi | |||
</pre> | |||
== Windowmanager == | |||
<pre> | |||
# Abhängig vom Betriebssystem sollen verschiedene Windowmanager | # Abhängig vom Betriebssystem sollen verschiedene Windowmanager | ||
# ausgewählt werden. | # ausgewählt werden. | ||
# | # | ||
case `uname` in | case `uname` in | ||
SunOS) wms="fluxbox icewm xterm" ;; | |||
Linux) wms="windowmaker fluxbox icewm xterm" ;; | |||
*) wms="xterm" ;; | |||
esac | esac | ||
# Das erste Programm aus der oben gewählten Liste ausführen. | # Das erste Programm aus der oben gewählten Liste ausführen. | ||
Zeile 50: | Zeile 70: | ||
pid=0 | pid=0 | ||
for | for wm in $wms; do | ||
do | if type "$wm" >/dev/null; then | ||
if type "$ | echo "Starting $wm..." | ||
"$wm" & | |||
echo "Starting $ | |||
"$ | |||
pid=$! | pid=$! | ||
# wait some time and check if its still alive | # wait some time and check if its still alive | ||
sleep 1 | sleep 1 | ||
pgrep "$ | pgrep "$wm" | grep $pid > /dev/null && { success=1; break; } | ||
echo "$wm failed." | |||
else | else | ||
echo "$ | echo "$wm is not found in $PATH." 1>&2 | ||
fi | fi | ||
done | done | ||
if [ $success -eq 1 ] | if [ $success -eq 1 ]; then | ||
then | |||
# wait for windowmanager to exit | # wait for windowmanager to exit | ||
wait $pid | wait $pid | ||
Zeile 78: | Zeile 92: | ||
echo "$msg" 1>&2 | echo "$msg" 1>&2 | ||
xmessage -center -timeout 15 "$msg" | xmessage -center -timeout 15 "$msg" | ||
fi | fi | ||
</pre> | |||
if [ "$ | == SSH-Kram aufräumen == | ||
then | <pre> | ||
if [ -n "$SSH_AGENT_PID" ]; then | |||
ssh-add -D < /dev/null | ssh-add -D < /dev/null | ||
eval `ssh-agent -s -k` | eval `ssh-agent -s -k` | ||
fi | fi | ||
</pre> | |||
: | [[Kategorie:Rechenzentrum]] | ||
Aktuelle Version vom 8. Dezember 2015, 15:52 Uhr
Diese Seite muss überarbeitet werden.
Genannte Informationen sind nicht mehr auf dem aktuellsten Stand.
Genannte Informationen sind nicht mehr auf dem aktuellsten Stand.
Wenn einem KDE, GNOME, CDE und FVWM alle nicht gefallen, kann man auch seinen eigenen Windowmanager auswählen. Das geht allerdings nicht über das Menü beim Einloggen, sondern man muss es in der Datei .xinitrc selbst eintragen und dann beim Login als Session "FVWM" waehlen. In der Datei sind folgende Programmschnipsel sinnvoll:
Bash statt /bin/sh[Bearbeiten]
# Die /bin/sh enthält viele Fehler und ist nicht so mächtig wie die Bash. [ -n "$BASH_VERSION" ] || exec bash "$0"
Alle Ausgaben mitloggen[Bearbeiten]
# Alle Ausgaben mitloggen -- das kann auch später nützlich sein, # um zu gucken, was Programme, die nicht aus einem Terminal heraus # gestartet werden, ausgeben. # exec 1>> "$HOME/.x11_log" 2>&1 echo "[`date`] X11-Sitzung auf `hostname` gestartet ..."
Bash-Logindateien einbinden[Bearbeiten]
for s in $HOME/.bash_profile $HOME/.bash_login $HOME/.profile; do [ -f $s ] && . $S done
Ruhe, bitte[Bearbeiten]
# dont beep xset b off
Tastatur[Bearbeiten]
# kill the annoying caps lock key xmodmap -e "remove lock = Caps_Lock"
SSH-Schlüssel[Bearbeiten]
# Start ssh agent (idea stolen from OpenBSD) id1=$HOME/.ssh/identity id2=$HOME/.ssh/id_dsa id3=$HOME/.ssh/id_rsa if [ -x /usr/pkg/bin/ssh-askpass ] && [ -f $id1 -o -f $id2 -o -f $id3 ]; then eval `ssh-agent -s` SSH_ASKPASS=/usr/pkg/bin/ssh-askpass ssh-add < /dev/null fi
Windowmanager[Bearbeiten]
# Abhängig vom Betriebssystem sollen verschiedene Windowmanager # ausgewählt werden. # case `uname` in SunOS) wms="fluxbox icewm xterm" ;; Linux) wms="windowmaker fluxbox icewm xterm" ;; *) wms="xterm" ;; esac # Das erste Programm aus der oben gewählten Liste ausführen. success=0 pid=0 for wm in $wms; do if type "$wm" >/dev/null; then echo "Starting $wm..." "$wm" & pid=$! # wait some time and check if its still alive sleep 1 pgrep "$wm" | grep $pid > /dev/null && { success=1; break; } echo "$wm failed." else echo "$wm is not found in $PATH." 1>&2 fi done if [ $success -eq 1 ]; then # wait for windowmanager to exit wait $pid else msg='Kein Programm zum Ausfuehren gefunden. :(' echo "$msg" 1>&2 xmessage -center -timeout 15 "$msg" fi
SSH-Kram aufräumen[Bearbeiten]
if [ -n "$SSH_AGENT_PID" ]; then ssh-add -D < /dev/null eval `ssh-agent -s -k` fi