Qubes Controller as the new Qubes-Manager

160 views
Skip to first unread message

Tom Zander

unread,
Jan 3, 2018, 4:10:06 PM1/3/18
to Qubes users, qubes...@googlegroups.com
Hi guys,

during my Christmas holiday I spent more time to get myself a decent GUI
tool in order to replace the Qubes Manager from the 3.x release.
As I promised some weeks ago, today I released the tool as free/open source
software and I have received some positive signs that the Qubes devs may
ship packages in a future release.

For me it already is quite useful as I prefer clicking to typing repetative
tasks.

I'll attach two sceenshots of the tool, to give you a bit of an idea of what
it already does and maybe if its worth your time to compile :)

This small GUI is split into two projects, one is a library and one is the
GUI application itself.
The reason for this is that there is currently no way for people that are
not at home with python to contribute to Qubes. The library will allow a
much bigger set of developers to start to contribute ideas and code.

Its a long term thinking, in other words.

What works;

* starting/stopping/pausing and naturally listing of qubes.
* showing basic info (see screenshot).
* starting the tools with a single click which are associated with a qube.
* showing statistics (cpu-time-spend, CPU percentage used).

What (basic expected stuff) doesn't work yet;
* No systray icon just yet.
* keyboard navigation.

Resources;
* Code (github);
https://github.com/QubesController/qubes-api-cpp-lib
https://github.com/QubesController/qubes-controller

* Github; https://github.com/QubesOS/qubes-issues/issues/3417

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

Zrubi

unread,
Jan 5, 2018, 6:44:06 PM1/5/18
to Tom Zander, Qubes users, qubes...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 01/03/2018 10:09 PM, 'Tom Zander' via qubes-devel wrote:
> Hi guys,
>
> during my Christmas holiday I spent more time to get myself a
> decent GUI tool in order to replace the Qubes Manager from the 3.x
> release. As I promised some weeks ago, today I released the tool as
> free/open source software and I have received some positive signs
> that the Qubes devs may ship packages in a future release.

> I'll attach two sceenshots of the tool, to give you a bit of an
> idea of what it already does and maybe if its worth your time to
> compile :)


Probably this is very subjective, but:
For me, the most important parts/feature of the current Qubes Manager
are (in order of importance):

- - Full overview of the state of the VMs in ONE screen, without clicking.
The new widget is failing on this badly, just as your proposal.


- - Changing the NetVM of a given VM.
Mainly because I always starting DispVMs without net access.
And even the current solution is far from comfortable:
(VM settings -> NetVM selection -> OK
instead of a simple "oneclick" NetVM selection)

- - Starting programs from a given VM.
Yes the "start menu" is nice, but sometime it is just more powerful to
type directly what I want. Especially on an already started dispVM

- - start/stop VMs

- - attaching/detaching devices.

- - reading VM logs.


Probably these are only my personal preferences. Hence I have no time
to write a new manager for the Qubes 4.x I just shared my use case.
Feel free to ignore them if you don't like 'em ;)

- --
Zrubi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJaUA23AAoJEBozWgtUjzdkZ9IP/32ydmOQ28Y2DkIMHXU131Gs
Vjk5dnhZ77kAwKA6vDKrfXaCyKA5ut07dSnzPkcunjz0GArIeGG35UJNL4A0/EX4
FYd2cDYRa1tDF/PUcny2BukFBeUI37HjK+nwuQtjGkcQ2mYNLSTV1k2Y40NJ6NJi
LWntV3u+VcrxF7i1pzsI1aq6cyAK06ZfsZepxxh6zwDqoSZsmKaFKDMjbyqEBUSg
cs2luM75j+4MbcCTxYnAPve2D0Kk2vSQ8s7Egh/S+GVDBmJu0wyaVmdVOds8W7SJ
R8FPs8/I5/M+13eqkcALwAz7Q1BfT5rD7/3+/H8sOIWvNqU0RDhq87ZjVINpb43t
leimmZMLDSYZMsui1/ihhp6llmHRzx9aWskmJHp90csUHN3F142bArjqMXjVEdKn
00mi/cgqcCB8e8Di6hZbCFWibAUyaZnsJ2Ss2kIVLjUoINSBjd52fN6U9DdIlgsk
69GrQaCcOyfOjiv4VYZKZpUDSEgHZWScWECEe7PlPR73DGRBY5L49KPSqpzUJgIG
a2bP0sMTqYqykhZ+/7IH5BqEq4m5CgGVZCTXC0pYwJ6jd7L6VcanXayeHaLf3lis
35oxKOiEk2Lit2bEj8f3sfdBp0kl46rikKpzWORp9pvrg8xU4N/YveA0lzDR5Q4J
wE/hkPkuAe3s9Srwj3SU
=E+5l
-----END PGP SIGNATURE-----

Tom Zander

unread,
Jan 5, 2018, 7:07:00 PM1/5/18
to qubes...@googlegroups.com, Zrubi, Qubes users
On Friday, 5 January 2018 23:43:58 GMT Zrubi wrote:
> > I'll attach two sceenshots of the tool, to give you a bit of an
> > idea of what it already does and maybe if its worth your time to
> > compile
>
> Probably this is very subjective, but:
> For me, the most important parts/feature of the current Qubes Manager
> are (in order of importance):
>
> - Full overview of the state of the VMs in ONE screen, without clicking.
> The new widget is failing on this badly, just as your proposal.

My aim has so far been to show which VMs are there, which type they are and
if they are running. This is visible in one go. Including even which VM has
a high CPU usage.
I'm not happy yet with the way that the netVM is visualized, as you say it
costs clicks on each VM.

> - Changing the NetVM of a given VM.

Great idea!

> - Starting programs from a given VM.

Fully agreed, this is what I added last week. I'm using it all the time.
Much more convenient than the start menu.

> - start/stop VMs

Present :)

> - attaching/detaching devices.

Yes, definitely.

> - reading VM logs.

Good to know.

> Probably these are only my personal preferences. Hence I have no time
> to write a new manager for the Qubes 4.x I just shared my use case.
> Feel free to ignore them if you don't like 'em

They are excellent ideas, thanks!

Franz

unread,
Jan 5, 2018, 7:11:46 PM1/5/18
to Zrubi, Tom Zander, Qubes users, qubes...@googlegroups.com
I agree with Zrubi list. I would add some way to make some order in the applVM list, so that a standard view may show only the most commonly used VMs, while rarely used VMs are hidden and shown only clicking a button. To do that, there should be a flag to differentiate the visibility of VMs.

This may be helpful also in a corporate environment when an administrator can decide which VMs should be shown and which should be hidden.

Best
Fran


 
Probably these are only my personal preferences. Hence I have no time
to write a new manager for the Qubes 4.x I just shared my use case.
Feel free to ignore them if you don't like 'em ;)

- --
Zrubi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJaUA23AAoJEBozWgtUjzdkZ9IP/32ydmOQ28Y2DkIMHXU131Gs
Vjk5dnhZ77kAwKA6vDKrfXaCyKA5ut07dSnzPkcunjz0GArIeGG35UJNL4A0/EX4
FYd2cDYRa1tDF/PUcny2BukFBeUI37HjK+nwuQtjGkcQ2mYNLSTV1k2Y40NJ6NJi
LWntV3u+VcrxF7i1pzsI1aq6cyAK06ZfsZepxxh6zwDqoSZsmKaFKDMjbyqEBUSg
cs2luM75j+4MbcCTxYnAPve2D0Kk2vSQ8s7Egh/S+GVDBmJu0wyaVmdVOds8W7SJ
R8FPs8/I5/M+13eqkcALwAz7Q1BfT5rD7/3+/H8sOIWvNqU0RDhq87ZjVINpb43t
leimmZMLDSYZMsui1/ihhp6llmHRzx9aWskmJHp90csUHN3F142bArjqMXjVEdKn
00mi/cgqcCB8e8Di6hZbCFWibAUyaZnsJ2Ss2kIVLjUoINSBjd52fN6U9DdIlgsk
69GrQaCcOyfOjiv4VYZKZpUDSEgHZWScWECEe7PlPR73DGRBY5L49KPSqpzUJgIG
a2bP0sMTqYqykhZ+/7IH5BqEq4m5CgGVZCTXC0pYwJ6jd7L6VcanXayeHaLf3lis
35oxKOiEk2Lit2bEj8f3sfdBp0kl46rikKpzWORp9pvrg8xU4N/YveA0lzDR5Q4J
wE/hkPkuAe3s9Srwj3SU
=E+5l
-----END PGP SIGNATURE-----

--
You received this message because you are subscribed to the Google Groups "qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscribe@googlegroups.com.
To post to this group, send email to qubes...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/32e96efa-8650-2f48-04da-2b78e83074ad%40zrubi.hu.
For more options, visit https://groups.google.com/d/optout.

Stumpy

unread,
Jan 5, 2018, 7:51:42 PM1/5/18
to Tom Zander, Qubes users, qubes...@googlegroups.com
I haven't had a chance to compile this yet but it is a fantastic idea! I
was kinda missing the old manager. Much thanks!

Tom Zander

unread,
Jan 6, 2018, 6:27:18 AM1/6/18
to qubes...@googlegroups.com, qubes...@googlegroups.com, Franz
On Saturday, 6 January 2018 00:11:43 GMT Franz wrote:
> I would add some way to make some order in the
> applVM list, so that a standard view may show only the most commonly used
> VMs, while rarely used VMs are hidden and shown only clicking a button. To
> do that, there should be a flag to differentiate the visibility of VMs.

I made a start with this based on my own usage; See the attached
screenshots.
Going from screenshot1 (showing all my qubes) to 5 by removing ones based
on;
* being templates for disposable VMs. (you likely never want to start them
after initial configuration).
* being a "network" VM.
* Being a template.
* Being halted.

Naturally you can combine those settings in any way you want to show the
subsection of qubes you use.
I expect that I''l end up using the settings as "snapshot4" shows it most of
the time.

> This may be helpful also in a corporate environment when an administrator
> can decide which VMs should be shown and which should be hidden.

This is a great idea, I recall that root added tags in 4.0. I have not tried
them yet, but it sounds like a good fit.

Thanks for the ideas!
snapshot1.png
snapshot2.png
snapshot3.png
snapshot4.png
snapshot5.png

Outback Dingo

unread,
Jan 6, 2018, 7:49:08 AM1/6/18
to Tom Zander, qubes...@googlegroups.com, qubes...@googlegroups.com, Franz
This runs on 4.0-RC2 ??
> --
> You received this message because you are subscribed to the Google Groups "qubes-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to qubes-devel...@googlegroups.com.
> To post to this group, send email to qubes...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-devel/6795500.m0cd3HnCfT%40mail.

Davidson

unread,
Jan 20, 2018, 2:03:40 PM1/20/18
to qubes...@googlegroups.com
Hey, thanks again for your work, much appreciated.

Another thought just occurred to me, a collapsible tree like option. I
have like "work" VMs (one for libre office stuff, another for email,
another for vid confer) and for general communications (one for IRC,
another for Signal, another for personal email) and anon stuff (crypto
wallets, email via tor, browser, etc), the list I have is really quite
long and I find myself sorting/re-sorting naming etc. I use tree-style
addon in firefox which has the fantastic option to let you stack tabs
among other things, considering that and how I have my file manager
setup to show a tree of the folders I have it would really be quite
handy to organize VMs into a collapsible tree.
Just a thought :)

Tom Zander

unread,
Jan 20, 2018, 5:40:28 PM1/20/18
to qubes...@googlegroups.com, Davidson
On Saturday, 20 January 2018 20:03:31 CET Davidson wrote:
> Hey, thanks again for your work, much appreciated.
>
> Another thought just occurred to me, a collapsible tree like option. I
> have like "work" VMs (one for libre office stuff, another for email,
> another for vid confer) and for general communications (one for IRC,
> another for Signal, another for personal email) and anon stuff (crypto
> wallets, email via tor, browser, etc), the list I have is really quite
> long and I find myself sorting/re-sorting naming etc. I use tree-style
> addon in firefox which has the fantastic option to let you stack tabs
> among other things, considering that and how I have my file manager
> setup to show a tree of the folders I have it would really be quite
> handy to organize VMs into a collapsible tree.

As my list of VMs is growing, this speaks to me.
I really like this idea.

Thanks for sharing it!

Alex Dubois

unread,
Jan 21, 2018, 6:59:17 AM1/21/18
to qubes-users
On Saturday, 6 January 2018 00:07:00 UTC, Tom Zander wrote:
> On Friday, 5 January 2018 23:43:58 GMT Zrubi wrote:
> > > I'll attach two sceenshots of the tool, to give you a bit of an
> > > idea of what it already does and maybe if its worth your time to
> > > compile
> >
> > Probably this is very subjective, but:
> > For me, the most important parts/feature of the current Qubes Manager
> > are (in order of importance):
> >
> > - Full overview of the state of the VMs in ONE screen, without clicking.
> > The new widget is failing on this badly, just as your proposal.
>
> My aim has so far been to show which VMs are there, which type they are and
> if they are running. This is visible in one go. Including even which VM has
> a high CPU usage.
> I'm not happy yet with the way that the netVM is visualized, as you say it
> costs clicks on each VM.
>
> > - Changing the NetVM of a given VM.
>
> Great idea!

Tom, Thanks for putting time into this. It will be greatly appreciated by many.
On that specific point, the disposable template could have the start icons with the program you want, and maybe a drop down for the netVM, or tab, or just for a given program you can select the netVM (i.e. firefox, tor (via whonix), openoffice (no netvm)...


>
> > - Starting programs from a given VM.
>
> Fully agreed, this is what I added last week. I'm using it all the time.
> Much more convenient than the start menu.
>
> > - start/stop VMs
>
> Present :)
>
> > - attaching/detaching devices.
>
> Yes, definitely.
>
> > - reading VM logs.
>
> Good to know.
>
> > Probably these are only my personal preferences. Hence I have no time
> > to write a new manager for the Qubes 4.x I just shared my use case.
> > Feel free to ignore them if you don't like 'em
>
> They are excellent ideas, thanks!

Not sure if feasible but:
- launch it with a shortcut key
- execute the task (i.e. select VM, select program to launch, or command to execute on that VM)
- minimize automatically on task execution (plus same shortcut if no action)

a...@it-minds.dk

unread,
Jan 22, 2018, 4:18:47 AM1/22/18
to qubes-users
This is amazing though, good job Tom!
Reply all
Reply to author
Forward
0 new messages