Page 1 sur 1

[startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 17:43
par gilles74
bonjour,
le symptome de départ: les clés usb ne se montent pas automatiquement ( les partitions non définies dans fstab non plus). Mais en regardant de plus prêt, c'est un problème d'autorisation.

j'utilise un systeme full systemd qui lançe automatiquement openbox via startx. j'ai pour cela suivi le tuto startx
j'ai donc un /.xinitrc

Code : Tout sélectionner

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)


if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi


case "$LANG" in
 fr*)
  cp ~/.config/openbox/{menu-fr.xml,menu.xml}
  cp ~/.config/fbpanel/{default-fr,default}
 ;;
 *)
  cp ~/.config/openbox/{menu-en.xml,menu.xml}
  cp ~/.config/fbpanel/{default-en,default}
 ;;
esac

#exec ck-launch-session openbox-session
exec openbox-session 
#exec dbus-launch --sh-syntax --exit-with-session openbox-session
et un startx@.service

Code : Tout sélectionner

[Unit]
Description=startx automatique pour l'utilisateur %I
After=graphical.target systemd-user-sessions.service

[Service]
User=%I
WorkingDirectory=%h
PAMName=login
Type=oneshot
ExecStart=/bin/bash -l -c 'startx &'

[Install]
WantedBy=graphical.target 
tout ce petit monde fonctionne sauf que j'ai

Code : Tout sélectionner

# loginctl 
   SESSION        UID USER             SEAT            

0 session listed.
et donc je ne peux pas profiter des autorisations de montages des cles USB dans la session active comme cela est défini par systemd

Par contre si je lance manuellement startx depuis une autre console vt3 par exemple, j'ai une session d'ouverture dans loginctl .

J'ai parcouru google en vain; certains disent que c'est un bug .... Y-a-t-il une solution pour lancer startx correctement ?

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 18:33
par tuxce
Si tu mets :

Code : Tout sélectionner

Type=simple
ExecStart=/bin/bash -l -c startx
T'auras la session, mais par contre, si tu lances un arrêt/reboot sans avoir quitté openbox, systemd ne pourra pas arrêter ta session et attendra le temps du timeout (90s par défaut) : http://archlinux.fr/forum/viewtopic.php?t=12410
Il faudra quitter openbox avant d'éteindre (ou faire les 2 actions dans un script : http://forums.archlinux.fr/post106809.html#p106809)

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 18:55
par gilles74
bonsoir tuxce

et merci pour ta réponse rapide mais ça ne fonctionne pas pour moi. Toujours pas de session active

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 19:03
par tuxce
J'ai re édité, j'avais oublié d'enlever le "&" ... un c/c trop rapide :|

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 19:22
par gilles74
c'est bon, j'ai ma session ouverte et le timeout en lançant l'arrêt.

les partitions non définies dans fstab sont montées mais la clé usb refuse de se monter

"not authorised to perform operation"

encore une autorisation qui manque

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 19:27
par tuxce
La clé est défini dans le fstab ? si oui (pourquoi?), poste la ligne.

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 19:37
par benjarobin
Voir http://forums.archlinux.fr/post107225.html#p107225 pour une correction du service, Tuxce tu en pense quoi ?

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 21:00
par gilles74
non, ni la clé, ni les partitions tierce ne sont définies dans fstab

Code : Tout sélectionner

# 
# /etc/fstab: static file system information
#
# <file system>        <dir>         <type>    <options>          <dump> <pass>
devpts                 /dev/pts      devpts    defaults            0      0
shm                    /dev/shm      tmpfs     nodev,nosuid        0      0

UUID=5d42b480-bf17-4ee3-a8e3-1ed3982f7dad swap swap defaults 0 0
UUID=4842e2e7-cd82-4203-8448-f175e368b469 /home ext4 noauto,x-systemd.automount,defaults,noatime,nodiratime 0 1
#UUID=660204ae-3dcc-4e97-9012-03cac812317a /boot ext2 defaults 0 1
UUID=e8e413be-d71a-4fcf-b20a-551259593e9e / ext4 defaults,noatime,nodiratime 0 1
systemd est là pour ça, non !

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 21:01
par benjarobin
Systemd n'a aucun rapport avec la gestion des disques...

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 22:40
par tuxce
Que te retourne

Code : Tout sélectionner

loginctl
loginctl show-session $XDG_SESSION_ID
?

Re: [startx] loginctl pas de session

Publié : dim. 02 déc. 2012, 23:46
par gilles74

Code : Tout sélectionner

 loginctl
   SESSION        UID USER             SEAT            
         1       1000 gilles                           

1 sessions listed.

Code : Tout sélectionner

#  loginctl show-session $XDG_SESSION_ID
Id=1
Timestamp=lun., 2012-12-03 00:30:12 CET
TimestampMonotonic=7380097
DefaultControlGroup=name=systemd:/user/gilles/1
VTNr=0
Remote=no
Service=login
Leader=437
Audit=1
Type=unspecified
Class=user
Active=yes
State=active
KillProcesses=no
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
Name=gilles
le problème semble venir du lancement du X car dans la console urxvt j'ai les réglages du bash du boot et non pas ceux du "user".

Encore une fois, si je me deconnecte du X et relance une session, je n'ai plus de problème avec le montage des clés et partitions et je retrouve les réglages du bash du "user"

j'avais pas vu le numéro du VTNr=0 ???? pour info je suis en console 2
j'ai VTNr=3 TTY=tty3 quand ça fonctionne

Re: [startx] loginctl pas de session

Publié : lun. 03 déc. 2012, 10:22
par tuxce
Tu peux tester avec un ~/.xinitrc ne contenant que :

Code : Tout sélectionner

exec dbus-launch openbox-session
?

Re: [startx] loginctl pas de session

Publié : lun. 03 déc. 2012, 13:23
par gilles74
pas de démarrage du X avec lea paramètre suivant

Code : Tout sélectionner

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

exec dbus-launch openbox-session

Code : Tout sélectionner

[Unit]
Description=startx automatique pour l'utilisateur %I
After=graphical.target systemd-user-sessions.service

[Service]
User=%I
WorkingDirectory=%h
PAMName=login
Type=simple
ExecStart=/usr/local/bin/startx
ExecStop=/usr/local/bin/arret

[Install]
WantedBy=graphical.target

Code : Tout sélectionner

 #  systemctl status startx@gilles
startx@gilles.service - startx automatique pour l'utilisateur gilles
	  Loaded: loaded (/etc/systemd/system/startx@.service; enabled)
	  Active: failed (Result: exit-code) since lun., 2012-12-03 14:17:42 CET; 2min 43s ago
	 Process: 447 ExecStop=/usr/local/bin/arret (code=exited, status=0/SUCCESS)
	 Process: 440 ExecStart=/usr/local/bin/startx (code=exited, status=203/EXEC)
	  CGroup: name=systemd:/system/startx@.service/gilles

déc. 03 14:17:42 ctkarch systemd[1]: Starting startx automatique pour l'utilisateur gilles...
déc. 03 14:17:42 ctkarch systemd[1]: Started startx automatique pour l'utilisateur gilles.
déc. 03 14:17:42 ctkarch systemd[440]: pam_unix(login:session): session opened for user gilles by (uid=0)
déc. 03 14:17:42 ctkarch systemd[440]: pam_ck_connector(login:session): cannot determine display-device
déc. 03 14:17:42 ctkarch systemd[1]: startx@gilles.service: main process exited, code=exited, status=203/EXEC
déc. 03 14:17:42 ctkarch arret[447]: xinit: aucun processus trouvé
déc. 03 14:17:42 ctkarch systemd[1]: Unit startx@gilles.service entered failed state

Re: [startx] loginctl pas de session

Publié : lun. 03 déc. 2012, 13:51
par tuxce

Code : Tout sélectionner

ExecStart=/usr/local/bin/startx

Pourquoi pas ce qu'il y avait avant ?
C'est quoi la différence avec /usr/bin/startx

Re: [startx] loginctl pas de session

Publié : lun. 03 déc. 2012, 14:51
par benjarobin
C'est comme /usr/local/bin/arret cela n'as pas de sens...

Re: [startx] loginctl pas de session

Publié : lun. 03 déc. 2012, 21:36
par gilles74
désolé, j'ai fait ça rapidement à midi et j'ai oublié de supprimer certains essais que j'ai fait. En fait, j'ai fait un test avec slim et ça focntionne sans problème.

Je reviens à ce que tu m'as demandé

Code : Tout sélectionner

[Unit]
Description=startx automatique pour l'utilisateur %I
After=graphical.target systemd-user-sessions.service

[Service]
User=%I
WorkingDirectory=%h
PAMName=login
Type=simple
ExecStart=/bin/bash -l -c startx &
ExecStop= killall xinit&

[Install]
WantedBy=graphical.target
avec ou sans le &, même resultat, mais il y a une amélioration: en faisant un "systemctl statut startx@gilles", j'ai vu qu'il manquait "python2-xdg"
et maintenant si je plug une cle usb j'ai une demande d'autorisation, je donne le mdp du user et ensuite le montage est accepté.
par contre je suis toujours en VTNr=0 et les réglages du bash ne sont toujours pas bon. C'est comme si la session n'était pas sous le user "gilles", étrange ...

benjarobin : je n'ai pas fait cela pour rien; ExecStop n'accepte pas le commande "killall xinit". j'ai essayé de mettre "/bin/bash -l -c killall xinit&" mais pas mieux. C'est comme si la commande killall n'est pas accepté. En mettant la commande dans un script, ça fonctionne. Si tu as une autre idée, je suis preneur.

Re: [startx] loginctl pas de session

Publié : lun. 03 déc. 2012, 23:43
par benjarobin

Code : Tout sélectionner

/usr/bin/killall xinit
et non

Code : Tout sélectionner

killall xinit

Re: [startx] loginctl pas de session

Publié : mar. 04 déc. 2012, 00:26
par gilles74

Code : Tout sélectionner

/usr/bin/killall xinit
fonctionne, merci :bravo:

reste le problème du démarrage à résoudre