Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/10/2018, à 15:43

percherie

Presque fini : extraire donnée de "ps wwwwaux | grep auth"

Bonjour,

Grâce à quelques infos trouvé sur le forum j'ai presque fini un ligne de commande qui permet d'extraire l'adresse du fichier MIT-MAGIC-COOKIE du gestionnaire de connexion. Ce sera à utiliser pour x11vnc.

L'ensemble fonctionne sur un système uniquement, ce que j'ai fait avec cut ne permet pas de s'adapter à la position de ce que je cherche à extraire. Je cherche à extraire -auth /var/run/lightdm/root/:0, j'ai donc utilisé le code suivant

ps wwwwaux | grep auth

qui me retourne comme convenu

root      1204  2.6  1.0 446424 84680 tty7     Ssl+ 15:06   2:12 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
percher+  1995  0.0  0.2 332904 19976 ?        Sl   15:08   0:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
percher+  4103  0.0  0.0  14264   960 pts/0    S+   16:28   0:00 grep --color=auto auth

Je cherche à extraire -auth /var/run/lightdm/root/:0, j'ai donc utilisé le code suivant qui fonctionne

ps wwwwaux | grep auth | awk '/root/' | cut -d " " -f 29,30

qui me retourne comme convenu

-auth /var/run/lightdm/root/:0

malheureusement sur d'autre système, ce que je cherche à extraire n'est pas obligatoirement au même emplacement comme ci-dessous où la chaîne à extraire est une colonne plus à droite

root       754  0.3  2.0 401468 80984 tty7     Ssl+ oct.16   4:13 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
kodi      1264  0.0  0.5 336768 21204 ?        Sl   oct.16   0:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
root     14215  0.0  0.0  15664  1028 pts/0    S+   16:31   0:00 grep --color=auto auth

Si je reprend mon code j'ai ce retour

ps wwwwaux | grep auth | awk '/root/' | cut -d " " -f 29,30
seat0 -auth

Existe il une méthode pour couper par le caractère espace et d'identifier le numéro de colonne correspondant à "-auth", il suffirait d'ajouter +1 pour afficher la chaîne suivante : "/var/run/lightdm/root/:0"

A moins qu'il existe quelque chose de plus simple.


Nomade en camion utilisant Ubuntu. Si vous souhaitez suivre mes voyages : http://toutenkamion.net/

Hors ligne

#2 Le 17/10/2018, à 15:46

percherie

Re : Presque fini : extraire donnée de "ps wwwwaux | grep auth"

Je suis en train de mettre à jour la doc de x11vnc et pour information selon les gestionnaire de connexion la chaîne à extraire est différente

gdm:      -auth /var/gdm/:0.Xauth
              -auth /var/lib/gdm/:0.Xauth
kdm:      -auth /var/lib/kdm/A:0-crWk72
              -auth /var/run/xauth/A:0-crWk72
xdm:      -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
lightdm: -auth /var/run/lightdm/root/:0
dtlogin:  -auth /var/dt/A:0-UgaaXa


Nomade en camion utilisant Ubuntu. Si vous souhaitez suivre mes voyages : http://toutenkamion.net/

Hors ligne

#3 Le 17/10/2018, à 17:35

Postmortem

Re : Presque fini : extraire donnée de "ps wwwwaux | grep auth"

Salut,

ps wwwwaux | sed -n '/[-]auth/ s/.*\([-]auth [^ ]*\).*/\1/p'

Edit : en plus cours :

ps wwwwaux | sed -n 's/.*\([-]auth [^ ]*\).*/\1/p'

Re-edit ;
Ou même simplement avec grep (j'oublie souvent cette sympathique option -o) :

ps wwwwaux | grep -o '[-]auth [^ ]*'

Re-re-edit :
Et même, pour être certain de sélectionner le process Xorg (et pas un autre qui aurait aussi la chaîne "-auth") :

pgrep -a Xorg | grep -o '[-]auth [^ ]*'

Dernière modification par Postmortem (Le 17/10/2018, à 17:48)


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#4 Le 17/10/2018, à 18:21

percherie

Re : Presque fini : extraire donnée de "ps wwwwaux | grep auth"

Tu est un grand malade ;-)

Professionnellement parlant quelle est la voie que tu me conseillerai pour m'approcher du niveau de compétence que tu a ? Est ce que l'auto-formation peu suffire ou y a t'il des formations à suivre ?


Nomade en camion utilisant Ubuntu. Si vous souhaitez suivre mes voyages : http://toutenkamion.net/

Hors ligne

#5 Le 17/10/2018, à 20:33

Postmortem

Re : Presque fini : extraire donnée de "ps wwwwaux | grep auth"

J'ai beaucoup beaucoup appris ici ou sur developpez.net (y'a quelques pointures du bash et du shell en général là-bas).

Pour tout ce qui est commandes sed, awk, grep etc, la doc du site gnu.org est top. Bon, c'est la doc de la version GNU de ces commandes mais souvent, y'a des exemples qui expliquent les différences avec les commandes "historiques". Mais faut se la farcir !

Et bien sûr, y'a ça pour bash : https://abs.traduc.org/abs-fr/ (je te le conseille fortement).


Sinon, j'ai eu 2 formations shell avec ma boîte mais bon, c'était pas top top. Ça m'a appris à faire des commandes comme tu as fait (des "commande | grep...  | cut... | etc..."). C'est un début hein, c'est bien. Mais tu apprendras vite que dès que tu as ce genre de chose, un awk suffit en général !
Puis un truc qu'on m'a jamais appris dans ces formations, c'est ce que fait bash (ou n'importe quel shell) avant d'exécuter la commande que tu as tapée. Quand t'as compris ça, tu comprends tout de suite pourquoi on ne fait pas ça par exemple :

for fic in $(ls *.txt); do ... ; done

Mais plutôt :

for fic in *.txt; do ... ; done

Ah et sinon, tu peux lire les messages de pingouinux, Watael, Hizoka (et d'autres dont les pseudos m'ont échappé ) ici même. Ouai je balance !

Ah, et tant que j'y suis, y'a 2 personnes ici qui étaient vraiment super douées, mais qu'on ne voit plus il me semble, hélas 3 fois hélas, tiramiseb et totor (ce dernier, c'etait une bête, merci à lui !)

Ps: désolé si j'ai écorché des pseudos.


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne