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 27/02/2012, à 22:58

Levi59

Controle de chromium-browser depuis la console.

Bonjours à tous!

J'aimerais savoir si il existe un moyen de connaitre le nombre d'onglets ouverts depuis la console dans chromium-browser.

Également si possible leur état, c'est à dire si ils sont en train de charger, si le chargement de la page est terminé et, si ça passe par le même processus, pouvoir également fermer des onglets précis (par exemple les onglets chargés).

Hors ligne

#2 Le 27/02/2012, à 23:11

sputnick

Re : Controle de chromium-browser depuis la console.

Abonnement.

Je pense pas que ça soit possible facilement.

L'endroit où les URLs sont présentes est Default/Current Session mais c'est un fichier binaire.

Il faudrais regarder le code source de chromium pour pouvoir éventuellement exploiter ce fichier, comprendre comment il est lu. Il est dommage que chrome et donc chromium n'utilise pas un format ouvert comme json, xml, sqlite...

Edit1 :

$ tar xjf chromium-17.0.963.56.tar.bz2
$ du -sh chromium-17.0.963.56/
992M    chromium-17.0.963.56

Edit2 :
Le fichier ./chrome/browser/sessions/session_backend.cc semble intéressant

Dernière modification par sputnick (Le 27/02/2012, à 23:20)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 28/02/2012, à 11:36

Levi59

Re : Controle de chromium-browser depuis la console.

J'aurais espéré trouver une solution plus simple mais bon hmm

./chrome/browser/sessions/session_backend.cc est un fichier de la source de chrome c'est ça?

Je vais devoir me plonger dans le code mais honnêtement je ne sais même pas comment passer du C au bash ou autre... Je verrais bien si je trouve déjà la solution dans la source.

Merci de ton aide!

Hors ligne

#4 Le 28/02/2012, à 14:29

sputnick

Re : Controle de chromium-browser depuis la console.

Levi59 a écrit :

J'aurais espéré trouver une solution plus simple mais bon hmm

moi aussi

./chrome/browser/sessions/session_backend.cc est un fichier de la source de chrome c'est ça?

Oui

Je vais devoir me plonger dans le code mais honnêtement je ne sais même pas comment passer du C au bash ou autre... Je verrais bien si je trouve déjà la solution dans la source.

J'en ai bien peur. Autant rester en C++ direct (c'est pas du C classique mais du C++)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#5 Le 29/02/2012, à 14:34

Levi59

Re : Controle de chromium-browser depuis la console.

J'ai peut-être trouvé une solution détournée mais j'ai encore un problème.

En utilisant cette commande, je peux voir les processus occupés par un/plusieurs onglet(s) :

pgrep -fl chromium | grep renderer | wc -l

Mon problème c'est évidement que le nombre d'onglets dans un même processus n'est pas forcement de 1. En fait lorsque je lance 2 URLs depuis le terminal, j'obtiens 2 processus :

akira@virtualcrunchbang:~/urls$ chromium-browser www.google.fr
akira@virtualcrunchbang:~/urls$ chromium-browser www.google.com
Created new window in existing browser session.
akira@virtualcrunchbang:~/urls$ pgrep -fl chromium | grep renderer | wc -l
2

Par contre si je lance ces 2 URLs depuis un script, ces 2 onglets s'ouvrent dans le même processus. J'ai écrit un script d'exemple qui correspond à mon script :

while read
   do (chromium-browser www.site.fr/$REPLY) &
done < <(echo "bla
bli
blo")

Le resultat c'est que toutes les urls s'ouvrent dans le même processus.

akira@virtualcrunchbang:~/urls$ bash /home/akira/test.sh 
akira@virtualcrunchbang:~/urls$ pgrep -fl chromium | grep renderer | wc -l
1

J'ai repéré que 1 domaine = 1 processus. Si je fais www.site.com au lieu de .fr, il créé un nouveau processus.

J'ai essayé de rajouter l'option --process-per-tab mais ça ne change rien. J'aimerais savoir si il existe un moyen de désactiver cette fonction de regroupement des urls.

EDIT :
Les processus par onglet fonctionne maintenant. En fait par commodité je lançais chromium avant le script et du coups, celui ci n'avait pas l'option d'activée. Je devrais obtenir les résultats recherchés maintenant. Merci de ton aide!

Je laisse ouvert dans le cas où d'autres solutions apparaitraient.

Dernière modification par Levi59 (Le 29/02/2012, à 16:33)

Hors ligne

#6 Le 29/02/2012, à 19:49

Levi59

Re : Controle de chromium-browser depuis la console.

Bon j'arrive à tuer un onglet via le PID de son processus mais le problème c'est que l'onglet reste ouvert avec l'image du crash. J'aimerais trouver un moyen de fermer l'onglet complètement.

Je doute de pouvoir contourner cette fois ci...

Hors ligne

#7 Le 06/02/2013, à 09:07

sabnac

Re : Controle de chromium-browser depuis la console.

Salut,

Je souhaiterais faire la même chose, fermer l'onglet dont le PID a été tué.
As-tu eu du nouveau?

Hors ligne

#8 Le 23/02/2013, à 01:47

Levi59

Re : Controle de chromium-browser depuis la console.

non désolé, j'ai fini par abandonner cette voix pour passer à un script greasemonkey. Bon courage dans tes recherches.

Hors ligne