Installer Cursor sur Ubuntu 24.04

Je ne sais pas pour vous, mais s’il y a bien un outil orienté IA dont j’entends beaucoup parlé en ce moment c’est bien Cursor, un fork de Visual Studio Code dont la promesse est de vous faire développez plus avec grâce à l’intelligence artificielle tout en restant dans un environnement connu. Par contre si comme moi, vous utilisez la version 24.04 d’Ubuntu, l’installation de l’outil peut ne pas se faire sans erreur.

Effectivement, bien que l’on se trouve avec un fichier de type AppImage (un format d’application portable) normalement voué à lancer une application facilement, vous avez certainement rencontré l’erreur suivante:

$ ./cursor-0.40.4x86_64.AppImage
[61312:0911/231002.352674:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_cursorlmVFH2/chrome-sandbox is owned by root and has mode 4755.
[1]    61312 trace trap (core dumped)  ./cursor-0.40.4x86_64.AppImage

Pour résoudre ce problème, je vous propose deux solutions. Visual Studio Code (et donc Cursor) sont basés sur Electron qui par défaut isole l’application dans un bac à sable. La dernière LTS d’Ubuntu (la 24.04 au moment de l’écriture de ce billet) ayant mis en place un nouveau mécanisme de sécurité, certaines applications n’ont pas encore fait les changements nécessaires pour leur bon fonctionnement. Heureusement il est possible de désactiver cette fonctionnalité en utilisant l’option --no-sandbox. Bien entendu cette dernière option n’est pas forcément conseillée étant donné qu’elle désactive des couches de sécurité.

Il existe heureusement une solution de contournement qui consiste à ajouter un fichier de configuration pour AppArmor, le logiciel de sécurité notamment utilisé par Ubuntu, permettant de lever la restriction sur la création de la sandbox nécessaire au bon fonctionnement de Cursor. Pour cela, il faudra créer un fichier /etc/apparmor.d/cursor-appimage avec le contenu ci-dessous (attention, vous devez modifier ce dernier afin de mettre à jour le chemin vers le fichier AppImage):

# This profile allows everything and only exists to give the
# application a name instead of having the label "unconfined"

abi <abi/4.0>,
include <tunables/global>

profile cursor /home/{YOUR-USER}/Applications/cursor*.AppImage flags=(unconfined) {
  userns,

  # Site-specific additions and overrides.  See local/README for details.
  include if exists <local/cursor>
}

Une fois fait, il ne reste plus qu’à informer apparmor de la présence de ce nouveau fichier via la commande: sudo apparmor_parser -r /etc/apparmor.d/cursor-appimage. Et voila, vous pouvez maintenant lancer Cursor sans problème.

A savoir également qu’une issue est ouverte auprès des équipes d’Anysphere et qui est à surveiller si vous souhaitez être informé de la correction de cette anomalie.