Lancer une application Linux « sur votre Mac » de manière distante grâce à SSH

Ce que l’on va faire aujourd’hui ressemble beaucoup à ce que propose Microsoft avec les serveurs d’applications.

Nous allons déporter l’affichage graphique d’une application tout en la faisant tourner sur un serveur Linux distant.
Vous allez voir, c’est super simple à mettre en place et à utiliser mais terriblement efficace.

Le principe

Concrètement, l’application en question (celle de votre choix, j’ai choisis VirtualBox, mais j’aurai pu prendre n’importe quelle autre application) tournera toujours sur le serveur, c’est pour cette raison que « sur votre Mac », dans le titre, est entre guillemets.
En fait, nous n’allons faire que déporter l’affichage graphique de cette application sur notre Mac.

Cette méthode permet d’utiliser les logiciels directement sur votre Mac tout en les laissant tourner sur le serveur.
L’avantage dans le cas de VirtualBox est que je vais pouvoir lancer des machines virtuelles sur le serveur en les administrant de manière graphique sur mon Mac.

Préparation

Nous allons utiliser la capacité que peut avoir SSH de déporter des affichages (le serveur X sur Linux).
Il vous faut donc vérifier que X11Forwarding est activé dans le fichier de configuration de SSH sur votre serveur Linux (/etc/ssh/sshd_config sur Ubuntu).
C’est le cas normalement sur Ubuntu, au moins sur la dernière LTS en date, la version 22.04.

De plus, comme nous allons utiliser des applications graphiques via SSH, il vous faut aussi un environnement de bureau, logique me direz-vous.
Le but ici est d’essayer quand même de conserver le maximum de légèreté possible, et d’éviter que l’environnement de bureau ne pompe trop de ressources matérielles sur le serveur.
J’ai fais mes premiers tests avec KDE, mais je vais passer sur XFCE.
Je vous recommande d’installer le minimum, évitez donc d’installer les paquets kubuntu-desktop et xubuntu-desktop sur votre Ubuntu Server.
Ces deux méta-paquets installent trop de logiciels qui ne nous seront à priori pas utiles.
Vous pourriez aussi être tenté d’installer directement Kubuntu ou Xubuntu, mais je vous conseille plutôt d’installer un environnement de bureau par dessus un Ubuntu Server.
Pourquoi ? Parce que même si les différences, hormis l’environnement graphique, sont minimes entre les versions serveurs et de bureau, les versions server d’Ubuntu possèdent quand même quelques spécificités utiles pour une utilisation en tant que serveur.

Enfin, dernier pré-requis et sur le Mac cette fois, il vous faudra installer XQuartz (fonctionne sur Mac Apple Silicon également).
Le redémarrage de la session est requis à la fin de l’installation. Veillez à sauvegarder vos documents ouverts.

Installons VirtualBox

Je vais donc installer VirtualBox, la dernière version est la 7.0.4 à l’heure actuelle.
Seulement, dans les dépôts d’Ubuntu 22.04.1, seule la version 6.1.38 est présente.
Comme je n’ai pas envie de m’embêter à installer VirtualBox 7.0, je vais installer la version du dépôt, qui m’ira très bien pour le moment.

Dans mon cas, il me suffit d’installer le paquet virtualbox et le paquet virtualbox-ext-pack.
Dans mon Terminal sur macOS, je vais me connecter au serveur Ubuntu via SSH, puis taper la commande suivante :

sudo apt install virtualbox virtualbox-ext-pack

Quelques secondes plus tard, VirtualBox est installé et on peut se déconnecter du serveur Linux via la commande logout, ou en fermant la fenêtre du Terminal.

Pour lancer VirtualBox et s’y connecter graphiquement de manière distante, on va utiliser la commande SSH aussi, mais avec l’argument suivant :

ssh paul@vbox04.local -X virtualbox

Cette commande nous connecte à l’application virtualbox de manière graphique (-X) sur l’hôte vbox04.local avec l’utilisateur paul.
Vous noterez l’absence de majuscules, en effet, il faut notez le nom du paquet de l’application que vous souhaitez utiliser, qui n’ont jamais de majuscules, sur Linux.
J’aurai très bien pu utiliser l’adresse IP du serveur, mais il est généralement plus simple de retenir les noms d’hôtes que les adresses IP associées.
Et voilà ce que ça donne :

Machine virtuelle fonctionnant sur un serveur distant via VirtualBox, avec un affichage déporté sur le Mac.
La machine virtuelle est stockée sur un autre serveur, VirtualBox y accède via le réseau.

Evidemment, le multifenêtre des applications est correctement géré.
Attention au clavier qui est configuré dans la langue choisis à l’installation.
Le mappage des touches ne correspondra donc pas totalement si vous choisissez Français lors de l’installation d’Ubuntu Server, il faut choisir Français Macintosh si vous utilisez le serveur exclusivement sur Mac.
Sinon, on s’habitue à la disposition AZERTY PC sans trop de problème.
C’est de l’ordre du détail à mon sens.

Sur KDE Plasma, pour ouvrir la configuration système, il faut utiliser le nom systemconfig.
J’essayais au début system-config, mais en fait il n’y a pas de tiret et donc ça ne fonctionnait pas.

Voilà pour ce tutoriel, n’hésitez pas à faire un retour d’expérience en commentaire ou à poser vos questions éventuelles.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *