Show HN: Term.everything – Run any GUI app in the terminal

414 pointsposted a day ago
by mmulet

42 Comments

nick__m

3 hours ago

That's awesomely useless, it straddles the line between programming and art.

I am sure it was a great and fun learning experience.

Well done !

actsasbuffoon

3 hours ago

Yeah, I can’t explain why this project makes me so happy because I struggle to think of any time where I’d need this, but it puts a big, dumb grin on my face.

reactordev

27 minutes ago

This is one of those things that pushes the boundaries to nowhere, yet everywhere at the same time whilst being incredibly awesome and something you can show off ad infinitum. Outstanding! Not sure how we’ll implement vdi now! Gives ghost in the shell a whole new meaning.

But can it run doom?

ugh123

16 minutes ago

This could be used on build machines I own where I occasionally need to interact with the desktop and/or browser on the machine and vnc or other desktop sharing is impractical or exposes security issues.

warwren

2 hours ago

I remember the carbonyl project to run chromium in the terminal that got me really excited (https://github.com/fathyb/carbonyl) but it eventually became unmaintained.

This is pretty much that but supercharged. Definitely really cool to see. Good work!

tracker1

3 hours ago

This is pretty cool, I can see this being useful when I need to run a one-off remotely. Not sure about attaching a running program then detaching again, or mirroring... I wouldn't mind being able to SSH to my desktop and manipulate say the running Discord client, or similar.

Another similar thing that I'd been meaning to look into is the RDP remote apps stuff.

kposehn

an hour ago

Wow. I love this! I actually have a specific, esoteric use for this: VSCode on iPad

Hopefully supports iPadOS one day.

mmulet

an hour ago

I know there are ssh clients for iPad. So it should work. I’m going to try it right now!

Forgret

a day ago

I wish you success in further development, don't stop!

QuiCasseRien

18 minutes ago

insane ! but i still wonder for the use case ^^

maxglute

2 hours ago

Stupid, love it. Occasionally I'll use shaderglass ascii shader on oled screen to play videos with pixel ratio that makes UI unreadable, but it's charming experience.

xiphias2

2 hours ago

- Can you run a compositor inside a compositor? I'd love to just ssh to a server and run hyprland

- doesTerm.everything run inside tmux with automatic window resizing? I guess not, but it would be cool

20after4

3 hours ago

You could use a terminal graphics protocol to render real graphics. But there is already waypipe¹ to do that kind of remoting. Without using an actual terminal.

1. https://gitlab.freedesktop.org/mstoeckl/waypipe

vidarh

3 hours ago

> You could use a terminal graphics protocol to render real graphics.

It already does that[1].

> But there is already waypipe¹ to do that kind of remoting.

That requires Wayland on the client side, doesn't it? I don't expect this to be super-practical anyway, but it's fun to see how far you can push a terminal.

[1] "If your terminal supports images (like kitty or iterm2) you can render windows at full resolution (performance may degrade)."

beckthompson

3 hours ago

Super cool! I also really am glad you added videos and examples in your github repo its nice to get an overview

riddley

an hour ago

Do I need to be using wayland to try this? I'm still on x11.

mmulet

an hour ago

No you do not. It works on x11 and Wayland host systems. I built the Wayland compositor from scratch and it does not have any dependencies on libwayland. So, you don’t have to install Wayland at all.

christophilus

3 hours ago

Wow. This is amazing. I have started running a lot of stuff in containers by default for a whole host of reasons, and this may make my workflow even better on the occasions when I want to run a graphical app.

lazyfanatic42

3 hours ago

It is funny but this is what I wished things did when I first started using Linux back in the day. '98-'99 timeframe, then I "learned" better that there was Xorg/X11,etc.

fzorb

4 hours ago

I remember seeing something similar named Carbonyl a while back. What a coincidence lol.

https://github.com/fathyb/carbonyl

P.S. This is very cool btw.

patcon

3 hours ago

I truly appreciate the relational thinking and pointing out other projects that might interest ppl who are excited about this :) Having said that, term.everything seems to be much larger in scope than a browser, unless I'm mistaken

nixpulvis

3 hours ago

This is one of those things I'm going to keep in my back pocket for a very specific time I need it for a weird reason.

I love it.

chaps

4 hours ago

Neat! I did a similar project many years ago just to see if I could with ANSI color stuff to animate video in my terminal. Worked really well, but it looked like absolute butt (unlike this project).

Nicely done!

impoppy

4 hours ago

Can it run Doom?

mmulet

4 hours ago

It can. GIFs forthcoming.

alkh

4 hours ago

This is so cool, thanks for sharing! Having this on a Mac would be great but I understand that this might be a huge undertaking :)

mmulet

4 hours ago

I definitely want to make a macOS version, but I haven’t even looked into it yet. So, I don’t know the level of hacking required. It definitely doesn’t sound like anything Apple would have an api for, so it would probably be a vnc or accessibility api trick.

OhMeadhbh

2 hours ago

This will be very useful when it exits beta.

didip

4 hours ago

I was about to asked about X11, but ended up learning about Wayland.

Thanks for sharing!

lxe

3 hours ago

This is absolutely unhinged and I love everything about it

howyesno

an hour ago

"I feel like every single day I hear about another terminal file viewer. I say, stop making terminal file viewers because you can just use the file viewer you already have! In your terminal!" LMAO

komali2

2 hours ago

This is an incredibly cool project and you should be proud for building it.

rochak

2 hours ago

Wow this is incredible

NewUser49

3 hours ago

Outstanding project! Keep it up. If it ever gets renamed, consider - Terminal.All, T.All, or TAll.

quotemstr

3 hours ago

Great job! If you tug on this thread long and hard enough, you develop this enough and you get RDP (which you can try via xrdp, GNOME's remoting thing, etc.).

The reason the terminal ecosystem doesn't get much more sophisticated over time isn't just the herd-of-cats fragmentation, but also evaporative cooling: people who do really cool things with terminal come to realize that what they really want is remote desktop (perhaps rootless) and leave terminal stuff as-is while they invest in more sophisticated systems instead.