Linux : Utiliser Ice SSB avec Firefox Nightly
J’utilise depuis peu Peppermint, une distrib Linux basée sur LXDE, un environnement de bureau très léger. Celle-ci est livrée avec une application bien sympa : Ice. J’espère d’ailleurs pouvoir parler plus tard de cette distro..
Cet utilitaire permet de faire du SSB, Site Specific Browser. En gros, depuis le menu de navigation, il vous est possible d’ouvrir un en clic un site web avec votre navigateur, avec des configurations différentes (cookies, sessions), et une fenêtre directement dans le desktop et pas dans le browser.
Cela peut permettre de lancer le même site web avec des sessions différentes par exemple, et de profiter d’une page web sans tous les outils/parasites du navigateur.
Voilà comment s’affiche mon site web avec Ice :
Pas de fioriture ! De plus, sous Firefox je suis connecté en admin bien sûr, mais là, je ne suis qu’un visiteur. Car Ice stocke les informations relatives à chaque site dans un dossier séparé du navigateur (dans ~/.local/share/ice).
L’intérêt est bien moindre avec un simple blog, mais des plus pratiques avec une appli en ligne, comme un éditeur d’image simple.
Récupérer Ice
A ma connaissance, Peppermint est la seule distribution à proposer Ice, qui semble développé uniquement pour cette dernière. Mais comme je suis un mec sympa, j’ai fouiné un peu, et j’ai trouvé le paquet (au format .deb), si jamais ça vous tente. Désolé pour les autres, il vous reste les sources
Ice et ses limitations
Le problème d’Ice, c’est les navigateurs qu’il supporte. Dans sa version actuelle, la 5.2.7, il est uniquement possible d’utiliser Chrome, Chromium, Vivaldi et Firefox.
C’est déjà pas mal. Mais moi j’utilise la version Nightly de Firefox, la version de développement en somme. Cela me permet de tester les dernières fonctionnalités, comme la capture d’écran en ce moment, très pratique, mais aussi de participer à mon niveau à la remontée de bugs et de tests.
Du coup, au lancement du soft, j’ai droit à ce beau message, qui me dit qu’aucun navigateur supporté n’a été trouvé :
On voit d’ailleurs, sur la fenêtre derrière, que je ne peux en sélectionner aucun.
J’ai donc cherché le moyen d’utiliser Ice avec Nightly.
Comment ça marche ?
Avant de bidouiller quoi que ce soit, j’ai cherché à comprendre comment cela fonctionnait.
C’est très simple en fait : Quand vous créez un SSB avec Ice, celui-ci créé un fichier .desktop dans le dossier ~/.local/share/applications :
Le contenu de ces fichiers dépend évidemment des informations tapées à la création des liens. En voici un exemple :
[Desktop Entry] Version=1.0 Name=2D/3D Chess Comment=2D/3D Chess (Ice SSB) Exec=chromium-browser --app= Terminal=false X-MultipleArgs=false Type=Application Icon=chess Categories=GTK;Game; MimeType=text/html;text/xml;application/xhtml_xml; StartupWMClass=Chromium StartupNotify=true
Ce qui nous intéresse ici est la ligne mise en évidence :
Exec=chromium-browser.... C’est la commande qui sera lancée au lancement du SSB.
Une des solutions rapides est de modifier directement
chromium-browser -app=http://...par
firefox-trunk http://.... Pour ceux qui ne l’utilisent pas,
firefox-trunkest la commande qui lance Firefox Nightly.
Cela aura pour effet d’ouvrir Nightly directement à l’URL indiquée, mais pas en tant qu’application, simplement dans un nouvel onglet. Ce n’est pas le but désiré :/
A l’attaque
Nous allons nous servir de l’existant, à savoir les commandes pour Firefox, et les adapter à Nightly.
Création du script Nightly
Ouvrez le dossier /usr/bin et cherchez-y le script Python ice-firefox. Dupliquez le en le renommant ice-firefox-trunk, puis modifiez-le avec un éditeur de texte (droits root requis).
Cherchez la ligne ci-dessous :
execute = 'firefox -profile ' + path + ' -no-remote -new-instance' + ' ' + sys.argv[1]
Et remplacez-là par celle-ci :
execute = 'firefox-trunk -profile ' + path + ' -no-remote -new-instance' + ' ' + sys.argv[1]
Sauvegardez et passons à la suite.
Modification du code d’Ice
Nous allons à présent modifier le code source d’Ice. Toujours dans le dossier /usr/bin, cherchez le script nommé ice, et modifiez-le avec les droits root.
Définition du chemin
En premier lieu, il faut indiquer le chemin d’installation de Firefox Nightly. Remplacez la ligne :
_FIREFOX_BIN = "/usr/bin/firefox"
par :
_FIREFOX_BIN = "/usr/bin/firefox-trunk"
Variable de sélection
Ensuite, il faut modifier la valeur de la variable
browserlorsque le navigateur sélectionné est Firefox :
elif firefox.get_active() == True: browser = "ice-firefox"
A remplacer par :
elif firefox.get_active() == True: browser = "ice-firefox-trunk"
Tests
Enfin, il faut remplacer les 2 occurences qui vont tester la valeur de
browser:
Remplacez la ligne :
if (browser == "ice-firefox"):
Par :
if (browser == "ice-firefox-trunk"):
Cette ligne est présente 2 fois, à une dizaine de lignes d’intervalle. Remplacez bien les 2 occurences. Sauvegardez et testons à présent Ice.
Création d’un SSB
Si on relance Ice à présent, on voit que Firefox est bien sélectionnable (c’est en fait votre version Nightly) :
Si je créé un SSB et que je valide Firefox, j’ai bien Nightly qui se lance.
Voici le code de mon fichier .desktop :
[Desktop Entry] Version=1.0 Name=Max Koder Comment=Max Koder (Ice SSB) Exec=ice-firefox-trunk Terminal=false X-MultipleArgs=false Type=Application Icon=/home/maxk/.local/share/ice/maxkoder.png Categories=GTK;Network; MimeType=text/html;text/xml;application/xhtml_xml; StartupWMClass=Chromium StartupNotify=true IceFirefox=max-koder.fr
Et vous pouvez à présent lancer des applis web :
Enjoy !
L’article Linux : Utiliser Ice SSB avec Firefox Nightly est apparu en premier sur Max-Koder.