Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Applets | Applets Changer d’utilisateur dans d'autres environnement que Gnome [logout]
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Applets | Applets

Subjects Author Language Messages Last message
[Locked] Changer d’utilisateur dans d'autres environnement que Gnome [logout]
Page : 1 2 3 4 5
lesebas Français 83 matttbe [Read]
05 November 2013 à 23:02

lesebas, Wednesday 31 July 2013 à 23:02


Subscription date : 24 November 2008
Messages : 298
Je ne sais pas si c'est logique, mais par rapport à gnome ça change. Et puis si tu n'es pas au courant, tu cliques et rien ne se passe c'est seulement quand tu reviens sur l'autre session que tu récupère tous les messages!

matttbe, Wednesday 31 July 2013 à 23:56


Subscription date : 24 January 2009
Messages : 12573
Et puis si tu n'es pas au courant, tu cliques et rien ne se passe c'est seulement quand tu reviens sur l'autre session que tu récupère tous les messages!
Ah, je n'avais pas compris comme ça.
Sur Ubuntu 12.04 avec Gnome (et lightdm), je me souviens que si tu veux éteindre l'ordi et qu'une autre session est en cours, tu as un message t'expliquant que tu ne peux pas quitter (avec + d'info) et si tu veux tout de même forcer, tu dois entrer le mot de passe d'un administrateur. Mais tous ces messages s'affichent sur le bureau de la personne qui a demandé à éteindre l'ordi.

lesebas, Thursday 15 August 2013 à 23:16


Subscription date : 24 November 2008
Messages : 298
Bon je confirme qu'il ya un problème avec lxdm en multiuser :

https://bbs.archlinux.org/viewtopic.php?pid=1312043#p1312043

J'ai ouvert un task sur archlinux :

https://bugs.archlinux.org/task/36533

A suivre... avec lightdm comme Dispaly manager pas de problèmes... je teste dès que je peux l'intégration avec le dock!

lesebas, Friday 06 September 2013 à 13:49


Subscription date : 24 November 2008
Messages : 298
Pour info, le bug de lxdm est confirmé, mais pas trop de solution pour l'instant :

https://bugs.archlinux.org/task/36533

J'ai reporté dans l'upstream de lxde :

https://sourceforge.net/tracker/?func=detail&aid=3614981&group_id=180858&atid=894869

Je mets à jour mon workaround dans la doc :

http://www.glx-dock.org/ww_page.php?p=Probl%C3%A8mes%20r%C3%A9currents&lang=fr#31-Logout (Applet Déconnexion) ne fonctionne pas avec Lxdm

lesebas, Thursday 12 September 2013 à 23:19


Subscription date : 24 November 2008
Messages : 298
Bug corrigé dans la vesrion git... du coup loginctl fonctionne correctement, je devrais pouvoir bricoler quelquechose de plus propre pour faire un changement d'utilisateur avec lxdm.

lesebas, Thursday 12 September 2013 à 23:23


Subscription date : 24 November 2008
Messages : 298
Bug corrigé dans la vesrion git... du coup loginctl fonctionne correctement, je devrais pouvoir bricoler quelquechose de plus propre pour faire un changement d'utilisateur avec lxdm.

matttbe, Thursday 12 September 2013 à 23:49


Subscription date : 24 January 2009
Messages : 12573
mais il est tjs nécessaire de bricoler pour changer d'utilisateur Enfin, ça s'améliore

fabounet, Friday 13 September 2013 à 17:24


Subscription date : 30 November 2007
Messages : 17118
et merci pour le workaround
mais franchement, pourquoi ne pas utiliser lightdm au lieu de lxdm ? cela me semble une duplication d'effort inutile mais je loupe peut-etre un truc ?

lesebas, Friday 13 September 2013 à 18:11


Subscription date : 24 November 2008
Messages : 298
Parce que (mais je peux me tromper) lightdm ne gère pas de liste graphique d'utilisateur... et à la maison certaines ne sont pas trop ouverte au login avec du texte... génération clic

matttbe, Friday 13 September 2013 à 20:53


Subscription date : 24 January 2009
Messages : 12573
Ça dépend certainement du thème car tu peux avoir des thèmes assez différents, voir même ceci: https://www.youtube.com/watch?v=f8nm4NpaVXE

lesebas, Friday 13 September 2013 à 23:44


Subscription date : 24 November 2008
Messages : 298
Oui mais honnêtement j'ai fais pas mal de recherche... hormis celui-ci j'ai pas trouvé grand chose.

Idéalement il fallait utiliser le webkitgreeter mais le sujet n'est plus développé : https://launchpad.net/lightdm-webkit-greeter

Mais bon pourquoi pas me repencher sur le sujet...

matttbe, Saturday 14 September 2013 à 00:48


Subscription date : 24 January 2009
Messages : 12573
Tu peux utiliser le thème (greeter) par défaut d'ubuntu ou un autre.
Voici ce que j'ai dans les dépôts d'Ubuntu 13.10: lightdm-webkit-greeter, lightdm-kde-greeter, lightdm-gtk-greeter, unity-greeter
Et sur AUR: https://aur.archlinux.org/packages/?O=0&C=0&SeB=nd&K=lightdm-&outdated=&SB=n&SO=a&PP=50&do_Search=Go

Récemment mis à jour:

lesebas, Saturday 14 September 2013 à 08:01


Subscription date : 24 November 2008
Messages : 298
OK je vais regarder... mais tout de même j'étais resté bloqué sur ce post parce que les sessions n'étaient pas chargées correctement vis à vis de logind par lxdm. Mais maintenant que c'est réglé je suis sur que l'on peut réussir a gérer les sessions depuis l'applet indépendamment du "Dispaly manager" installé, vu la liste des méthodes disponnibles avec logind :

http://www.freedesktop.org/wiki/Software/systemd/logind/

Methods

GetSession() may be used to get the session object path for the session with the specified ID. Similar, GetUser() and GetSeat() get the user resp. seat objects. GetSessionByPID() and GetUserByPID() get the session/user object the specified PID belongs to if there is any.

ListSessions() returns an array with all current sessions. The structures in the array consist of the following fields: session id, user id, user name, seat id, session object path. If a session does not have a seat attached the seat id field will be an empty string.

ListUsers() returns an array with all currently logged in users. The structures in the array consist of the following fields: user id, user name, user object path.

ListSeats() returns an array with all currently available seats. The structure in the array consists of the following fields: seat id, seat object path.

CreateSession() and ReleaseSession() may be used to open or close login sessions. These calls should never be invoked directly by clients. Creating/closing sessions is exclusively the job of PAM and its pam_systemd module.

ActivateSession() brings the session with the specified ID into the foreground. ActivateSessionOnSeat() does the same, but only if the seat id matches.

LockSession() asks the session with the specified ID to activate the screen lock. UnlockSession() asks the session with the specified ID to remove an active screen lock, if there is any. This is implemented by sending out the Lock() and Unlock() signals from the respective session object which session managers are supposed to listen on.

LockSessions() asks all sessions to activate the screen locks. This may be used to lock any access to the machine in one action. Similar, UnlockSessions() asks all sessions to deactivate their screen locks.

KillSession() may be used to send a Unix signal to one or all processes of a session. As arguments it takes the session id, either the string "leader" or "all" and a signal number. If "leader" is passed only the session "leader" is killed. If "all" is passed all processes of the session are killed.

KillUser() may be used to send a Unix signal to all processes of a user. As argument it takes the user id and a signal number.

TerminateSession(), TerminateUser(), TerminateSeat() may be used to forcibly terminate one specific session, all processes of a user, resp. all sessions attached to a specific seat. The session, user, seat is identified by their respective IDs.

SetUserLinger() enables or disables user lingering. If enabled the runtime directory of a user is kept around and he may continue to run processes while he is logged out. If disabled the runtime directory goes away as soon as he logs out. Expects three arguments: the UID, a boolean whether to enable/disable and a boolean controlling the PolicyKit authorization interactivity (see above). Note that the user linger state is persistently stored on disk.

AttachDevice() may be used to assign a specific device to a specific seat. The device is identified by its /sys path, and must be eligible for seat assignments. Takes three arguments: the seat id, the sysfs path, and a boolean for controlling PolicyKit interactivity (see above). Device assignments are persistently stored to disk. To create a new seat, simply specify a previously unused seat id. For more information about the seat assignment logic see Multi-Seat for Linux.

FlushDevices() removes all explicit seat assignments for devices, resetting all assignments to the automatic defaults. The only argument this takes is the PolicyKit interactivity boolean (see above).

PowerOff(), Reboot(), Suspend(), Hibernate(), HybridSleep() results in the system being powered off, rebooted, suspend, hibernated or hibernated+suspended. The only argument is the PolicyKit interactivity boolean (see above). The main purpose of these calls is that they enforce PolicyKit policy and hence allow powering off/rebooting/suspending/hibernating even by unprivileged users. They also enforce inhibition locks. UIs should expose these calls as primary mechanism to poweroff/reboot/suspend/hibernate/hybrid-sleep the machine.

CanPowerOff(), CanReboot(), CanSuspend(), CanHibernate(), CanHybridSleep() tests whether the system supports the respective operation and whether the calling user is eligible for the desired operation. Returns one of "na", "yes", "no" or "challenge". If "na" is returned the operation is not available because hardware, kernel or drivers do not support it. If "yes" is returned the operation is supported and the user may execute the operation without further authentication. If "no" is returned the operation is available but the user is not allowed to execute the operation. If "challenge" is returned the operation is available, but only after authorization.

Inhibit() creates an inhibition lock. It takes four parameters: What, Who, Why and Mode. "What" is one or more of "shutdown", "sleep", "idle", "handle-power-key", "handle-suspend-key", "handle-hibernate-key", "handle-lid-switch", separated by colons, for inhibiting poweroff/reboot, suspend/hibernate, the automatic idle logic, or hardware key handling. "Who" should be a short human readable string identifying the application taking the lock. "Why" should be a short human readable string identifying the reason why the lock is taken. Finally, "Mode" is either "block" or "delay" which encodes whether the inhibit shall be consider mandatory or whether it should just delay the operation to a certain maximum time. The call returns a file descriptor. The lock is released the moment this file descriptor (and all its duplicates) are closed. For more information on the inhibition logic see Inhibitor Locks.

ListInhibitors() lists all currently active inhibitors. Returns an array of structures consisting of what, who, why, mode, user ID and process ID.

matttbe, Saturday 14 September 2013 à 10:48


Subscription date : 24 January 2009
Messages : 12573
Le problème c'est que certaines méthodes nécessitent des droits (qu'il faut soit avoir mais ce n'est pas le rôle du dock, soit demander au gestionnaire de bureau (*DM))

lesebas, Thursday 24 October 2013 à 23:52


Subscription date : 24 November 2008
Messages : 298
Salut,

Je relance ce post parce qu'à force de touiller dans tous les display manager j'était revenu à lightdm mais toujours frustré de ne pas pouvoir faire fonctionner la version webkit! Et je suis tombé sur çà :

http://www.linuxmint-fr.org/accueil/actualite/257-ecrans-de-connexion-hml5-avec-mdm.html

Et en plus le paquet est dispo sur AUR en standalone (à quelques dépendances prés minimes).

Ça marche plutôt bien, la commande gdmflexiserver étant remplacée par mdmflexiserver (un petit ln -s et le tour est joué). Par contre je ne trouve pas les arguments à passer à mdmflexiserver pour lui indiquer de switcher vers un user précis. Une idée comment faire? car apparemment ça marche comme gdmflexiserver :

[sebastien@Lupus ~]$ mdmflexiserver --help
Usage:
mdmflexiserver [OPTION...] - New mdm login

Help Options:
-h, --help Show help options

Application Options:
-c, --command=COMMAND Send the specified protocol command to MDM
-n, --xnest Xnest mode
-l, --no-lock Do not lock current screen
-d, --debug Debugging output
-a, --authenticate Authenticate before running --command
-s, --startnew Start new flexible session; do not show popup
--monte-carlo-pi


[Edit]... Voir pourquoi ne pas imaginer la prise en charge de Mint Display Manager par logout (pour les utilisateur de Mint ou LMDE environements Mate... voir quelques autres !)

fabounet, Friday 25 October 2013 à 15:44


Subscription date : 30 November 2007
Messages : 17118
pourquoi ne pas imaginer la prise en charge de Mint Display Manager par logout

à priori, si ils respectent les standards, ça devrait marcher tout seul
par contre si ils copient encore sur Gnome, ben ça marchera pas

lesebas, Friday 25 October 2013 à 15:50


Subscription date : 24 November 2008
Messages : 298
Ha... ben visiblement ça ne marche pas. Dommage pourtant le greeter en HTML5 je trouve ça plutôt innovant...

Logout se base sur quoi pour changer d'utilisateur? (loginctl?)

matttbe, Friday 25 October 2013 à 17:38


Subscription date : 24 January 2009
Messages : 12573
@fabounet: ils utilisent p-ê une adresse DBus avec 'mate' au lieu de 'gnome'...

@lesebas: peux-tu regarder avec D-Feet si dans le bus system, tu trouves org.gnome.DisplayManager ou org.mate.DisplayManager ou ???.????.DisplayManager?

Aussi, vu que tu utilises GTK 3.10, est-ce que tu peux confirmer ce bug? bg_topic.php?t=7219&pos=0#mess_81408
Et si oui, tester les 2 patches?
Ou si ça ne va vraiment pas de patcher (mais il faut juste enregistrer le fichier et ajouter une ligne dans le PKGBUILD je pense), je peux balancer sur BZR.

lesebas, Friday 25 October 2013 à 22:18


Subscription date : 24 November 2008
Messages : 298
Salut, je suis en vacances une semaine a l'étranger (au soleil )... Je teste tout ça a mon retour!!!

fabounet, Monday 28 October 2013 à 15:43


Subscription date : 30 November 2007
Messages : 17118
ils utilisent p-ê une adresse DBus avec 'mate' au lieu de 'gnome'...

fort possible, dommage qu'ils ne profitent pas de leur "fork" pour corriger les erreurs

Applets | Applets

Subjects Author Language Messages Last message
[Locked] Changer d’utilisateur dans d'autres environnement que Gnome [logout]
Page : 1 2 3 4 5
lesebas Français 83 matttbe [Read]
05 November 2013 à 23:02


Glx-Dock / Cairo-Dock List of forums Applets | Applets Changer d’utilisateur dans d'autres environnement que Gnome [logout] Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.