Live data from Hacker News

Show HN: Linux server management over SSH – written in Rust and Tauri

serverbox.stupidlabs.lol

51–57 of 57 posts

Re: Show HN: Linux server management over SSH – written in Rust and Tauri

#51

Earlier quoted context omitted.

The choice of Tauri for a Linux app using AppImage is a dead giveaway they have no clue what they are doing.

Can you expand on that? The point of an appimage is so you don't have any dependencies or linking errors. Rust can still link to libraries, so that doesn't seem to be a weird pattern to me. Electron appimage would be weird though since it does all its bundling by itself

Sure. Tauri tries to claim its lighter than Electron by not including a full web browser in its runtime and instead using the system renderer. But Linux doesn't have a universal system renderer like Windows and Mac does so it uses Webkit2Gtk on Linux. Libwebkit is an absolute mess of a library. It hardcodes the path to /usr which doesn't work in AppImages resulting in this[1] hack of a fix that replaces `/usr` with `././`. This problem isn't unique to Tauri as I have seen apps using Wails copy this same trick to package their AppImages.

Now the problem with libwebkit goes even deeper because Tauri uses libwebkit2gtk-4.1 after moving away from 4.0. When you build an AppImage you want to do it on the oldest possible distro you want to support because it will be built against GLIBC of that distro release. Due to how most devs release apps now, that means they compile against an Ubuntu LTS release because Ubuntu is the only option with Github Actions[2]. The first LTS version of Ubuntu with 4.1 is 22.04, so now by default you can expect every Tauri (and also probably Wails) AppImage to be built against GLIBC 2.36. But theres a bug in the interaction of older libwebkit2gtk and newer freetype that happens when you use an AppImage built on Ubuntu 22.04 on a newer distro. It crashes when displaying an emoji character. Freetype is one of the libraries you cannot include in an AppImage but you must include libwebkit2gtk, the solution is to use a newer libwebkit2gtk but thats only available in Ubuntu 24.04 and bumps the GLIBC to 2.39. Do you see how much of a mess this usage of libwebkit2gtk in an AppImage turns out to be.

And moving beyond that, the Tauri devs has an absolute disdain for the AppImage format and treat it as a 2nd class platform as you can see in this[3] PR where AppImage developers tell the Tauri devs to update to newer tools instead of mirroring the old obsolete broken tool that was taken down. This also meant that AppImages created by Tauri's build tools depended on libfuse2 being installed on the system while newer AppImages using the type2-runtime do not anymore. I believe Tauri has finally moved forward and stopped doing this recently. Electon is no better on this and electron-builder uses an outdated hardcoded tool that makes bad AppImages that depend on libfuse2 too.

I do like the AppImage format, but I do not believe anything that uses libwebkit2gtk-4.1 is fit to be distributed as an AppImage at this time. This means that Tauri (and by extension probably Wails, and some of these other NOT Electron frameworks) are not fit to be truly called cross platform. It does look like Tauri was making progress on Flatpak documentation so app developers could have a second cross distro packaging method. Ideally I think any framework that wants to label itself as cross platform should make it easy to package both AppImage and Flatpak and not run into the above libwebkit2gtk issues.

[1]https://github.com/tauri-apps/tauri/blob/ad0b98a2329e369364e...>

[2]This is not entirely true, you can use a docker image inside the Github Actions Ubuntu VM or a sysroot but that is beyond even most expereinced app devs to setup.

[3]https://github.com/tauri-apps/tauri/pull/13863>

Re: Show HN: Linux server management over SSH – written in Rust and Tauri

#52
post #49

Earlier quoted context omitted.

Won't happen until Tauri can treat Linux as a first class platform. Which they cannot do because of architectural design and library choices.

Is there any webview control ready to use in linux? When I say Tauri it's just the webview control, used as a cargo package as "wry" in macos. I don't care about the framework itself, just the webview control. If that's the case then Rust/(stripped down WebView) is all we need to be honest Edit: Looks like the same "wry" package can be used in linux https://github.com/tauri-apps/wry

The README for wry under Platform Considerations suggests its not actually implementing the webview but just a wrapper that uses the correct one for each platform. The usage of WebKitGTK IS the problem that makes it second class on linux. I talked about this more in https://news.ycombinator.com/item?id=49514323

Re: Show HN: Linux server management over SSH – written in Rust and Tauri

#53

Every time I connect to my server I receive a Delivery Status Notification (Failure) email from my gmail address as if it tries to use my phpmailer to send an email to testing@example.com edit: the email comes from my website, when I connect a new user is created in my website with random name and that email address.. DOESN’T SEEM SAFE AT ALL!

[dead]

Re: Show HN: Linux server management over SSH – written in Rust and Tauri

#55

Earlier quoted context omitted.

Source code will be released day after tomorrow. I will add a comment in this thread itself, as well as update the site with a link to Github.

Why not make this post the day after tomorrow then instead of today?

My choice

Re: Show HN: Linux server management over SSH – written in Rust and Tauri

#56

Earlier quoted context omitted.

Can you expand on that? The point of an appimage is so you don't have any dependencies or linking errors. Rust can still link to libraries, so that doesn't seem to be a weird pattern to me. Electron appimage would be weird though since it does all its bundling by itself

Sure. Tauri tries to claim its lighter than Electron by not including a full web browser in its runtime and instead using the system renderer. But Linux doesn't have a universal system renderer like Windows and Mac does so it uses Webkit2Gtk on Linux. Libwebkit is an absolute mess of a library. It hardcodes the path to /usr which doesn't work in AppImages resulting in this[1] hack of a fix that replaces `/usr` with `…

Thank you for the detailed reply. I just recently started playing with Tauri, so I was not aware. I also heard that gtkwebview is slow as dirt. Sounds like verso support can't come quick enough.
Post reply on HN