Démarrer notre client IRC préféré dans une session Tmux, au démarrage de la machine, via une unité systemd pour un utilisateur précis.
Sur ArchLinux, systemd 232-8 :
useradd -m -G users florent
su - florent
# Petit problème avec certaines install Arch, certains ont corrigé le problème
# en réinstallant… c’est sensé être géré par le module pam_systemd.
# Essayez de le faire sans positionner cette variable manuellement.
echo 'export XDG_RUNTIME_DIR=/run/user/$(id -u)' >> ~/.bashrc
source .bashrc
# Ici logeront vos unités utilisateur.
mkdir -p ~/.config/systemd/user/
# L’unité en question. On s’assure d’avoir du réseau avant de démarrer.
# WeeChat sait très bien faire la reconnexion, mais je préfère.
cat > /home/florent/.config/systemd/user/weechat.service << EOF
[Unit]
Description=WeeChat IRC Client (in tmux)
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/tmux -2 new-session -d -s irc /usr/bin/weechat
ExecStop=/usr/bin/tmux kill-session -t irc
[Install]
WantedBy=default.target
EOF
Ensuite on pourra tout simplement activer, démarrer et enjoyer :D
systemctl --user enable weechat.service
systemctl --user start weechat.service
Et quand on voudra récupérer notre WeeChat, tmux a -t irc
et zou ^_^
Sources :