Transfert Agent Graphique polkit sur debian-linux
#1
Photo 

Bonjour,

Comme spécifié dans le titre, j'ai essayé mon agent graphique polkit sur debian-linux.

Plusieurs différences de comportement apparaissent.


1 - Mousepad se lance correctement sans générer de problème par rapport à xfconf.

Bug dans xfce sur OpenBSD ou problème de conf ?

Si quelqu'un a une idée ?


2 - nohup affiche un message au démarrage que je n'arrive pas a supprimer.

[Image: 1582400195.png]

La aussi, si quelqu'un a une idée ?


3 - Si je ferme la fenêtre xterm par la croix ou Alt-F4:

- sur OpenBSD le programme se termine tranquillement.

- sur debian, j'obtient un xmessage d'erreur sans texte.

J'ai résolu le probléme en contrôlant la présense de la fenêtre xterm mais il me semble que c'est un disfonctionnement sur OpenBSD de ne pas obtenir ce message.

Ici, également, si quelqu'un a une idée du pourquoi du comment ?


Code :
cat ctac_authentication_agent

#!/bin/sh


show_error()

  {

  xmessage -button 'Dommage' \

    -title 'Something goes wrong' \

    -fn $lafont \

    -xrm 'xmessage.form.message.scrollVertical:false' \

    -background gray \

    -foreground red \

    -geometry 600x100 \

    -xrm 'xmessage.form.Command.foreground:blue' \

    -timeout 5 \

    "$(sed 's/: /:@/g' $1 | tr @ '\n')" &

  }



trouvepid()

  {

  ps -a -c -o pid=,args= |

    grep $2 |

      while read lepid rest

        do

          case $# in

            2)

              if test $(ps -p $(ps -p $lepid -o ppid=) -o ppid=) -eq $1

                then

                  echo $lepid

                  break

              fi ;;

            *)

              if test $(ps -p $lepid -o ppid=) -eq $1

                then

                  echo $lepid

                  break

              fi ;;

          esac

        done

  }



export org=$$

export leprog=$1

export param=$2

lafont='-misc-fixed-bold*18*'

( xterm -hold \

        -geometry 80x10 \

        -xrm xterm*iconHint:/usr/X11R6/include/X11/pixmaps/mini.excl.xpm \

        -xrm 'xterm*scrollBar:false' \

        -fn $lafont \

        -fg blue \

        -bg gray \

        -title "$org-${1##*/} en Root" \

        -e 'pkttyagent &

          nohup pkexec $leprog $param >/tmp/leret$org'

) &

# nohup pour detacher le programme de la fenetre xterm

sleep 1



last=$!

# window id de la fenetre xterm

win_id=$(xwininfo -name "$org-${1##*/} en Root" |

  sed -n '2{s/.*: \([^ ]*\).*/\1/p;q

    }')

# changement du nom de la fenetre xterm

xprop -id $win_id -f WM_NAME 8u -set WM_NAME "${1##*/} en Root"



if ! test -s /tmp/leret$org

  then

# On cherche pkttyagent

    pktty=$(trouvepid $last [p]kttyagent)

    if test -n $pktty

      then

# On cherche le prog

        prog=$(trouvepid $last [p]kexec)

# On piste le helper

        pol=$(trouvepid $pktty [p]olkit-agent 1)

          while ps -p $pol

            do

              sleep 1

            done

    fi

fi



if ! test $prog

  then

# pkttyagent ou pkexec ont echoue

    show_error /tmp/leret$org

  else

    if ! test "$(ps -p $prog -o pid=)"

# le programme est absent

      then

        if test -n "$(sed -n '/^Error executing/p;q' /tmp/leret$org)"

          then

# mot de passe faux

            sleep 5

          else

# xterm clos ou programme inexistant

            if ! xprop -id $win_id || test -s /tmp/leret$org

              then

                show_error /tmp/leret$org

            fi

        fi

    fi

fi



kill $last

sleep 2

rm /tmp/leret$org


Merci.

Cordialement.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)