Installer Scrivener 3 sous Linux

Un peu de vin pour démarrer ?
  EN
 Lecture : 6 min
 chop
 2 commentaires
  (MàJ : 2021-08-12)

Tandis que je me prépare pour ma première tentative au NaNoWriMo, je sais que j’aurai besoin d’un logiciel pour m’organiser. J’ai utilisé Scrivener par le passé et je sais que c’est parfaitement adapté pour mon usage. Mon seul problème : j’utilise Linux en déplacement, pour lequel Scrivener n’offre pas de support.

Mais ce n’est plus un problème, ainsi que l’a révélé Thomas Pletcher : les dernières betas de Scrivener 3 fonctionnent avec Wine. Voilà comment.

Mise à jour du 17 juillet 2021 : Cette page a été mise à jour pour Scrivener 3.0.1 pour Windows. Cette procédure est fonctionnelle pour mon poste, mais n’hésitez pas à partager des pistes d’amélioration.
Mise à jour du 12 août 2021 : J’ai ajouté un avertissement sur les problèmes connus, afin que vous puissiez décider s’ils sont gênants pour vous avant de vous lancer dans l’installation.

Avant de commencer : les problèmes connus #

Bien que Scrivener fonctionne sous Linux, tout n’est pas parfait et il reste de petits imprévus. Vous pourrez peut-être vous en contenter, mais je pense que vous préférerez savoir à quoi vous attendre.

Un glisser-déposer un peu collant #

En premier lieu, j’ai remarqué un petit problème avec le drag and drop : à chaque fois que vous déposez un élément, il reste en transparence avec votre souris, comme s’il glissait toujours, alors qu’il est bien là où vous l’avez déposé. C’est un problème cosmétique avant tout : le déplacement est bien effectué. Pour chasser cet embêtant fantôme, il suffit de presser la touche Échap de votre clavier.

Des touches mortes surprise #

Comme dans Kinder Surprise : on ne sait pas ce qu’il y aura dedans. En français, les touches mortes sont régulièrement utilisées, notamment pour taper les accents circonflexes. Ce sont les touches pour lesquelles on presse d’abord l’accent (^), mais qui n’impriment rien tant que l’on n’a pas sélectionné la lettre sur laquelle il va l’afficher (^ puis e pour imprimer ê). Dans cette version de Scrivener sous Wine, on n’obtient cependant pas toujours ce que l’on attend.

Pour être plus précis, cela fonctionne la première fois (^, o donnera bien ô). À la prochaine utilisation d’une touche morte, cependant, vous obtiendrez votre première lettre accentuée (^, a ou même ", e vous donneront chacun un ô), comme si Scrivener restait bloqué sur la première utilisation d’une touche morte.1

Je n’ai pas de solution facile pour celui-ci. Je me contente personnellement de corriger lorsque je rouvre le projet sur mon poste Windows.

Faire fonctionner Scrivener sous Linux #

Installation de Wine #

Pour faire tourner Scrivener sous Linux, nous utiliserons Wine, qui offre une couche de compatibilité pour exécuter des programmes Windows sur des systèmes POSIX (pour nous : « Linux »).

Note : Ce tutoriel est écrit pour des personnes qui ne connaissent pas Wine et ne l’utiliseront probablement que pour Scrivener. Si vous avez une connaissance plus avancée, vous voudrez peut-être utiliser un préfixe dédié. Faites, je vous en prie. Je n’en parlerai pas ici.

Maintenant, pour faire court :

  1. Nous aurons besoin de Wine, Winetricks et winbind. Si ceux-ci sont disponibles dans les repos de votre distribution (c’est le cas pour Ubuntu), les installer se fera via la commande : sudo apt install wine winetricks winbind

  2. L’installeur de Wine du dépôt Ubuntu a un petit défaut : il ne crée pas le lien symbolique qui permet de lancer l’application. Pas grave, on va le faire à la main : sudo ln -s /usr/share/doc/wine/examples/wine.desktop /usr/share/applications/

Configuration de Wine #

Maintenant que Wine est installé, il va falloir ajouter les composants Windows dont Scrivener aura besoin.

  1. Facultatif : winetricks corefonts installera les polices par défaut Windows (p. ex. Times New Roman). Vous les avez peut-être déjà installées d’une autre façon (p. ex. sudo apt install ttf-mscorefonts-installer), en quel cas cette étape serait redondante.
  2. winetricks win7 préparera une architecture Windows 7.
  3. winetricks dotnet48 installera .NET 4.8 (Scrivener a besoin de .NET 4.6 ou plus). Cochez la case « Redémarrer maintenant » quand on vous le proposera. Pas d’inquiétude, cela ne fera pas redémarrer votre machine.
  4. winetricks speechsdk: le SpeechSDK n’est pas noté parmi les prérequis pour Scrivener, mais je n’ai pas pu l’exécuter avant de l’installer.

Installation de Scrivener #

  1. Il vous faut télécharger Scrivener 3 (à l’heure de l’écriture de ces lignes, vous pouvez télécharger la dernière bêta ici).

  2. Si vous tentez d’exécuter le fichier téléchargé en cliquant dessus, vous obtiendrez une erreur fatale avec le message « called Tcl_Close on channel with refCount > 0 » Ouvrez plutôt un terminal et allez dans le répertoire où vous avez téléchargé le fichier d’installation et exécutez la commande wine Scrivener-installer.exe.

C’est tout ! À la fin de l’installation, Wine devrait avoir créé un raccourci pour Scrivener dans votre liste d’applications. Vous devriez pouvoir le démarre en cliquant dessus. N’hésitez pas à partager d’autres astuces dans les commentaires.

Résoudre les problèmes #

Voici les problèmes partagés par nos lecteurs et les solutions que nous avons pu trouver.

Un message d’erreur apparaît à l’exécution de l’installeur #

Merci à OOzyPal de m’avoir incité à rechercher ce point.

Symptômes
En exécutant Scrivener-installer.exe, un message d’erreur apparaît et indique :

called Tcl_Close on channel with refCount > 0.

Solution
Il semblerait que cette erreur ne se produise que lorsque l’on exécute l’installeur via l’interface graphique. Utiliser la ligne de commande semble résoudre le souci : wine Scrivener-installer.exe.

L’activation de la license échoue #

Merci à qbit pour avoir partagé à la fois le problème et sa solution.

Symptoms
qbit pouvait exécuter Scrivener mais pas activer la license. Il obtenait à la place le message suivant :

There was a problem activating Scrivener. Please try again in a moment, or restart your computer and ensure it is connected to the Internet, then try again. […] Object reference not set to an instance of an object.

À l’aide de la commande wine ping google.com, il a confirmé que le problème ne provenait pas de l’accès à Internet.
Cause
Le problème semble lié à l’installation .NET 4.8.
Solution
qbit a résolu son souci en réinstallant .NET via Winetricks, via la commande : winetricks --force dotnet48.

Quand rien ne fonctionne… #

Marie a suivi la procédure décrite ici, mais cela n’a pas fonctionné et elle a souhaité tout désinstaller. Voici la solution que j’ai suggérée :

  1. sudo apt purge wine winetricks winbind retire Wine et tout les logiciels qui y sont liés.
  2. rm -rf ~/.wine supprime le répertoire où Wine a créé son image d’une machine Windows.

  1. Si quelqu’un a une idée au sujet du bogue des touches mortes, je suis tout ouïe. J’ai fait un test rapide avec Notepad++ et le problème ne se manifeste pas. Je ne pense donc pas que ce soit un problème avec Wine lui-même. Mes soupçons s’orientent donc vers un sujet lié au framework .NET sur Wine ou à Scrivener lui-même. ↩︎