Le problème est de pouvoir gérer ce que ni Xorg les display managers existant ne gèrent entièrement ou de la même manière :
le login/reboot/halt/verrouillage/mise en veille (et le retour de mise en veille). Comme par exemple, verrouiller la session AVANT la mise en veille, et non au retour de veille.
le multi-seat * (donc gérer les sessions - qu'elles soient locales/distantes ou console/graphique - et les seats)
les session multiples (plusieurs sessions sur un même seat. Exemple : Aerith et Bob utilisent l'ordinateur à tour de rôle, et chacun a des processus dont ils attendent le résultat, donc ils ont besoin de laisser leur session ouverte mais verouillé pendant que l'autre utilise sa session)
le nettoyage des sessions qui viennent d'être fermés
A CD burning application wants to ensure that the system is not turned off or suspended while the burn process is in progress.
A package manager wants to ensure that the system is not turned off while a package upgrade is in progress.
An office suite wants to be notified before system suspend in order to save all data to disk, and delay the suspend logic until all data is written.
A web browser wants to be notified before system hibernation in order to free its cache to minimize the amount of memory that needs to be virtualized.
A screen lock tool wants to bring up the screen lock right before suspend, and delay the suspend until that's complete. Applications which want to make use of the inhibition logic shall take an inhibitor lock via the logind D-Bus API.
A seat consists of all hardware devices assigned to a specific workplace. It consists of at least one graphics device, and usually also includes keyboard, mouse. It can also include video cameras, sound cards and more. Seats are identified by seat names, which are short strings (<= 64chars), that start with the four characters "seat" followed by at least one more character from the range a-zA-Z0-9, "" and "-". They are suitable for inclusion in file names. Seat names may or may not be stable and may be reused if a seat becomes available again.
A session is defined by the time a user is logged in until he logs out. A session is bound to one or no seats (the latter for 'virtual' ssh logins). Multiple sessions can be attached to the same seat, but only one of them can be active, the others are in the background. A session is identified by a short string. systemd ensures that audit sessions are identical to systemd sessions, and uses the audit session id as session id in systemd (if auditing is enabled). The session identifier too shall be considered a short string (<= 64chars) consisting only of a-zA-Z0-9, "" and "-", suitable for inclusion in a file name. Session IDs are unique on the local machine and are never reused as long as the machine is online.
A user (the way we know it on Unix) corresponds to the person using a computer. A single user can have opened multiple sessions at the same time. A user is identified by a numeric user id (UID) or a user name (string).
A multi-session system allows multiple user sessions on the same seat at the same time. Linux+systemd qualifies.
A multi-seat system allows multiple independent seats that can be individually and simultaneously used by different users. Linux+systemd qualifies.
*Et une limitation intéressante de Xorg pour le multiseat :
Multi-Seat X
Note that even though XOrg gained, in version 1.12 of xserver, a new -seat switch to make use of multi-seat information it does so only for input devices, not for displays. To work around this systemd includes a tiny wrapper binary in /lib/systemd/systemd-multi-seat-x which emulates the right behaviour by creating a throw-away X configuration file which does the right thing. If you are implementing a multi-seat display manager you probably want to use this binary instead of the real X binary for now. As soon as XOrg upstream gains proper multi-seat support also for displays this binary will be removed from systemd, hence write your DM to fallback to the real X server if systemd's wrapper is not found.
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)
[^] # Re: Tros gros mais ça passe, on est vendredi
Posté par xcomcmdr . En réponse au journal Comment mon expérience Linux est en train de tourner au fiasco. Évalué à 9. Dernière modification le 12 août 2015 à 12:40.
Le problème est de pouvoir gérer ce que ni Xorg les display managers existant ne gèrent entièrement ou de la même manière :
Ou encore, gérer les interdictions temporaires, telles que :
Tout est expliqué ici :
*Et une limitation intéressante de Xorg pour le multiseat :
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)