Page 1 sur 1

[HAL] automount ne fonctionne plus

Publié : dim. 08 févr. 2009, 14:39
par Ghostofkendo
Salut à tous,

Ce matin, en faisant mon yaourt -Syu quotidien, je me suis vu proposé la mise à jour de HAL (entre autres). Étant donné que ce n'était qu'un changement de version du paquetage (de 0.5.11-4 à 0.5.11-7) et même si celle-ci requiert subitement l'installation de ConsoleKit, je me suis dit que ça ne pouvait pas faire de mal. Erreur !
Depuis, quand je clique (dans Konqueror) sur une des partitions non montées de mon disque dur ou quand je branche mon disque dur externe, ça ne marche pas et j'ai ce message d'erreur

Code : Tout sélectionner

org.freedesktop.hal.storage.mount-removable no <-- (action, result)
(il y a juste le mount-removable qui change en mount-fixed suivant que j'essaye de monter mon DD externe ou interne)

J'ai donc cherché un peu si il n'y avait pas d'autres personnes dans mon cas et j'ai trouvé ceci sur le wiki officiel ou encore cela sur le forum officiel mais ça ne me dit pas pourquoi l'automount ne fonctionne plus et surtout à cause de qui ? HAL ? D-BUS ? ConsoleKit ?
J'aimerais comprendre pour pouvoir juger quelle méthode est la plus propre pour résoudre ce problème.

Au pire, je devrais pouvoir revenir à l'ancienne release du paquet de HAL et désinstaller ConsoleKit afin de pouvoir écouter ma musique, en attendant de trouver la solution idéale :D

@+ et merci d'avance :wink:

P.S: Pour info, je suis en i686, HAL est listé dans la liste des démons de rc.conf, mon utilisateur est membre du groupe storage et j'utilise KDE.

Publié : dim. 08 févr. 2009, 18:52
par Eniotan
Salut,
J'ai eu le même pb avec mon lecteur de cartes SD qui ne se montaient plus automatiquement.
Alors pour ceux que ça pourrait aider le problème a été résolu en ajoutant au /etc/PolicyKit/PolicyKit.conf entre les balises <config> :
<match user="$USER">
<match action="org.freedesktop.hal.storage.*">
<return result="yes"/>
</match>
<match action="hal-storage-mount-fixed-extra-options">
<return result="yes" />
</match>
<match action="hal-storage-mount-removable-extra-options">
<return result="yes" />
</match>
</match>
en remplaçant $USER par mon nom d'utilisateur.
(d'après http://bbs.archlinux.org/viewtopic.php?pid=495438)

Publié : dim. 08 févr. 2009, 19:54
par trizolakai
Merci pour l'astuce.

Le hic, c'est qu'on est obligé de rajouter chaque utilisateur à la main. J'ai essayé rapidement de ne mettre que les attributs action ça na rien donné.

J'ai fais un

Code : Tout sélectionner

man PolicyKit.conf
Et il n'y a que user et action à mettre en attribut dans les elements match, je pensais trouver un group ou quelque chose se rapprochant...

Si vous avez une piste pour faire plus propre je vous écoute. Le mieux serait d'autoriser un groupe entier.

ps : Pour mettre plusieurs utilisateur on fait :
<match user="$USER|$USER2|...">

Publié : mar. 10 févr. 2009, 21:59
par littlenemo
Bonjour,

pour avoir chercher longtemps :evil: il n'y a pas de metode pour autoriser un groupe avec policyKit http://lists.freedesktop.org/archives/p ... 00061.html
bien que sur le forum officiel une solution est proposée: http://bbs.archlinux.org/viewtopic.php?id=65070
Mais chez moi ça ne fonctionne pas (utiliser une variable d'environnement dans PolicyKit.conf).

Histoire de ne pas rester sur du négatif, je vous rajoute une astuce personnel:
Si Networkmanager ne fonctionne plus chez vous, ajouter ceci au fichier /etc/PolicyKit/PolicyKit.conf

Code : Tout sélectionner

<match user="root">
        <match action="org.freedesktop.NetworkManager.*">
            <return result="yes"/>
        </match>
</match>
En espérant que ça aide quelqu'un.

Publié : mer. 11 févr. 2009, 01:54
par tuxce
pas besoin de modifier les fichier de conf, en fait le dernier hal (qui était pendant un moment dans testing) est configuré par défaut avec consolekit, ce dernier applique certaines autorisations/interdiction supplémentaires, si vous êtes sous gnome vous pouvez les modifier en lançant:

Code : Tout sélectionner

polkit-gnome-authorization
pour kde:

Code : Tout sélectionner

polkit-kde-authorization
par défaut le propriétaire de la console (en gros, celui qui est connecté) a le droit de monter les périphériques de stockage, mais pour qu'il reconnaisse celui qui est connecté, il faut lancer votre environnement de la façon suivante:

Code : Tout sélectionner

ck-launch-session <executable de votre session>
par exemple pour openbox si vous utiliser xinitrc:

Code : Tout sélectionner

exec ck-launch-session openbox-session
pour gnome (kde je suppose aussi) consolekit est démarré par gnome-session, pas besion de la rajouter.

Publié : sam. 14 févr. 2009, 14:47
par Skunnyk
Merci pour ces précisions, dommage qu'il n'y ai pas eu de news officielles à ce sujet (c'est pas comme si 'était un point bloquant).. En attendant j'étais revenu sur la version antérieur de hal pour pas me prendre la tête, je vais tester avec ck-launch-session

Publié : sam. 14 févr. 2009, 23:05
par tuxce
pas une mauvaise idée, voilà qui est réparé:
http://archlinux.fr/news/news-archlinux ... .11-7.html
je m'attaquerai à une petite page wiki prochainement.

Publié : sam. 14 févr. 2009, 23:33
par Skunnyk
Merci (rajoute ck-launch-session fonctionne parfaitement, testé avec xfce) :)
J'essais de compléter le wiki pour xfce rapidement :)

Publié : dim. 15 févr. 2009, 10:25
par Calimero
tuxce a écrit :pour kde:

Code : Tout sélectionner

polkit-kde-authorization
Sous KDE3, y'a pas ! Je suis très embêté...
Qu'est-ce que je fais ?

Publié : dim. 15 févr. 2009, 12:11
par Ghostofkendo
Merci à tous pour ces réponses et explications.

Mais comme calimero, j'utilise KDE(mod) 3 et le paquet policykit-kde qui fourni polkit-kde-authorization est pour KDE 4.2.
Est-ce qu'il y a une alternative pour KDE 3 ou bien est-ce que éditer soit même PolicyKit.conf est la seule autre solution ?

Et à propos de ck-launch-session, est-ce que quand on utilise pas xinit, KDM (ou GDM) se charge d'exécuter ça tout seul ?

Bye

Publié : dim. 15 févr. 2009, 12:25
par Calimero
J'ai fini par bourrer mon PolicyKit.conf d'autorisations diverses et variées...

Publié : dim. 15 févr. 2009, 22:59
par tuxce
Calimero a écrit :J'ai fini par bourrer mon PolicyKit.conf d'autorisations diverses et variées...
Ce qui ne sert strictement à rien, autant recompiler hal sans policykit.
Si tu démarres HAL, autant démarrer ConsoleKit
Ghostofkendo a écrit : Mais comme calimero, j'utilise KDE(mod) 3 et le paquet policykit-kde qui fourni polkit-kde-authorization est pour KDE 4.2.
Est-ce qu'il y a une alternative pour KDE 3 ou bien est-ce que éditer soit même PolicyKit.conf est la seule autre solution ?
il faut chercher un peu, policykit est fourni avec des outils comme tout soft, notamment:

Code : Tout sélectionner

polkit-action
et

Code : Tout sélectionner

polkit-auth
le premier permet d'avoir des infos sur les actions et le deuxième permet de spécifier les autorisations explicites.
exemple pour permettre le montage pour un utilisateur précis (en root):

Code : Tout sélectionner

polkit-auth --user login_utilisateur --grant org.freedesktop.hal.storage.mount-removable
Ghostofkendo a écrit : Et à propos de ck-launch-session, est-ce que quand on utilise pas xinit, KDM (ou GDM) se charge d'exécuter ça tout seul ?
vu que kde3 n'intégrait pas encore policykit, il faut le spécifier explicitement, tu peux soit modifier le .desktop permettant de lancer la session, soit spécifier au gestionnaire d'utiliser xinitrc et de le mettre dedans.

Dans tout ça, il y a aussi un connecteur PAM pour spécifier que l'utilisateur connécté a les droits, mais j'ai pas encore testé, promis, je metterai un wiki dès que j'aurai fait le tour.

Publié : sam. 21 févr. 2009, 20:54
par skelettor
Salut tout le monde,

Alors peut être que j'ai pas tout compris aux explications ci-dessus mais j'ai bien policykit, consolekit d'installer et j'utilise KDM pour me logger sur ma session KDE 4.

Donc un appel a ck-list-sessions me donne :

Code : Tout sélectionner

Session2:
        unix-user = '1000'
        realname = 'Skelettor,,,'
        seat = 'Seat1'
        session-type = ''
        active = TRUE
        x11-display = ':0'
        x11-display-device = '/dev/tty7'
        display-device = ''
        remote-host-name = ''
        is-local = TRUE
        on-since = '2009-02-21T17:28:48.617085Z'
        login-session-id = ''
PolicyKit est configuré comme suit :

Code : Tout sélectionner

[skelettor@skelettor-pc ~]$ polkit-action --action org.freedesktop.hal.storage.mount-removable
action_id:        org.freedesktop.hal.storage.mount-removable
description:      Mount file systems from removable drives.
message:          System policy prevents mounting removable media
default_any:      no
default_inactive: no
default_active:   yes
Mais j'ai toujours le message d'erreur :

Code : Tout sélectionner

Une erreur est survenue en tentant USB-DISK. Message reçu : 
org.freedesktop.Hal.Device.PermissionDeniedByPolicy: hal.storage.mount-removable-extra-options no <-- (action, result)
Les lignes à ajoutées dans /etc/PolicyKit/PolicyKit.conf sont obligatoire ?
Dans ce cas la ça m'embete un peu car ça outrepasse les droits de PolicyKit ?

Merci d'avance,
@+

Publié : sam. 21 févr. 2009, 22:15
par tuxce
elle serait pas en ntfs ta clé ?

Publié : sam. 21 févr. 2009, 23:45
par skelettor
Euh oui mon disque est en NTFS mais j'ai bien ntfs-3g d'installer et pis il se montait bien avant la mise ajour de hal.

@+

Publié : dim. 22 févr. 2009, 16:43
par tuxce
skelettor a écrit :et pis il se montait bien avant la mise ajour de hal.
mais il n'y avait aucune gestion de droits avant la mise à jour de hal ;)

c'est pas lié à ntfs-3g, mais hal à la version actuelle (d'arch) ne gère toujours pas les permissions (de montage...) sur des partitions en ntfs, et pour une raison que j'ignore, le mainteneur du paquet a rajouté l'action "hal.storage.mount-removable-extra-options" (qui n'est même pas une action valable) et qui n'est indiquée dans aucun fichier Policykit, donc pour l'instant, une modif du fichier /etc/PolicyKit/PolicyKit.conf:

Code : Tout sélectionner

<match action='hal-storage-mount-removable-extra-options'>
  <return result="yes"/>
</match>
devrait faire l'affaire.

-> #13410

[EDIT] pour la raison de l'ajout de l'action qui n'en est pas une -> http://bbs.archlinux.org/viewtopic.php?id=39589 (ça date)[/EDIT]

Publié : dim. 22 févr. 2009, 21:48
par _alexmyself

Code : Tout sélectionner

bash-3.2# pacman -S tuxce
le paquet tuxce est introuvable, recherche du groupe...
Erreur: 'tuxce': non trouvé dans les dépôts
dommage...
:D :D :D

Publié : sam. 28 févr. 2009, 14:37
par skelettor
Ok merci pour les informations.
Bon bah on va ajouter ça dans /etc/PolicyKit/PoliciKit.conf en attendant la prochaine mise à jour de hal.

@+