paint-brush
Exécution de SerenityOS, une lettre d'amour aux interfaces utilisateur des années 90par@ChrisChinchilla
2,705 lectures
2,705 lectures

Exécution de SerenityOS, une lettre d'amour aux interfaces utilisateur des années 90

par Chris Chinchilla5m2022/10/20
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

SerenityOS est un système d'exploitation d'inspiration rétro pour l'ère moderne. Cet article montre comment je l'ai fait fonctionner sur un Mac ainsi que mes expériences avec le projet de navigateur du projet qui n'utilise pas Chromium ou WebKit.
featured image - Exécution de SerenityOS, une lettre d'amour aux interfaces utilisateur des années 90
Chris Chinchilla HackerNoon profile picture


J'ai toujours aimé jouer avec les systèmes d'exploitation et les environnements de bureau. Je crois que mon premier système d'exploitation graphique était AmigaOS. Au cours des décennies qui se sont écoulées depuis que j'ai travaillé sur différentes versions de Windows, chaque version de macOS depuis la 7.0, différentes saveurs et combinaisons Linux, et de nombreux autres petits systèmes d'exploitation de niche que j'ai oubliés dans une mer de fenêtres et de menus.


Dans une vie alternative (peut-être future ?), j'aurais aimé créer des interfaces utilisateur fictives pour des films, des émissions de télévision et des jeux. Un de mes livres préférés est " Make it so " qui établit des comparaisons entre les interfaces dans la science-fiction et les interfaces réelles.


Quel est ou était votre système d'exploitation préféré ? Faites-le nous savoir en utilisant cette invite d'écriture .


J'ai entendu parler de SerenityOS pour la première fois via une actualité sur le Changelog. Ils ont mentionné qu'une poignée de programmeurs open source travaillaient sur un navigateur et un moteur de navigation alternatifs, Ladybird . C'est une perspective passionnante pour moi car je suis préoccupé par l'hégémonie du navigateur basé sur Chromium, et il y a peu d'autres options qui ne sont pas étroitement contrôlées (WebKit) ou qui disparaissent lentement (Firefox). Ladybird ne prétend pas encore être entièrement présenté ou prêt, mais se développe rapidement.


Puis, en creusant dans Ladybird, j'ai découvert qu'il s'agissait d'un navigateur conçu pour un système d'exploitation tout aussi unique, et j'ai été intrigué ! Pour clarifier, Serenity n'est pas un autre skin Linux ou BSD. C'est quelque chose de construit à partir de zéro mais fortement inspiré par les systèmes d'exploitation modernes et classiques. Il vise à être un système d'exploitation entièrement fonctionnel et utilisable pour une utilisation quotidienne.


Dans cet article, j'examine la création et l'exécution de Ladybird et SerenityOS sur mon MacBookPro M1. L'utilisation d'Apple Silicon a posé certaines complexités, mais pas trop, et la communauté du projet est utile et communicative lorsque vous rencontrez des problèmes.



Construire et faire fonctionner Ladybird

Initialement conçu comme une expérience dans la création d'un navigateur avec les bibliothèques HTML SerenityOS, il est récemment devenu quelque chose qui pourrait être une nouvelle option de navigateur multiplateforme.

Il utilise la bibliothèque Qt UI, donc il ne semble pas complètement multiplateforme mais est utilisable sur toutes les plateformes qui prennent en charge Qt et signifie qu'il y a beaucoup de possibilités d'améliorations supplémentaires.

Je n'ai eu aucun problème à suivre les prérequis et les instructions de construction pour la plate-forme de votre choix . Depuis la version 6.2, Qt prend en charge Apple Silicon, donc aucun de ceux-ci ne m'a posé de problème. Seulement que je devais installer Xcode. Il y a eu un moment où il suffisait d'installer les outils de ligne de commande d'Apple, mais je trouve que j'ai de plus en plus besoin d'outils que seul Xcode fournit.


Les étapes de construction prennent un peu de temps, puis le navigateur devrait s'ouvrir. L'objectif initial du navigateur était d'aider les utilisateurs à déboguer les applications qu'ils construisaient avec les bibliothèques HTML de Serenity. Il existe donc de nombreux outils de débogage disponibles, mais pas encore trop pour les utilisateurs finaux. J'ai d'abord rencontré un problème de rendu des polices, probablement dû à mon écran Retina, mais une question dans le serveur Serenity Discord a obtenu une réponse rapide (c'est spécifique à macOS).


Faites un clic droit sur le binaire construit dans Build/ladybird et ouvrez le fichier Contents/info.plist (probablement dans Xcode, mais n'importe quel éditeur fera l'affaire. Changez la valeur de NSHighResolutionCapable en "NO" et relancez. Le rendu du texte a toujours l'air un peu bizarre, mais c'est lisible.


J'ai remarqué que Ladybird ne rend pas l'audio ou la vidéo. Que ce soit parce qu'il n'a pas encore implémenté cette fonctionnalité de HTML ou en raison de problèmes de licence, je ne suis pas sûr.

Construire et exécuter SerenityOS

Créer et exécuter un navigateur est une chose, créer et exécuter un système d'exploitation complet est quelque chose de bien plus complexe. Comme Serenity est conçu pour les systèmes X86_64, cela signifie également que, en tant qu'utilisateur d'Apple Silicon, je dois l'exécuter dans un environnement émulé. Heureusement, comme Serenity est un système d'exploitation complet, la communauté suppose généralement que vous souhaitez l'exécuter sur une machine virtuelle et a déjà fourni des étapes dans les scripts d'exécution pour utiliser QEMU. En quelques étapes supplémentaires, vous pouvez également le faire fonctionner sur Apple Silicon, mais avec une baisse des performances.


Tout d'abord, j'ai suivi les instructions préalables à la construction de macOS , et pour les utilisateurs de Linux, il existe différentes instructions préalables . Ensuite, vous pouvez revenir aux instructions générales de construction . Tout cela a bien fonctionné mais a pris beaucoup de temps, ce qui est raisonnable pour la construction d'un système d'exploitation.

Initialement, l'exécution de Serenity a échoué au stade QEMU, et j'avais déjà rencontré des problèmes avec QEMU pour un article général sur la virtualisation et l'émulation macOS sur lequel je travaille. Cependant, une autre réponse rapide dans le serveur Discord et j'ai eu une solution.


Dans run.sh à la ligne 256 (au moment de la rédaction), ajoutez ce qui suit :


 -machine pc-i440fx-7.0


Ce bloc entier définit la machine virtuelle QEMU que Serenity utilisera, et " pc-i440fx-7.0 " définit une configuration PC particulière. Après avoir ajouté cela, l'exécution de Serenity a fonctionné. C'est lent en raison de l'utilisation d'un processeur émulé, mais seulement légèrement, avec un deuxième retard à chaque fois que je clique sur quelque chose. Non utilisable au quotidien, mais acceptable à des fins de test.


Serenity a certainement les premières vibrations de l'interface utilisateur Windows, mais avec un état d'esprit Linux. Il n'y a pas de gestionnaire de paquets officiel, mais des ports sont disponibles pour compiler . Au lieu de cela, il regroupe de nombreuses applications courantes avec la version du système d'exploitation. Il y a un éditeur de code, un navigateur (pas Ladybird), des jeux, et plus encore.

Retour vers le futur

Voilà. Avec quelques ajustements et beaucoup d'attente pour les téléchargements et les versions, vous pouvez également exécuter un navigateur et un système d'exploitation complètement nouveaux et uniques ! Je ne suis pas tout à fait sûr de l'objectif final du projet Serenity, car il a commencé comme quelque chose pour un projet passionné pour les principaux responsables et s'est transformé en quelque chose de plus grand. C'est l'une des choses que j'aime dans le projet. Il est entièrement créé par des personnes qui apprécient le processus de création de quelque chose dont elles sont fières, et le monde open source a besoin de plus de projets comme celui-là.


C'est le mois de la hacktoberfest, si vous aimez les projets open source comme SerenityOS, parlez-nous de vos expériences de contribution à l'open source en utilisant cette invite .


Quel est ou était votre système d'exploitation préféré ? Faites-le nous savoir en utilisant cette invite d'écriture .