Page 1 sur 1

[systemd] utilisation de --user, débuter

Publié : ven. 14 juin 2013, 04:56
par GuilouV
Bonjour,

Attention j'ouvre ici un sujet avec des questions "bêtes" alors on se prépare :p
J'aimerai des information, afin d'éviter toute erreurs, sur la mise en place de systemd --user pour gérer ma session. Je vais établir des points pour être plus concis:

Général:
1- y'a-t-il un intérêt à systemd --user autre que pouvoir gérer certains services en tant que simple utilisateur
2- une des fonctions de systemd --user est-elle de remplacer .xinitrc

Mise en place (selon le wiki):
3- le fichier mystuff.target contient

Code : Tout sélectionner

Description=Xinitrc Stuff
Faut-il le compléter pour refléter le contenu de .xinitrc?
4- il est dit de créer un lien symbolique de cette unité vers default.target (le default.target présent dans /usr/lib/systemd/user?)

Voilà je pense que ça fera assez de questions basiques pour aujourd'hui. D'autres viendront sûrement lorsque je lirai vos réponses ^^
Merci!
(c'est fou comme on peut être "perdu" quand on ne saisi pas toutes les informations même si le stade noob est passé depuis quelques années déjà. Sans doute la peur de faire une erreur "critique" ou/et la simplicité de pouvoir profiter du savoir de la commnauté pour limiter les risques)

Re: [systemd] utilisation de --user, débuter

Publié : ven. 14 juin 2013, 08:37
par tuxce
Salut,
GuilouV a écrit :sur la mise en place de systemd --user pour gérer ma session.
Ce n'est pas encore tout à fait au point, selon le cas, il te faut user de +/- de contournements.
GuilouV a écrit : 1- y'a-t-il un intérêt à systemd --user autre que pouvoir gérer certains services en tant que simple utilisateur
Non (enfin il gère des unités, donc pas forcément que des services), mais c'est déjà pas mal :)
GuilouV a écrit : 2- une des fonctions de systemd --user est-elle de remplacer .xinitrc
~/.xinitrc n'est utilisé que dans le cadre de xinit, certains gestionnaires de connexion ne l'utilise pas et ceux comme slim qui l'utilisent peuvent très bien s'en passer. Sinon, oui, systemd, peut très bien être configuré pour lancer des unités qui dépendront du lancement d'un serveur graphique.
GuilouV a écrit :
3- le fichier mystuff.target contient

Code : Tout sélectionner

Description=Xinitrc Stuff
Faut-il le compléter pour refléter le contenu de .xinitrc?
Non, celui là est le target, il demande lui même le target wm.target (selon le schéma de la page wiki : http://wiki.archlinux.org/index.php/Systemd/User) :
wm.target -> mystuff.target

L'utilisateur devra choisir mystuff.target comme cible par défaut :

Code : Tout sélectionner

systemctl --user enable mystuff.target
Et toute unité que tu créeras pour lancer les différents éléments que tu lances au démarrage de ta session (entre autre le contenu de .xinitrc) devra avoir cette cible comme la requérant :

Code : Tout sélectionner

#...
[install]
WantedBy=mystuff.target
Ainsi, si tu as par exemple xterm.service:

Code : Tout sélectionner

#...
Exec=/usr/bin/xterm
#...
[install]
WantedBy=mystuff.target
un systemctl --user enable xterm le placera sous mystuff et systemd le démarrera après avoir lancé X et le wm.
GuilouV a écrit :
4- il est dit de créer un lien symbolique de cette unité vers default.target (le default.target présent dans /usr/lib/systemd/user?)
C'est sytemctl --user qui s'occupera de ça, avec les même option que pour les trucs système.
En l'occurrence, il le placera dans ${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user/ (par défaut : ~/.config/systemd/user/)
GuilouV a écrit :
(c'est fou comme on peut être "perdu" quand on ne saisi pas toutes les informations
Là, il y a aussi le fait que c'est pas encore bien ficelé, il y a pas mal de choses que Xorg ne permet pas et qui nécessite au final de singer l'utilisation d'un ~/.xinitrc

Pour info si t'es pas tombé dessus, tu as une petite démo sur par exemple la possibilité de changer de wm à la volée : http://www.youtube.com/watch?v=KmZNZJeJz2w
Il avait fait un talk aussi au fosdem je crois où il expliquait plus longuement ce que ça pouvait apporter, mais j'arrive plus à le trouver :|

Re: [systemd] utilisation de --user, débuter

Publié : ven. 14 juin 2013, 18:46
par GuilouV
Voilà une réponse claire. Pour la peine je ne trouve pas de question supplémentaire :P
J'ai tenté l'expérience et pour le moment tout semble fonctionner à merveille. Peut être juste un petit bémol, il me semble que les temps de chargement de mon WM (awesome) est un peu plus long qu'avant... m'enfin certainement une impression.

Merci.

Re: [systemd] utilisation de --user, débuter (résolu)

Publié : ven. 14 juin 2013, 23:25
par GuilouV
J'ajoute finalement une petite demande supplémentaire car je n'ai pas trouvé la solution après quelques heures de recherche.
Depuis ce changement avec systemd --user thunar ne reconnaît plus mes supports usb (rien sous l'interface graphique et aucune info dans le terminal) sauf en le lançant avec l'option dbus-launch qui m'ajoute un dbus-daemon à chaque utilisaiton. Il semblerait que la commande dbus-launch --exit-with-session awesome que j'utilisais dans mon .xinitrc pour lancer mon WM soit indispensable à thunar pour gérer mes supports usb (sans me créer des dbus-daemon à tour de bras).

La question est donc comment implémenter cette option avec systemd --user sachant que le service gérant mon WM n'accepte bien sûr que les chemins absolus dans la section ExecStart?

PS: j'ai évidemment pensé au script mais n'y a-t-il pas plus "propre"?