Ce tuto vise à montrer comment utiliser le logiciel de gestion bibliographique Zotero sous Linux via le logiciel PlayOnLinux basé sur Wine.
Le but est de travailler avec l'addon Zotero de Firefox sur Linux, puis travailler avec les références mémorisées dans Office Word, installé avec PlayOnLinux.
Ce qui suit assume qu'Office via PlayOnLinux, Zotero standalone sous Linux et le plugin Firefox sont déjà installés.
Ce tuto est pour la version 5.x de Zotero Standalone et de son module pour Firefox 56 et 57+ supportant la nouvelle API WebExtensions.
Pour la version 4.x et le module WebExtensions de Firefox, un autre tuto est disponible ici.
Sommaire
Installer/Mettre à jour Zotero Linux
Télécharger la version Linux de Zotero 5: Ici.
Décompressez l'archive puis exécuter Zotero via le script nommé
zotero
.La migration des précédentes données s'effectue. Si besoin, votre ancien profil se situe dans
~/.zotero/zotero/<random id>.default/zotero
.
Installer Zotero dans PlayOnLinux
Télécharger la version Windows de Zotero: Ici.
Ouvrir PlayOnLinux puis sélectionner le disque virtuel contenant la suite Office. Si vous utilisez Office 2010, alors la version de Wine par défaut sera trop ancienne pour exécuter Zotero ou son installeur; vous allez devoir mettre à jour wine (chez moi Wine 2.9 suffit):
Note
Peut-être aurez-vous besoin d'installer le paquet Visual C++ 2015 sur votre version de Wine.
L'erreur rencontrée est la suivante: nimplemented function api-ms-win-crt-runtime-l1-1-0.dll._seh_filter_dll, aborting
. L'installeur est présent à cette url. Il faudra ensuite passer les dlls suivantes en native,builtin
via l'outil de configuration de Wine dans PlayOnLinux: atl140 msvcp140 msvcr140 vcomp140
.
Si besoin, votre ancien profil se situe dans ~/PlayOnLinux's virtual drives/Office2010/drive_c/users/<username>/Application\ Data/Zotero/Zotero/Profiles/<random_id>.default/zotero/
:
- Cliquer sur
Lancer un ".exe" dans ce disque virtuel
Après l'installation, dans l'onglet
Général
, cliquer surCréer un nouveau raccourci depuis ce disque dur virtuel
Sélectionner
Zotero.exe
dans la liste des applications, puis valider.
Il est maintenant possible de démarrer l'application depuis le gestionnaire d'application de PlayOnLinux:
Utiliser une seule base de données pour les deux versions
Démarrer Zotero.exe une première fois puis le fermer (initialisation du profil).
Se placer dans le dossier de profil de Zotero sur PlayOnLinux, puis créer un lien symbolique vers la base de données de la version Linux présente dans le
/home/
:
$ cd ~/.PlayOnLinux/wineprefix/Office2010/drive_c/users/<username>/Application\ Data/Zotero/Zotero/Profiles/
$ ln -s ~/.zotero/zotero/<random id>.default
- Éditer le fichier
profiles.ini
dans~/.PlayOnLinux/wineprefix/Office2010/drive_c/users/<username>/Application\ Data/Zotero/Zotero/
et mettre à jour la lignePath=<random id>.default
avec le nom du lien symbolique que vous venez de créer (remplacezpar votre id dans la commande ci-dessous):
$ sed -i "s#Path=.*#Path=Profiles/<random id>.default#" profiles.ini
- Effacer l'ancien dossier
.default
qui n'est plus utile à présent.
La configuration de Zotero Wine est maintenant liée à la configuration de Zotero Linux.
Dans la nouvelle version 5.0, le fichier ~/.zotero/zotero/<random id>.default/prefs.js
, contient un chemin absolu vers la base de données. Ce chemin diffère selon que vous utilisiez la version Wine ou la version Linux.
Version Linux
user_pref("extensions.zotero.dataDir", "/home/<username>/.zotero/zotero/<random id>.default/zotero");
Version Wine
user_pref("extensions.zotero.dataDir", "C:\\users\\<username>\\Application Data\\Zotero\\Zotero\\Profiles\\<random id>.default\\zotero");
Si vous ne mettez pas ce chemin à jour en fonction de la version de Zotero que vous souhaitez lancer, alors celui-ci ne trouvera pas votre profil et en crééera un nouveau dans ~/Zotero
ou dans C:\users\<username>\Zotero
.
Pour modifier dynamiquement ce fichier, nous allons devoir modifier les scripts d'appels:
- Exécutable Linux
Éditer le script exécutable (présent dans l'archive téléchargée sur le site après décompression) ~/Downloads/Zotero_linux-x86_64/zotero
servant à lancer le logiciel en y ajoutant cette ligne (mettez à jour <random id>
):
sed -i "s#user_pref(\".*extensions.zotero.dataDir\".*#user_pref(\"extensions.zotero.dataDir\", \"/home/$USER/.zotero/zotero/<random id>.default/zotero\");#" ~/.zotero/zotero/<random id>.default/prefs.js
Ce qui donne quelque-chose comme cela :
...
sed -i "s#user_pref(\".*extensions.zotero.dataDir\".*#user_pref(\"extensions.zotero.dataDir\", \"/home/$USER/.zotero/zotero/<random id>.default/zotero\");#" ~/.zotero/zotero/<random id>.default/prefs.js
CALLDIR="$(dirname "$(readlink -f "$0")")"
"$CALLDIR/zotero-bin" -app "$CALLDIR/application.ini" $*
- Exécutable Wine
Éditer le script PlayOnLinux ~/.PlayOnLinux/shortcuts/Zotero
en y ajoutant cette ligne (mettez à jour <random id>
):
sed -i "s#user_pref(\".*extensions.zotero.dataDir\".*#user_pref(\"extensions.zotero.dataDir\", \"C:\\\\\\\\users\\\\\\\\$USER\\\\\\\\Application Data\\\\\\\\Zotero\\\\\\\\Zotero\\\\\\\\Profiles\\\\\\\\<random id>.default\\\\\\\\zotero\");#" ~/.zotero/zotero/<random id>.default/prefs.js
Ce qui donne finalement ce script PlayOnLinux:
#!/usr/bin/env playonlinux-bash
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
export WINEPREFIX="/home/$USER//.PlayOnLinux//wineprefix/Office2010"
export WINEDEBUG="-all"
cd "/home/$USER/.PlayOnLinux//wineprefix/Office2010/drive_c/Program Files/Zotero"
sed -i "s#user_pref(\".*extensions.zotero.dataDir\".*#user_pref(\"extensions.zotero.dataDir\", \"C:\\\\\\\\users\\\\\\\\$USER\\\\\\\\Application Data\\\\\\\\Zotero\\\\\\\\Zotero\\\\\\\\Profiles\\\\\\\\blapge45.default\\\\\\\\zotero\");#" ~/.zotero/zotero/blapge45.default/prefs.js
POL_Wine "zotero.exe" "$@"
Corriger l'intégration Zotero / Word
Zotero Wine DOIT être lancé lorsque vous utilisez Word, mais ne PEUT PAS être lancé lorsque la version Linux s'exécute.
Il faut tout d'abord activer l'extension dans l'addon-manager de Zotero via le menu outils/extensions
:
- Cliquer sur extensions,
- Puis activer
Zotero Word for Windows Integration
Zotero installe un plugin (extension dotm/dot) dans un dossier lu par Word lors du démarrage.
À titre informatif, les plugins à copier sont ici:
~/.PlayOnLinux/wineprefix/Office2010/drive_c/Program Files/Zotero Standalone/extensions/zoteroWinWordIntegration@zotero.org/install/
Le plugin est installé ici:
~/.PlayOnLinux/wineprefix/Office2010/drive_c/users/<username>/Application\ Data/Microsoft/Word/STARTUP/
Si vous lancez Word maintenant vous obtiendrez cette erreur Zotero a rencontré une erreur lors de la mise à jour de votre document
:
Le plugin par défaut n'est pas fonctionnel sur Linux/PlayOnLinux. Toutefois j'ai mis à jour un projet sur Github proposant une version légèrement modifiée (et documentée) des macros utilisées.
Aller sur le projet zotero-word-for-wine-linux-integration et téléchargez le fichier
Zotero.dotm
.Placer ce fichier
Zotero.dotm
dans le dossierSTARTUP
mentionné ci-dessus.
L'intégration sous Wine est maintenant terminée.
Utilisation
L'utilisation est maintenant bien plus simple car il suffit de lancer la version PlayOnLinux pour travailler à la fois sur Word et depuis Firefox sous Linux.
Emmanuel Charpentier
Great idea. Using the same database for Linux and Windows is a big boon.
However, I have a problem with the idea of (smartly) modifying the zotero launch script: those modifications won't survive a Zotero upgrade, which are fairly frequent.
Replacement suggestion:
prefs.js
prefs.js
prefs.js
What do you think ?
Lex
Hi, Indeed, in case we are sure that no new file is created in the root of the Zotero profile during its use, I suppose this solution is an excellent alternative to modifying the launch scripts with sed to adapt
prefs.js
.