Rio, un nouveau terminal multiplateforme écrit en Rust

Nicolas Furno |

Rio est un terminal qui permet d’utiliser un ordinateur grâce aux lignes de commandes qui se distingue des autres apps par son choix du langage de programmation Rust. Grâce à lui, ce projet qui a débuté publiquement à l’automne 2022, mais qui n’est réellement utilisable que depuis le printemps dernier, peut à la fois être disponible sur toutes les plateformes, de macOS à Windows en passant par Linux, mais aussi offrir d’excellentes performances. Et même si son développement n’est pas aussi avancé en raison de son jeune âge, il est parfaitement fonctionnel si vous n’êtes pas satisfait par ses concurrents.

Rio en action sur macOS Ventura, avec trois fenêtres ouvertes et le thème par défaut.

Par rapport au terminal intégré à macOS ou à une app comme iTerm2, Rio a une approche nettement plus simple, ou rudimentaire selon les points de vue. Son interface graphique est limitée à la plus simple expression, il n’y a aucun menu dans macOS, même pas pour gérer les fenêtres, et il n’y a aucun réglage visuel non plus. Les paramètres sont gérés par un fichier texte, en suivant la documentation associée pour savoir quels réglages peuvent être utilisés et quelles options sont acceptées.

Cela étant, si vous voulez installer une application de terminal, c’est probablement parce que vous maîtrisez un minimum les lignes de commandes. Modifier la configuration ne devrait alors poser aucun problème, même si Vim est utilisé par défaut comme éditeur1. Ce fichier n’existe pas par défaut, il faudra le créer au bon endroit en amont. Contrepartie de cette approche, elle offre nettement plus de souplesse et permet de configurer l’application comme on le veut, que ce soit pour définir des raccourcis clavier ou créer des plugins.

Malgré son jeune âge, Rio contient déjà de nombreuses fonctions et il évolue encore rapidement, notamment pour améliorer ses performances, l’un des principaux objectifs du projet (sur mon Mac, ce n’est pas encore tout à fait au point, notamment quand on multiplie les fenêtres). Son code source exclusivement en Rust est distribué via GitHub et les contributions sont encouragées.


  1. Petit rappel quand même, a pour éditer, puis ESC et :x pour modifier et fermer l’éditeur. De rien.  ↩︎

Source
merci Upsilona
Tags
avatar aurora | 

Il y a aussi Warp https://www.warp.dev/ en Rust mais il n’est pas encore disponible sur Windows et Linux 🙂

avatar Nicolas Furno | 

@aurora

En effet, mais compte obligatoire et modèle freemium, ça m'a stoppé net dans mon envie de tester. C'est si bien que ça ?

avatar fleeBubl | 

Puisque qu’il semble difficile d’installer sur iPad
- MacOs as desktop application
- Installation guide
comment le rendre disponible sur iPad, par exemple ?
- Web Browser (WebAssembly)
- (Sugarloaf is ready but Rio still need to be ported)
https://raphamorim.io/rio/install/#webassembly
: Then install the Rust compiler with rustup (rustup.rs).
Ou, comment bootstaper Rust sur iPad dans un environment (a Shell, par exemple)
https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html

avatar Teodorico | 

Pour s’amuser et tester c’est très bien, pour bosser convenablement Rio ne convient pas. Quand il sera en version 1.0, peut-être sera t-il possible de l’utiliser quotidiennement, pas avant.

avatar kiddsoso | 

Quel est l’avantage comparé à iTerm 2 ? Moins (voir pas du tout) de réglages / personnalisation ?

avatar Nicolas Furno | 

@kiddsoso

Le plus gros est indéniablement le multiplateforme. iTerm2 est limité au Mac, alors qu'on peut retrouver le même terminal sur tous les systèmes avec Rio.

avatar Workke | 

Question qui tue /n: c’est quoi Rust ?
Un ersatz de Ruby+Python ?

avatar Upsilona | 

@Workke

Plutôt un C/C++ sécurisé

avatar fleeBubl | 

@Upsilona

Bien vue ! J’ai mis du temps à faire le lien
entre C/C++ et sécurisé … 😮‍💨 Merci 🤩

avatar Upsilona | 

😇

avatar BeePotato | 

« Contrepartie de cette approche, elle offre nettement plus de souplesse et permet de configurer l’application comme on le veut »

Je ne vois pas en quoi une telle approche offrirait intrinsèquement plus de souplesse qu’une interface graphique qui intègrerait toutes les possibilités de configuration.
Le gain est juste pour les développeurs de l’application — moins de boulot à faire pour arriver à ce niveau de souplessse — et non pour les utilisateurs.

CONNEXION UTILISATEUR