xhost

rainbowcrypt Membre non connecté
-
- Voir le profil du membre rainbowcrypt
- Inscrit le : 02/06/2011
j'ai un problème avec xhost. J'utilise crontab pour lancer des appli graphique. Pour cela j'ai besoin d'activer xhost. Au lieu de faire un bête "xhost +" qui ouvrirait l'accès à mon écran "au monde entier", je voulais la jouer plus fine en faisant "xhost +local:"
Cela marche très bien pendant la session, le résultat de la commande "xhost" est bien :
"access control enabled, only authorized clients can connect
LOCAL:"
Le problème est que lorsque je redémarre, les droits d'accès de xhost deviennent :
access control enabled, only authorized clients can connect
INET:localhost"
et les applis lancées par crontab ne se lancent plus ("Can't open display: :0")
si je refais un "xhost +local:", le résultat de "xhost" est
"access control enabled, only authorized clients can connect
LOCAL:
INET:localhost"
les applis se lancent, et c'est rebelotte au prochain redémarrage!
Est-ce un comportement normal de xhost??
comment faire pour donner "définitivement" les droits nécessaires à mon crontab?
merci.

Yann Membre non connecté
-
- Voir le profil du membre Yann
- Inscrit le : 10/11/2007
- Groupes :
un fichier texte nommé xhost.sh dans ton /home/utiilsateur qui contient
su -
ton mot de passe root
xhost +local
Je ne me souviens plus si une autre commande est nécessaire pour fermer la console afin de ne pas laisser une console root ouverte.
Pour plus d'informations tu devrais compléter ton profil pour que nous sachions par exemple si tu es sous KDE ou autres afin de t'indiquer comment lancer ce fichier au démarrage.
amicalement, Yann.
Mageia 9 64 XFCE sur mon bureau et sur mon portable.
Mageia 9 64 XFCE sur mon bureau et sur mon portable.

rainbowcrypt Membre non connecté
-
- Voir le profil du membre rainbowcrypt
- Inscrit le : 02/06/2011
Merci pour l'aide. J'ai complété le profil : je suis sous Gnome (principalement parce que xfce plante

Voici quelques infos supplémentaires qui aideront peut-être :
pas besoin de redémarrer, une simple déconnexion suffit à recréer le problème.
En voyant le script que Yann propose, j'ai lancé xhost en mode "sudo", mais cela n'a rien changé.
Je ne suis pas contre le principe du script, mais je trouve que parfois (et en particulier dans ce cas) cela ressemble plus à du sparadrap qu'à une véritable réparation.
Mes questions sont :
1) Est-ce normal que "LOCAL:" se transforme à la déconnexion en "INET:localhost". (c'est vrai que cela se ressemble!)
2) Pourquoi le "INET:localhost" ne fonctionne pas?
Merci,

rainbowcrypt Membre non connecté
-
- Voir le profil du membre rainbowcrypt
- Inscrit le : 02/06/2011
je reviens à la charge.
J'ai fait quelques recherches sans résultats. Tout d'abord je précise que quelque soit la commande que je tape (xhost +, xhost -, xhost +destrucs) lors de la déconnexion/reconnexion, c'est toujours le "INET:localhost" qui est activé (donc même si je le retire de la liste!!)
J'ai l'impression qu'il y a un endroit où il y a une config (gnome ou mageia??) qui dit "retire tous les clients autorisés et ne remet que INET:localhost" !?
J'ai tenté le script de démarrage :
Code BASH :
#!/bin/bash xhost +local:
que j'ai mis dans /etc/init.d. J'ai fait 2 liens dans les répertoires /etc/rc3.d et rc5.d. Mais non, cela ne change rien!!
Je n'y comprends rien!
La dernière solution à laquelle j'avais pensé et que je n'ai pas testé car je la trouve vraiment bourrine, est de mettre un coup de "xhost +local:" à la fin de mon .bashrc ... cela résoudra (si ça marche, j'en suis même pas sûr!) le problème d'ouverture d'xterm, mais pas pour les autres applis graphiques!
Si quelqu'un pouvait m'aider ce serais super, je suis au bout du rouleau

[EDIT]
je suis bête, même le coup du .bashrc ne peut pas marcher puisque le droit d'accès à X doit être donné AVANT que le xterm ne s'ouvre!!

Si cela peut aider : le problème est la même sous xfce4, donc cela ne vient pas de gnome...
[EDIT]
Édité par rainbowcrypt Le 15/06/2011 à 16h34

PaLmAs Membre non connecté
-
- Voir le profil du membre PaLmAs
- Inscrit le : 02/04/2007
- Groupes :
connait pas xhost, mais as tu bien rendu ton xhost.sh exécutable ? tu doit le lancer en root ?
essaye avec un simple script qui démarre après la session gnome. du style:
sleep 30
gksu xhost+local: (gksu juste si tu dois le lancer en root, sleep 30 ->attendre 30 seconde avant de la lancer)
tu mets ça dans un fichier xhost.sh et tu va dans système->le machin qui lance les applications au démarrage (me souvient plus du nom)
si ça marche rajoute le sleep dans ton /etc/init.d/xhost.sh


rainbowcrypt Membre non connecté
-
- Voir le profil du membre rainbowcrypt
- Inscrit le : 02/06/2011
merci PaLmAs.
Bien sûr mon script est exécutable et je n'avais pas besoin de le lancer en root.
Rajouter le sleep 30 n'a pas servit.
Par contre, j'ai fait un truc vraiment bête, j'aurais dû commencer par là : Dans le menu préférences/Applications au démarrage justement, j'ai rajouter la commande "xhost +loca:" (sans même la mettre dans un script).
Cette fois cela marche!

Bon cela résous mon problème, mais cela ne répond pas à la question : Qu'est-ce qui se passe!?
Quel paramètre/programme certainement de mageia met le xhost exclusivement en mode "inet:localhost". Il n'est pas installé depuis assez longtemps pour que j'ai touché à quelque chose sans que je m'en souvienne

Suis-je le seul à qui cela arrive??

PaLmAs Membre non connecté
-
- Voir le profil du membre PaLmAs
- Inscrit le : 02/04/2007
- Groupes :


rainbowcrypt Membre non connecté
-
- Voir le profil du membre rainbowcrypt
- Inscrit le : 02/06/2011
J'ai regardé dans /etc/X* et je ne rien trouvé d'intéressant...
J'ai fait un petit tour sous mandriva pour voir ce qui s'y passait.
De la même manière, à chaque connexion, le xhost est réinitialisé, mais il est réinitialisé à "inet:localhost.localdomain"
cette différence minime fait que le lancement d'appli graphique par crontab fonctionne sans problème.
dans le même ordre d'idée, j'ai comparé les fichiers /etc/hosts:
mageia : 127.0.0.1 localhost
mandriva : 127.0.0.1 localhost.localdomain localhost
Du coup, grâce à drakhosts j'ai fait les modifié mon host name et mon host aliase pour qu'il soit comme sous mandriva. Le xhost ne réinitialise bien à localhost.localdomain (donc ça doit être un comportement normal de xhost)
et devinez quoi? Bin ça marche toujours pas :-(
Je ne comprends vraiment pas! mon $DISPLAY est bel et bien :0, les droits d'accès sont corrects, et pourtant ça marche pas


rainbowcrypt Membre non connecté
-
- Voir le profil du membre rainbowcrypt
- Inscrit le : 02/06/2011
pensez-vous que c'est tout simplement un bug et que je devrais le soumettre à bugzilla??

chla Membre non connecté
-
- Voir le profil du membre chla
- Inscrit le : 07/06/2011
je ne comprends pas trop ton besoin de crontab pour lancer des applis graphiques... que lances-tu exactement et pour quel besoin?
Les crontab sont prévus pour lancer des applications en tâches de fond et donc sans interface graphique !
Normalement, si tu souhaites surveiller une activité en particulier, il est d'usage d'avoir une application graphique dédiée à cette surveillance pour afficher des informations à l'opérateur. C'est à cela que servent les plasmoides de KDE par exemple.
Merci d'éclairer ma lanterne sur tes besoins pour que je puisse mieux appréhender ton besoin et trouver une solution à ton problème.
A plus.

rainbowcrypt Membre non connecté
-
- Voir le profil du membre rainbowcrypt
- Inscrit le : 02/06/2011
merci de t'intéresser à mon problème

Tout d'abord, ma première question est pourquoi cela ne fonctionne pas sur mageia, alors que cela fonctionne sur mandriva (j'avais cru comprendre que mageia 1 était quasi un clone de mandriva 2010 avec "juste" un nettoyage de tout ce qui était "droit" et "propriétaire".
Sinon pour éclairer ta lanterne, et si tu me donnes une autre solution cela me convient

Ce que je fais (pour l'instant) c'est juste des enregistrements de la tnt. Grâce à crontab je lance à une heure précise, de manière répétée ou non, une commande d'enregistrement.
Cette commande se fait par l'intermédiaire d'un logiciel (dvbt-multirec) qui est en ligne de commande. Effectivement il semblerait qu'il n'y ait pas besoin d'interface graphique. Sauf que sans une petite fenêtre qui s'ouvre pour me dire "ha au faite il y a ton enregistrement qui commence", et surtout qui me dit "he! ducon si tu regardes une autre chaîne avec un autre logiciel tv, je ne vais pas pouvoir prendre la main" ou encore "houhou, ya un problème, je ne trouve pas le tuner, la rallonge usb ne se serait pas encore débranchée par hasard??"

C'est pour cela que cette commande, je la lance dans une "xterm" : crontab lance une xterm qui lance la commande.
Pour l'instant j'ai fait un petit programme en C qui me permet de gérer mes enregistrements et de faire les programmations de crontab. Le jour où j'aurais le temps, promis je me pencherai sur la manière de laisser mon prog tourner en taĉhe de fond, lui permettant de lancer à des heures précises les commandes qu'il faut. Pour l'instant je n'en ai pas encore les compétences et crontab me paraissait la solution la plus simple.
Merci encore des solutions que tu (ou d'autres) pourrais (ou pourraient) m'apporter.

Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie