• [^] # Re: D'autres avant...

    Posté par . En réponse au journal Les distributions Linux abandonnent X11 pour Wayland. Évalué à -4. Dernière modification le 24 septembre 2023 à 20:52.

    Bon à savoir.

    Le login est un gestionnaire de session.

    Le .zprofile est chargé au démarrage de ta session, donc juste après un login. C’est là que tu devrais mettre ton script en toute logique.

    Exemple (sur une config où Xorg n’a pas le bit suid et déjà lancé par root sur vt2) :

    . /etc/profile
    export EDITOR='vi'
    export CFLAGS="-march=native -pipe -Wall -Wextra -Wpedantic -Wdeclaration-after-statement -Wno-unused-parameter -Wno-unused-result -Wno-dangling-else -Wno-parentheses -Wno-misleading-indentation -std=c18 -O2 -DNDEBUG"
    export LDFLAGS="-flto -s"
    export NASMENV="-f elf64"
    export PYTHONOPTIMIZE=2
    export PATH=$PATH:$HOME/.bin
    export GTK_IM_MODULE=xim
    export QT_IM_MODULE=xim
    export BC_ENV_ARGS="-q $HOME/.bcrc"
    /usr/bin/chvt 2
    export DISPLAY=:0
    exec 0</dev/null
    exec 1>/dev/null
    exec 2>/dev/null
    XTERM=/usr/bin/st exec dwm

    Note que dwm jouant le rôle d’un shell, je l’ai patché pour exécuter un ~/.dwm_logout. Pour jouer le jeu à fond on pourrait s’amuser à créer un ~/.dwm_profile.

    Note aussi la variable d’environnement XTERM qui me permet par la suite d’écrire des lanceurs valables en console ou sous X11 :

    exec $XTERM /usr/bin/mutt

    Au contraire le .zshrc est exécuté à chaque démarrage de ton shell, donc y compris dans un terminal virtuel. Il contiendra les commandes à exécuter (rc = run command) plutôt que les variables d’environnement.

    C’est à peu près pareil pour n’importe quel shell.