IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Affichage parasite avec nohup


Sujet :

Shell et commandes GNU

  1. #21
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Par défaut
    Bonjour,
    Je suis d'accord pour les fichiers .desktop.
    Par exemple pour xcalc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exec='/home/alain/bin/ctac authentication agent' '/usr/bin/xcalc'
    Pourquoi persistes-tu à me dire que la bonne commande est celle que tu donnes puiqu'elle me retourne une erreur comme spécifié ici:
    https://www.developpez.net/forums/d2.../#post11417715

    Il n'y a aucun intérêt de lancer xcalc en root mis a part le fait de m'indiquer que ta commande présente un défaut qui doit être corrigé.
    Ce problème pourrait certainement se produire pour un autre programme.

    Que se passe t'il ici ?
    Je pense que xcalc reçoit en paramètre une chaîne vide dont il ne sait que faire puisque ça ne correspond a aucune de ses options et retourne donc une erreur.

    La commande qui fonctionne est celle ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            -e 'pkttyagent &
               nohup pkexec '"'$1'"' '"${2:+'$2'}"' > /tmp/leret$org 2>/tmp/leret$org 0<&-' &
    Je pense que cette commande qui n'a pas de sens (ou en tout cas aucun intérêt) permet de transformer $2 (une chaîne vide) en rien, ce qui fait que xcalc ne reçoit aucun paramètre et s'exécute correctement.

    Après, concernant les problèmes particuliers qu'il peut y avoir avec thunar ou mousepad, c'est autre chose.
    Effectivement, je m'aperçoit que chaque fois que je lance mousepad ou thunar en root et que ça ne fonctionne pas, j'obtiens une ligne comme suit dans /var/log/user.log
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mar 13 17:20:32 debian-linux [3502]: Name org.xfce.Xfconf lost on the message dbus, exiting.
    Donc, c'est bien comme sur OpenBSD, il y a un problème avec xfconf.

    Mais soit dit en passant, ces applis ne sont pas faites pour être lancées en tant que root, et il n'y a pas de bonne raison de le faire.
    Ici, je suis surpris.
    Pour mousepad:
    Ne t'arrive t'il jamais de modifier un fichier de configuration système ?
    Pour thunar:
    Comment fait tu pour accéder au répertoire /var/log/lightdm par exemple ?

    En tous cas, merci à tous pour la suppression de l'affichage parasite de nohup et la simplification de mon code.
    Il me reste maintenant a retrouver xfconf dans le message bus!
    Cordialement.

  2. #22
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Citation Envoyé par ctac_ Voir le message
    Pourquoi persistes-tu à me dire que la bonne commande est celle que tu donnes puiqu'elle me retourne une erreur comme spécifié ici:
    https://www.developpez.net/forums/d2.../#post11417715
    Parce que c'est la bonne commande
    Mais tu as raison, il ne faut pas toujours entourer $2 de guillemets, sinon pkexec passe une chaine vide à xcalc qui ne sait pas quoi en faire : je n'ai pas pu bien tester ça, car chez moi, le lancement de xcalc par pkexec refuse tout simplement de se faire.
    En fait, je pensais à tort que pkexec « faisait le tri », et ne passait pas une chaine vide à la commande qu'il lance.
    Donc, en reprenant ton idée (qui a bien du sens et un intérêt) du développement de paramètre seulement s'il est non vide, on peut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -e "pkttyagent &
              nohup pkexec '$1' ${2+'$2'} >/tmp/leret$org 2>/tmp/leret$org 0<&-" &
    C'est quand même mieux qu'avec tous ces guillemets simples / doubles dans tous les sens, non ? (et comme ça, tu n'as pas besoin d'exporter org)
    Citation Envoyé par ctac_ Voir le message
    Ici, je suis surpris.
    Pour mousepad:
    Ne t'arrive t'il jamais de modifier un fichier de configuration système ?
    Pour thunar:
    Comment fait tu pour accéder au répertoire /var/log/lightdm par exemple ?
    Si je modifie un fichier système, je le fais avec vim, et si jamais je voulais le faire avec mousepad, je ferais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SUDO_EDITOR=mousepad sudoedit fichier
    Ainsi, mousepad est lancé avec les droits de simple utilisateur, toutes les modifs, jusqu'à l'enregistrement, sont faites sur un fichier temporaire, et c'est seulement à la fermeture de mousepad que les droits d'admin sont utilisés, pour copier le fichier temporaire sur le fichier cible.
    Quant aux répertoires système qui ne sont pas lisibles ou traversables en tant que simple utilisateur, j'y accède en ligne de commande, pas via un gestionnaire de fichiers graphique (de même que pour tous les répertoires système en fait).

  3. #23
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 431
    Par défaut
    Perso, je rajouterai un sleep 1 juste après le pkttyagent &, histoire de lui laisser le temps de démarrer avant de lancer une commande qui l'utilise...

  4. #24
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Par défaut
    Bonjour,
    -e "pkttyagent &
    nohup pkexec '$1' ${2+'$2'} >/tmp/leret$org 2>/tmp/leret$org 0<&-" &
    effectivement, ça fonctionne ainsi et c'est bien plus simple. merci.
    Le nez dans le guidon...
    Perso, je rajouterai un sleep 1 juste après le pkttyagent &, histoire de lui laisser le temps de démarrer avant de lancer une commande qui l'utilise...
    C'est une bonne idée qui malheureusement ne fonctionne pas ni sur debian, ni sur OpenBSD.
    Quoi que je lance, j'obtiens une messagebox sans texte avec mon bouton Dommage.
    Cordialement.
    [Edit]
    En prolongeant le sleep qui vient juste après le lancement de xterm, ça va tout de suite mieux.
    Merci bien.

  5. #25
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Par défaut
    Citation Envoyé par balkany Voir le message
    je n'ai pas pu bien tester ça, car chez moi, le lancement de xcalc par pkexec refuse tout simplement de se faire.
    C'est expliqué pourquoi ici https://forum.openbsd.fr.eu.org/show...20104#pid20104 dans le message sur openbsd.fr.eu.org
    Cordialement.

  6. #26
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Oui, effectivement : j'étais dans le cas « Can't open display », et en rajoutant les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/xcalc</annotate>
        <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
    au fichier /usr/share/polkit-1/actions/org.freedesktop.policykit.policy, xcalc se lance bien via pkexec.
    Cela dit, je vais m'empresser de remettre en place la politique par défaut.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. probleme avec nohup
    Par brunolekid dans le forum Administration système
    Réponses: 3
    Dernier message: 09/11/2009, 10h01
  2. Parasites avec Logitech G51
    Par math62 dans le forum Périphériques
    Réponses: 1
    Dernier message: 16/06/2008, 18h44
  3. Parasites avec Logitech G51
    Par Mistic100 dans le forum Périphériques
    Réponses: 7
    Dernier message: 28/03/2008, 17h28
  4. cadre parasite avec IE
    Par ffbb dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/01/2008, 08h28
  5. Caractère parasite avec Jmail
    Par copin dans le forum ASP
    Réponses: 3
    Dernier message: 22/11/2007, 12h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo