A first stab at an open source GUI for Qubes

189 views
Skip to first unread message

Tom Zander

unread,
Dec 19, 2017, 7:55:24 AM12/19/17
to qubes...@googlegroups.com
Recently on the user mailinglist there was a very long thread about people
missing the power of the GUI we had in Qubes Manager, after switching to
v4.0

My interpretation was that people don’t just specifically miss the QM, but
that they miss the power of GUIs for many common tasks. The complaint of
losing the QM is in my opinion the result of users losing the main (only)
graphical user interface to get around in Qubes.

I started 2 projects (not public just yet).

* a library (.so) to provide a nice API to the admin-API.
This is similar (is my guess) as the python code shipped by the core team,
the difference is that this library allows access to those that use C++.
This library in no way tried to compete with the python APIs, I’d see it
more like language bindings as different people have different programming
languages they are capable of using.

* A simple “manager”.
See attached screenshot of the first working version.

For me the point is to learn the admin API with this project and create a
useful GUI for my own use, hoping others will like it too.

I can see the library being used to allow existing KDE/Gnome developers to
write apps or extensions to the existing platforms there, something that is
impossible currently as KDE plasma “apps” are mostly written in C++ or
JavaScript.

This is quite immature code and I still have to investigate the event APIs
as I hope I can avoid polling updates. I just wanted to give you guys a
heads-up :)
--
Tom Zander
Blog: https://zander.github.io
Vlog: https://vimeo.com/channels/floweethehub
QubesManager-v0.1.png

Marek Marczykowski-Górecki

unread,
Dec 20, 2017, 5:32:50 PM12/20/17
to Tom Zander, qubes...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Thanks for the heads-up! Library for native extensions definitely would be
useful. Generally we try to use python wherever possible, mostly because
of its memory-safety (debugging memory corruption bugs can be a
nightmare). But in some cases (like by you mentioned KDE plasma apps) it
isn't really an option.

As for the manager, having choice is a good think. Depending on
quality, we may include it in standard repositories, if you want. Please
make sure it won't conflict with existing applications, so can be
installed along with them. Especially 'qubes-manager' name is already
taken.

- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAlo65QwACgkQ24/THMrX
1ywTcgf8CZfY8AMkM+2hepRfHvHkj/w6xvbVP1cmFnK0r7GQhpOxMCvXYoZh/3WY
X/tZ6k4/ctAuQLemptdzyv+Bbk7fGFz84r2pXpO95NJ7vOOBwAqBRd84aP5k8gHe
IaLHVsj5/E/yWjpdMEe9A/4jdTCrKHfG6tGzV/vDThnQDujYfp4YGHtoYeeAwgkM
FxLbCyYO41sKMS1MxGqbWybayvYtUoSaihvkuZl6xI1xFNH4lGOBdcOIHWCZ5C1j
itk/2p1Vb/jYyf5sBBZCOAb3YSlxjeCMaKKfYBsfowuYgUfOQm/PlEV91mxyH5nL
KsQV7PgiHvWlR5MRTKwd5lHHTCuqCg==
=+TwJ
-----END PGP SIGNATURE-----

Peter Todd

unread,
Dec 20, 2017, 11:56:32 PM12/20/17
to Marek Marczykowski-Górecki, Tom Zander, qubes...@googlegroups.com
On Wed, Dec 20, 2017 at 11:32:44PM +0100, Marek Marczykowski-Górecki wrote:
> Thanks for the heads-up! Library for native extensions definitely would be
> useful. Generally we try to use python wherever possible, mostly because
> of its memory-safety (debugging memory corruption bugs can be a
> nightmare). But in some cases (like by you mentioned KDE plasma apps) it
> isn't really an option.

Q: Are there any plans for using Rust in Qubes?

IIRC a Rust compiler is available in recent Fedora distributions.

--
https://petertodd.org 'peter'[:-1]@petertodd.org
signature.asc

Tom Zander

unread,
Dec 21, 2017, 4:48:28 AM12/21/17
to qubes...@googlegroups.com
On Wednesday, 20 December 2017 23:32:44 CET Marek Marczykowski-Górecki
wrote:
> Thanks for the heads-up! Library for native extensions definitely would be
> useful. Generally we try to use python wherever possible, mostly because
> of its memory-safety (debugging memory corruption bugs can be a
> nightmare). But in some cases (like by you mentioned KDE plasma apps) it
> isn't really an option.
>
> As for the manager, having choice is a good think. Depending on
> quality, we may include it in standard repositories, if you want. Please
> make sure it won't conflict with existing applications, so can be
> installed along with them. Especially 'qubes-manager' name is already
> taken.

Thanks for the reply, including it in standard Qubes is a great goal to work
for!
Also I’ll make sure to name the app something different than “qubes manager”

--
Tom Zander
Blog: https://zander.github.io
Vlog: https://vimeo.com/channels/tomscryptochannel


Marek Marczykowski-Górecki

unread,
Dec 21, 2017, 6:38:09 AM12/21/17
to Peter Todd, Tom Zander, qubes...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Well, we don't have such plans right now, but this is definitely
interesting thing to look into.
One think that python is better (or just different), is that it is
interpreted - IOW you don't need build environment, separate source code
etc to apply a trivial change, or just to see how things work. But in some
places (like above, or where performance is crucial), using Rust indeed
may be a good idea.

- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAlo7nRsACgkQ24/THMrX
1ywVAgf+KszoiwJjdDMS9aKt6GPzPvB/GLFY0zllSApOt3A8oX0QuCZ5b00b3qU/
1yjbgmtDUjcstvyVkbRvVwLaABsuolbt9malhXq7oxFkb4eMr5/65byZqzZKTeEq
dvWtVSvjurI8D0McX2/ppdmAdUvHewDdVCd4RtTcMDEKKmCq9FpIwVR+SjBnR+bI
5dK/kwt6h505V9HLREm77akLMIWcBAevxq1yuLod/P7WGB7F1pfqi2kQBsYnfzMB
yJSmo5MXqnTgn395Y9y6EDhND636Cf9UiB3R5qRJ+qVGyeXnnKmipx2CE9oTJlqK
zgzDI303a59HZiCMYlB+rJTjdsM8yA==
=H1sX
-----END PGP SIGNATURE-----

Peter Todd

unread,
Dec 22, 2017, 1:42:10 AM12/22/17
to Marek Marczykowski-Górecki, Tom Zander, qubes...@googlegroups.com
On Thu, Dec 21, 2017 at 12:38:00PM +0100, Marek Marczykowski-Górecki wrote:
> On Wed, Dec 20, 2017 at 11:56:24PM -0500, Peter Todd wrote:
> > On Wed, Dec 20, 2017 at 11:32:44PM +0100, Marek Marczykowski-Górecki wrote:
> > > Thanks for the heads-up! Library for native extensions definitely would be
> > > useful. Generally we try to use python wherever possible, mostly because
> > > of its memory-safety (debugging memory corruption bugs can be a
> > > nightmare). But in some cases (like by you mentioned KDE plasma apps) it
> > > isn't really an option.
> >
> > Q: Are there any plans for using Rust in Qubes?
> >
> > IIRC a Rust compiler is available in recent Fedora distributions.
>
> Well, we don't have such plans right now, but this is definitely
> interesting thing to look into.
> One think that python is better (or just different), is that it is
> interpreted - IOW you don't need build environment, separate source code
> etc to apply a trivial change, or just to see how things work. But in some
> places (like above, or where performance is crucial), using Rust indeed
> may be a good idea.

I agree that interpreters are convenient!

Though actually, I've found in other projects that the main thing driving me to
Rust from Python is a good mandatory type system, which I'm finding helps
prevent security issues when used appropriately - at the cost of making the
code slower to write. Though given that the code isn't done until it's audited,
in many cases I'm finding I finish the job faster with Rust than Python.

But thats just initial experiences - I'll see how I feel about it still in
another year. :)
signature.asc
Reply all
Reply to author
Forward
0 new messages