Wmfs startx fr

arpinux edited this page Apr 23, 2012 · 2 revisions

Ce tutoriel vous aidera à lancer WMFS avec startx ainsi que quelques programmes. notez que ce ne sont que quelques exemples.

ce que nous voulons ?

  • démarrer WMFS
  • lancer quelques outils (comme un fond d'écran)

deux façons

la première, la plus facile

dans votre $HOME/.xinitrc :

feh --bg-scale /path/to/my/background
# ou : nitrogen --restore
pcmanfm --desktop
# et d'autres commandes

# ck-launch-session : lance ConsoleKit, vous donne accès au montage des volumes en tant qu'utilisateur
# depuis votre navigateur de fichier (pcmanfm, nautilus, thunar, ...), ou halt/reboot votre machine sans
# être root.
# dbus-launch : utilisé par quelques applications.
exec ck-launch-session dbus-launch wmfs

# si vous n'avez pas besoin/envie, utilisez simplement :
# exec wmfs

le deuxième, meilleure, pas si dure

ici, nous démarrons WMFS avant les applications ! car certaines applications ont besoin que wmfs soit lancé pour démarrer.

voici le contenu de votre $HOME/.xinitrc maintenant :

exec ck-launch-session dbus-launch wmfs &
wmpid=$! # ici nous sauvegardons le PID de wmfs

feh --bg-scale /path/to/your/wallpaper
pcmanfm --desktop
$HOME/.local/bin/status.sh

wait $wmpid # ici on attend la fin de wmfs WMFS, quand l'utilisateur lance un : wmfs -c quit :(

Bonus : avec un peu plus de configuration, on peut faire mieux

voici comment nous allons procéder :

  • placer les programmes à lancer dans $HOME/.config/xorg/session.env
  • placer le window-manager dans $HOME/.config/xorg/session.wm
  • écrire les logs de session dans $HOME/.config/xorg/session.log
  • editer un script startwm qui lira la configuration et l'exécutera.

voici ce que devient votre $HOME/.xinitrc :

exec ck-launch-session dbus-launch $HOME/.local/bin/startwm
# NB: placer votre script où bon vous semble, mais indiquer le chemin complet

le fichier $HOME/.config/xorg/session.wm :

wmfs

NB: pour changer de window-manager, il suffit de changer ce fichier :)

le fichier $HOME/.config/xorg/session.env :

pcmanfm --desktop
/home/linkdd/.local/bin/status.sh

NB: ce fichier n'est pas un script ! chaque ligne lance UNE commande

maintenant notre script startwm :

LOG="$HOME/.config/xorg/session.log"

# vérification du wm à lancer :
WINDOWMANAGER="`cat $HOME/.config/xorg/session.wm`"

# lancer le wm en arrière-plan et garder son PID.
# rediriger la sortie standard sur la fichier de log
# rediriger les erreurs sur le fichier de log
$WINDOWMANAGER >> $LOG 2>&1 &
wmpid=$!

cat $HOME/.config/xorg/session.env | while read cmd
do
     # lancer chaque commande en arrière-plan
     $cmd >> $LOG 2>&1 &
done

# attend la fin du wm
wait $wmpid

Bonus : startx automatique

Au lancement de votre Shell, votre profile est lu, avec bash c'est $HOME/.bash_profile, avec zsh c'est ``$HOME/.zprofile`.

ajouter ces lignes dans votre fichier de profil :

# si la variable DISPLAY est vide (on est pas dans X)
# et le retour de 'tty' est '/dev/tty1' (first tty, CTRL+ALT+F1)
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]
then
     # lancer startx ne arrière-plan
     ssh-agent startx > $HOME/.config/xorg/session.log 2>&1 &
     # et vérouiller le terminal
     vlock # vlock is the same as slock (or other), but for a terminal
     # installer vlock au besoin
     # sur debian : apt-get install vlock
fi
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.