Linux : Utiliser Ice SSB avec Firefox Nightly

ice-blue-linux-wallpaper

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-trunk
  est 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

browser
  lorsque 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.

Vus : 1144
Publié par Max Koder : 16