Probleme
Sûrement pratique pour ceux qui en ont besoin ... mais inutile pour les autres.
AT-SPI (Assistive Technology Service Provider Interface) est une interface pour fournir un service d’assistance aux personnes handicapées, il améliore l’accessibilité aux applications et est inclus dans le projet GNOME.
Explication sur wikipedia-.
AT-SPI se contente de manger des ressources inutiles ... et on s’en porte mieux quand il n’est plus là : la machine boote plus vite, il y a plus de réactivité.
root@raspberrypi:/# ps -eaf | grep -i at | grep -i spi
lightdm 588 1 0 13:16 ? 00:00:00 /usr/lib/at-spi2-core/at-spi-bus-launcher
lightdm 592 588 0 13:16 ? 00:00:00 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
lightdm 595 1 0 13:16 ? 00:00:00 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
sudo mv /usr/share/dbus-1/services/org.a11y.atspi.Registry.service /usr/share/dbus-1/services/org.a11y.atspi.Registry.service.disabled
sudo ls /etc/xdg/autostart/ | grep -i at
sudo mv /etc/xdg/autostart/at-spi-dbus-bus.desktop /etc/xdg/autostart/at-spi-dbus-bus.desktop.disabled
Solution
Méthode sauvage qui marchait en 2015 sous Ubuntu :
mv /usr/lib/at-spi2-core /usr/lib/at-spi2-core.disabled
Depuis la Ubuntu 18.04, l’ensemble du gestionnaire de fenêtre est ralenti terriblement si on se contente de renommer ce répertoire. Un service doit être lancé par défaut et ça doit lancer un timeout terrible qui se ressent jusqu’au simple lancement d’un terminal. Il faut passer autrement.
Sous ubuntu-mate 18.04, le package at-spi2 contient :
/etc/X11/Xsession.d/90qt-a11y
/etc/X11/Xsession.d/90qt-a11y
/etc/xdg/autostart/at-spi-dbus-bus.desktop
/usr/lib/at-spi2-core
/usr/lib/at-spi2-core/at-spi-bus-launcher
/usr/lib/at-spi2-core/at-spi2-registryd
/usr/lib/systemd/user/at-spi-dbus-bus.service
/usr/share/dbus-1/accessibility-services/org.a11y.atspi.Registry.service
/usr/share/dbus-1/services/org.a11y.Bus.service
/usr/share/defaults/at-spi2
/usr/share/defaults/at-spi2/accessibility.conf
/usr/share/doc/at-spi2-core
/usr/share/doc/at-spi2-core/NEWS.gz
/usr/share/doc/at-spi2-core/README
/usr/share/doc/at-spi2-core/changelog.Debian.gz
/usr/share/doc/at-spi2-core/copyright
Il faut désactiver le lancement des commandes at-spi dans les fichiers suivants (commenter Exec / ExecStart) :
/etc/xdg/autostart/at-spi-dbus-bus.desktop
Exec=
#Exec=/usr/lib/at-spi2-core/at-spi-bus-launcher --launch-immediately
On peut juste éditer
/usr/lib/systemd/user/at-spi-dbus-bus.service
ExecStart=
#ExecStart=/usr/lib/at-spi2-core/at-spi-bus-launcher
/usr/share/dbus-1/services/org.a11y.Bus.service
Exec=
#Exec=/usr/lib/at-spi2-core/at-spi-bus-launcher
Comme certains programmes risquent d’être réactivés ou lancés avant la connexion, on peut encore rendre les exécutables inactifs :
sudo chmod -x /usr/lib/at-spi2-core/at-spi2-registryd
sudo chmod -x /usr/lib/at-spi2-core/at-spi-bus-launcher
Un bon plan est de modifier le fichier d’environnement et d’y désactiver at-spi :
vim /etc/environment
export NO_AT_BRIDGE=1
Le fichier de configuration de at-spi2 donne l’impression d’être une porte ouverte à des programmes vers root, autant retirer root des utilisateurs autorisés dans le fichier de configuration principal (renommer root en root_) :
vim /usr/share/defaults/at-spi2/accessibility.conf
<allow user="root_">
On peut aussi supprimer ce qui fait référence à a11y via un petit :
sudo dpkg -r a11y-profile-manager orca python3-pyatspi liba11y-profile-manager-0.1-0 a11y-profile-manager-indicator qt-at-spi
Ou tout simplement ... on peut supprimer le service :
systemctl disable at-spi-dbus-bus