Windowmanager: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
fsrwiki_>4winter K (Uns selbst mit der bash starten und die Loginscripte sourcen) |
fsrwiki_>Oddmuse Import K (link fix) |
||
Zeile 3: | Zeile 3: | ||
<pre> | <pre> | ||
# make sure we're run by the bash | # make sure we're run by the bash | ||
if [ x"$BASH_VERSION" = x"" ] | if [ x"$[[BASH_VERSION]]" = x"" ] | ||
then | then | ||
exec /usr/bin/env bash $0 | exec /usr/bin/env bash $0 | ||
Zeile 25: | Zeile 25: | ||
# kill the annoying caps lock key | # kill the annoying caps lock key | ||
xmodmap -e "remove lock = Caps_Lock" | xmodmap -e "remove lock = [[Caps_Lock]]" | ||
# Abhängig vom Betriebssystem sollen verschiedene Windowmanager | # Abhängig vom Betriebssystem sollen verschiedene Windowmanager | ||
Zeile 31: | Zeile 31: | ||
# | # | ||
case `uname` in | case `uname` in | ||
SunOS) programs="fluxbox icewm xterm" ;; | [[SunOS]]) programs="fluxbox icewm xterm" ;; | ||
Linux) programs="windowmaker fluxbox icewm xterm" ;; | Linux) programs="windowmaker fluxbox icewm xterm" ;; | ||
*) programs="xterm" ;; | *) programs="xterm" ;; | ||
esac | esac | ||
# Start ssh agent (idea stolen from OpenBSD) | # Start ssh agent (idea stolen from [[OpenBSD]]) | ||
id1=$HOME/.ssh/identity | id1=$HOME/.ssh/identity | ||
id2=$HOME/.ssh/id_dsa | id2=$HOME/.ssh/id_dsa | ||
Zeile 43: | Zeile 43: | ||
then | then | ||
eval `ssh-agent -s` | eval `ssh-agent -s` | ||
SSH_ASKPASS=/usr/pkg/2006Q2/bin/ssh-askpass ssh-add < /dev/null | [[SSH_ASKPASS]]=/usr/pkg/2006Q2/bin/ssh-askpass ssh-add < /dev/null | ||
fi | fi | ||
Zeile 80: | Zeile 80: | ||
fi | fi | ||
if [ "$SSH_AGENT_PID" ] | if [ "$[[SSH_AGENT_PID]]" ] | ||
then | then | ||
ssh-add -D < /dev/null | ssh-add -D < /dev/null |
Version vom 5. November 2007, 07:19 Uhr
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. Die Datei koennte folgendermassen aussehen:
# make sure we're run by the bash if [ x"$[[BASH_VERSION]]" = x"" ] then exec /usr/bin/env bash $0 fi # 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 loginscripte sourcen for S in $HOME/.bash_profile $HOME/.bash_login $HOME/.profile do [ -f $S ] && . $S done # dont beep xset b off # kill the annoying caps lock key xmodmap -e "remove lock = [[Caps_Lock]]" # Abhängig vom Betriebssystem sollen verschiedene Windowmanager # ausgewählt werden. # case `uname` in [[SunOS]]) programs="fluxbox icewm xterm" ;; Linux) programs="windowmaker fluxbox icewm xterm" ;; *) programs="xterm" ;; esac # 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/2006Q2/bin/ssh-askpass ] && [ -f $id1 -o -f $id2 -o -f $id3 ]; then eval `ssh-agent -s` [[SSH_ASKPASS]]=/usr/pkg/2006Q2/bin/ssh-askpass ssh-add < /dev/null fi # Das erste Programm aus der oben gewählten Liste ausführen. success=0 pid=0 for p in $programs do if type "$p" > /dev/null then echo "Starting $p..." "$p" & pid=$! # wait some time and check if its still alive sleep 1 pgrep "$p" | grep $pid > /dev/null && { success=1; break; } {| class="wikitable" ! |} echo "$p failed." else echo "$p 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 if [ "$[[SSH_AGENT_PID]]" ] then ssh-add -D < /dev/null eval `ssh-agent -s -k` fi :