Replies: 5 comments 5 replies
-
I'd view "Project Exo" as Windows Terminal for Linux aka a great frontend for Linux Subsystem for Linux (distrobox), but also containing the host terminal (because why shouldn't it). In order to not have to write a terminal emulator from scratch, one could consider making a light wrapper around some GUI-less terminal emulator like Kitty (my favorite), or as a fork of Blackbox. It should really start with the basic functionality of click + to choose an environment and open a tab. One thing, though. I don't think using a TUI framework (like textualize or charm) in a terminal emulator would be very wise, as It's the terminal emulators job to render other people's TUI apps, unless you'd rather want a distrobox-tmux than a full-blown terminal emulator. Edit: After a good chat with AI and a look into Black Box's source code GTK seems to have the "VTE widget" which is used by gnome-terminal, blackbox, etc. and can be easily used for a custom terminal, too. No need to reimplement a terminal emulator, only the stuff around it. Here's a MVP made by AI in Nim, my favorite programming language. |
Beta Was this translation helpful? Give feedback.
-
A new Guardian has joined the Fireteam: Hopefully this will help us get volunteers to help build pexo! |
Beta Was this translation helpful? Give feedback.
-
Nack on the TUI... How would accessibility work? You should absolutely use a real GUI toolkit for GUI tasks. I was envisioning something similar for carbonOS, but maybe a little further even. So instead of being just containers, it would also natively support SSH servers (automatically read from ~/.ssh/config?) and serial consoles. The host environment is also a must... My inspiration was the Termius app on iOS I suspect upstream GNOME would be interested in something like this if it's built on top of kgx and follows the HIG |
Beta Was this translation helpful? Give feedback.
-
Since both OSTree and containers will use ComposeFS maybe it will be possible to use the OS as the image for containers? It would be awesome to deduplicate the used storage. |
Beta Was this translation helpful? Give feedback.
-
I am not convinced that these functionalities should be part of terminal emulators, they sounds more like improvements to distrobox. What's exactly the advantage of a terminal emulator having them? Terminal emulators could still be better integrated, for example Distrobox could create .desktop launchers that run the terminal emulator with a specific profile setup with a shell in a specific container. At least in Konsole, profiles can have different color schemes and even different background images to differentiate between containers. It's just an idea, I am for an integration that is more DE/toolkit-agnostic. |
Beta Was this translation helpful? Give feedback.
-
THIS IS ARCHIVED
https://gitlab.gnome.org/chergert/prompt is here!
(This is labelled as a
concept
, which is an inprogress idea or proposal, it is not resourced or scoped so mostly just a collection of ideas. Over time it might move to aproposal
)Hey everyone, I've been kicking this idea around with others in a google doc and figured it's ready for more outside input, here's what the pitch looks like.
NOTE: This is a specification, it does not exist! We want to make this and need your help!
Project Exo
Become Legend.
Project Exo is a prototype terminal designed to bring container-native workflows to the Linux desktop. It embeds Distrobox and libvte to give you graphical control of your day-to-day terminal images. Think of it as a frame for your favorite Linux command line: use your favorite images from Alpine, openSUSE, Fedora, Ubuntu, Debian, CentOS, RHEL, and more on any host.
We hope that proving this model of usage will encourage existing terminal projects to support OCI containers as a native environment. Thanks to Toolbx, Distrobox, and BlackBox for inspiration.
It is best used when paired together with next generation Linux desktops like openSUSE MicroOS, Fedora Silverblue, Fedora Kinoite, EndlessOS, SteamOS, or VanillaOS. But also approachable enough to level-up a traditional distribution.
Installation
Ideally we want this as a flatpak that can work everywhere like how Blackbox is. However I've been told that there's a bunch of permissions stuff that might not make that possible so we could do debs and RPMs as it depends on distrobox and podman/docker. We'll need to figure this out.
However there might be reasons to make debs and RPMs and if someone does it then cool!
Features
Pexo currently does not support being a host terminal, we recommend it as an additional terminal for managing distroboxes only, and to leave your existing terminal for host usage. Ideally over time you’ll become comfortable working in containers!
Notes for the prototype
Prior Work
Summary/Pitch
This is admittedly nerd territory, by a lot. This isn’t something that 99% of the world will ever need to see. Whatever’s in that last 1% are the kind of people we need in OSS long term, so I kind of want to show off the power of a fully armed and operational cloud-native terminal.
The real TLDR is: If you tell an existing Mac or WSL developer that Linux just comes with this and it’s way faster and than what they have now (we don't need a VM!) and they can get that workflow they like ... they might take a more serious look!
Thanks for your consideration!
Made with <3 by Marco and Jorge via a grant from the Clovis Bray Corporation’s Exoscience Division
Beta Was this translation helpful? Give feedback.
All reactions