IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Ghostty, un émulateur de terminal gratuit qui se distingue par sa rapidité, sa richesse fonctionnelle et son application native pour macOS et Linux

Le , par Jade Emy

72PARTAGES

6  0 
Ghostty est un émulateur de terminal qui se distingue par sa rapidité, sa richesse fonctionnelle et son caractère natif. Bien qu'il existe de nombreux émulateurs de terminal excellents, la plupart doivent choisir entre la vitesse, les fonctionnalités ou les interfaces natives. Ghostty offrirait les trois.


Natif

Le terme "natif" signifie que Ghostty est conçu pour ressembler, se sentir et se comporter comme vous vous attendez à ce qu'une application se comporte dans votre environnement de bureau.

Il est important de noter que Ghostty est une application native pour macOS et Linux. Sur macOS, l'interface graphique est écrite en Swift et utilise AppKit et SwiftUI. Sous Linux, l'interface graphique est écrite en Zig et utilise l'API C de GTK41. Les interfaces graphiques s'interfacent avec un noyau partagé écrit en Zig que ces développeurs nomment "libghostty". Pour ceux qui ne connaissent pas Zig, il s'agit d'un langage de programmation de systèmes qui se compile en code machine natif.

Contrairement à de nombreux autres émulateurs de terminaux qui utilisent des interfaces textuelles et des widgets personnalisés ou qui ne prennent pas du tout en charge ces fonctionnalités, Ghostty utilise des composants d'interface utilisateur natifs pour des fonctions telles que les onglets, les divisions, les messages d'erreur, etc.

Une autre partie est l'utilisation de raccourcis clavier et souris standards avec lesquels vous êtes déjà familier. Ghostty utilise des raccourcis par défaut différents pour macOS et Linux afin de respecter les conventions de chaque plateforme.

Enfin, Ghostty s'intègre aux fonctionnalités du système qui sont propres à la plateforme sur laquelle il s'exécute. Par exemple, sur macOS, Ghostty supporte Quick Look, force touch, l'API d'entrée sécurisée de macOS, la récupération intégrée de l'état de la fenêtre au redémarrage, etc. Il s'agit d'API natives fournies par macOS qui n'ont pas d'équivalents dans les environnements de bureau Linux.

Riche en fonctionnalités

Ghostty s'efforce de fournir un ensemble riche de fonctionnalités utiles au quotidien. Celles-ci peuvent être divisées en deux catégories : les fonctionnalités du terminal et les fonctionnalités de l'application.

Les fonctionnalités du terminal comprennent les capacités que les programmes s'exécutant dans le terminal peuvent utiliser. Par exemple, Ghostty supporte le protocole graphique Kitty, les notifications de mode clair/foncé, les hyperliens, etc. Cela permet à des applications de terminal comme Neovim, Zellij et d'autres de faire plus que ce qu'elles pourraient faire avec d'autres émulateurs de terminal2.

Les fonctionnalités de l'application sont des fonctionnalités de haut niveau qui sont utiles pour interagir avec l'émulateur de terminal lui-même. Par exemple, Ghostty supporte les onglets natifs, les séparations, un terminal déroulant sur macOS, le changement de thème sur le mode sombre/lumineux du système, etc.

Rapide

Ghostty se veut rapide. Ghostty vise à être dans la même classe que les émulateurs de terminal les plus rapides. Dans certains benchmarks, il est plus rapide, dans d'autres, il est plus lent, mais dans tous les cas, il devrait être impossible de dire que Ghostty est lent.

Le mot "rapide" est également un terme très vague, car il peut avoir des significations différentes selon les personnes. Par exemple, voici une petite liste de choses qui peuvent être "rapides" : le temps de démarrage, la vitesse de défilement, le débit des entrées-sorties, le débit des séquences de contrôle, le taux de rafraîchissement, etc.

libghostty

Ghostty se différencie également par son architecture. Le cœur de Ghostty est une bibliothèque multiplateforme compatible C-ABI appelée libghostty. libghostty fournit l'émulation de terminal de base, la gestion des polices de caractères et les capacités de rendu.

Les applications graphiques de Ghostty sont des utilisateurs de libghostty. L'application macOS est écrite en Swift, utilise AppKit et SwiftUI, et est liée à l'API C de libghostty. L'application Linux est écrite en Zig, utilise l'API C GTK4, et est également liée à libghostty.

Cette architecture permet une séparation nette entre l'émulation du terminal et l'interface graphique. C'est l'architecture clé qui permet à Ghostty d'atteindre son objectif d'être natif.

Cette architecture rend Ghostty unique puisque le projet Ghostty vise également à permettre à d'autres projets d'émulateurs de terminaux d'être construits à partir d'un noyau partagé. Cela permet un écosystème plus diversifié d'émulateurs de terminaux qui peuvent se concentrer sur des fonctionnalités de haut niveau et des interfaces utilisateur sans avoir besoin de réimplémenter le noyau de l'émulation de terminal.

Source : Ghostty

Et vous ?

Pensez-vous que cet émulateur est crédible ou pertinent ?
Quel est votre avis sur le sujet ?

Voir aussi :

Termux, un émulateur de terminal pour Android et une application en environnement Linux, qui fonctionne directement sans avoir besoin de rooter le smartphone

Windows Terminal est maintenant défini par défaut dans Windows 11 22H2. Toutes les applications en ligne de commande s'ouvriront désormais automatiquement dans Windows Terminal

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de A3gisS3c
Membre expérimenté https://www.developpez.com
Le 29/12/2024 à 13:50
Citation Envoyé par LittleWhite Voir le message
Bonjour,

Je suis perdu dans tous les émulateurs de terminaux qu'il y a maintenant. D'une part, j'ai du mal à voir l'intérêt des récentes solutions et c'est comme si je ne ressent pas de besoin pour celles-ci. Quelqu'un pourrait tenter de m'expliquer ou de me convaincre de passer sur une telle solution ?
Hello LittleWhite,

Allez je vais essayer de te convaincre. Je vais prendre l'exemple de Kitty (j'avais longtemps hésité avec l'autre mastodonte Alacritty, mais j'ai finalement opté pour Kitty). Voici quelques fonctionnalités très sympa:

1. Le multiplexage d'écran/de session (Pas besoin de tmux/screen, Kitty permet de découper ton terminal de manière hautement configurable (horizontal, verticial), de faire des onglets, et surtout de se détacher d'une session pour s'y rattacher plus tard).
2. Le résultat d'un grep peut être cliquable, et cliquer sur le lien t'amène directement en Vim sur la ligne concernée du fichier.
3. Tu peux surligner des pattern de mots sur l'ensemble de ton terminal.
4. icat te permet de visualiser les images directement dans ton terminal (utile quand tu es en SSH, ca t'évite un scp).
5. kdiff te permet d'avoir des diff colorés.
6. Le dernier output est ouvrable dans un less (via ctrl+shift+g)

Honnêtement c'est le genre de terminal qui te rend la vie beaucoup plus simple si tu es très souvent en train d'ssh des serveurs.

Y'a d'autres fonctionnalités que je n'ai pas encore essayé (multiple buffers, changement dynamique de fonts...).
3  0 
Avatar de A3gisS3c
Membre expérimenté https://www.developpez.com
Le 27/12/2024 à 16:09
Sympa mais bon...face aux mastodontes du genre (Kitty, Alacritty), pas sûr que ca fasse le poids.
0  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 29/12/2024 à 10:58
Bonjour,

Je suis perdu dans tous les émulateurs de terminaux qu'il y a maintenant. D'une part, j'ai du mal à voir l'intérêt des récentes solutions et c'est comme si je ne ressent pas de besoin pour celles-ci. Quelqu'un pourrait tenter de m'expliquer ou de me convaincre de passer sur une telle solution ?
0  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 29/12/2024 à 18:05
Merci beaucoup pour le retour. Pour le moment, je n'arrive pas à voir l'intérêt , peut être je ne suis pas un assez grand utilisateur de terminaux .
0  0