Qubes 3.0 configuration experience & customization & kde-ui experiences

6,325 views
Skip to first unread message

na...@riseup.net

unread,
May 8, 2015, 10:01:51 AM5/8/15
to qubes...@googlegroups.com
Hello,

yesterday i installed Qubes 3.0 with KDE as default on a new laptop.
Now almost everything is nicely done.

In this mail i want to outline some of the work i did in order to
satisfy my demands on my daily operating system. Maybe someone feels
inspired, maybe somebody has suggestions for me, maybe somebody finds
solutions to problems in this mail. :)

Setting up the Icons
====================
After importing backups from qubes R2B3 (no serious errors here :)) i
assigned all my fedora-20-template-based-VMs to the new
fedora-21-template. If i understand it right there were big changes
made to core between Qubes 2 and Qubes 3. (check:
http://blog.invisiblethings.org/2015/04/23/qubes-30rc1-and-roadmap.html)
VMs with old qrexec don't work with Qubes 3.0.

I noticed that all imported-vm application-icons were messed up and/or
buggy. To fix it i changed the colors(labels) of all affected VMs and
changed it back to the original color. This procedure is described
somewhere in this mailing list. After doing this, i logged of and in
again and most the icons were new and shiny again.
I realized that there were still some icons in the wrong color. I
checked the menu configuration and detected, that the
still-buggy-icons or better there Application-links all had in common,
that they were not set up in the "Application"-tab in qubes-manager.
So i set them up; all icons are working again now.

Setting up the templates
========================
Then i cloned provided template-vms. For example:
qvm-clone fedora-21 fedora-21-net-interim
qvm-clone fedora-21 fedora-21-app
This has some advantages: it's always possible to go back to the
original template, if something is messed up. I never touch the
original template.
Furthermore is my app-template very big and contains many programs i
really don't need in any networking-service-vm like sys-net or
sys-firewall.
Net-template is interim, because I'm waiting for a
fedora-21-minimal-template to rebase my net-template on the minimal
template.
I did the same with the debian-template.

I also edited `/etc/vimrc` and `/etc/bashrc` in my templates. I want
my nice little aliases and vi-configuration available in every vm.
With the splitting of the template i was able to set up different $PS1
(bash) for different templates, so my command-prompt looks
differently. In my opinion it is important to identify the
corresponding VM to an window very quickly. Beside the window-colors,
which are enormously helpful, i try to create more difference between
VMs in "look & feel" in order to work more quickly with QubesOS.

Screenshots
===========
After i did first first configuration, i started to customize KDEs
"look n' feel". Here are some screenshots:

http://s3.postimg.org/cb6v6l9oz/qubes_desktop1.png
http://s3.postimg.org/ugjtkn977/qubes_desktop2.png
http://s3.postimg.org/n1z360cpf/qubes_desktop3.png
http://s3.postimg.org/lbg24iv6b/qubes_desktop4.png

* The background image is changing every 25sec. I `mv`ed all
non-qubes-wallpapers to another folder and set up diashow. The nice
wallpapers by Michał Kopczyński generate an awesome color-changing-effect.

* I changed many hotkeys in KDE and Qubes: moving windows to next
workspace, resize window to left or right half of the screen,
switching between workspaces, maximizing and minimizing windows,
showing the desktop (cause there are the shortcuts to my programs) and
i changed default copypaste-hotkeys. ( [qubes-users] Copy+Paste with
Meta+[cv] possible? )

* I installed `cowsay`, `sl`, `tilda` and `smooth tasks` in dom0. The
taskbar in the bottom is an `smooth tasks`-widget. As it is configured
it only shows captions of windows on current workingspace. That allows
me to keep track of all my opened applications but it isn't overloaded
like it would be, if all applications captions were shown.

* Icons on the desktop are grouped in simple "quicklaunchers".
Sometimes with caption, sometimes without.

* There are 4 terminal-windows in groups of two on the desktop:
* First shows `watch`es the `awk`ed output of my patched `qvm-ls`
output is augmented by `cowsay` i'll pipe some qubes-related-hints
into this in the future.
My little `qvm-ls` patch adds an option to suppress the output of
labels in `qvm-ls`.
@Developers: interested? I nether wasn't able to find the
according repository nor the according file in git.
* Second shows `tail -f /var/log/qubes/* & dmesg -wH`.
Maybe there is something more nicely than
`tail -f /var/log/qubes/*`
* Third shows `top`. I mainly want it for load average and
different system information.
* Fourth is a terminal. In the screenshots i executed different
commands in it. A basic terminal at this position is very useful
if you e.g. want to quickly `qvm-run something`.
All of them are driven by `tilda`. I played inside the gui
configurations so they look nicely and show up with the proper
commmand after reboot.
Transparency-settings in `tilda` cause gfx-bugs. It is better to set
transparency via KDE.
It is comfortable to right-click tilda, go "more"->"special settings
for this program"
If you want edit it later go to "KDE-settings"->"window behaviour"->
"window rules".
In this menu it is a good idea to:
* 1st tab -> program recognition by containing string, not by exact
string
* 2nd tab -> disable minimize
* 3rd tab -> keep in background
* 3rd tab -> disable tabbing
* 4th tab -> transparency if you want

* On screenshot 3 i use vim with syntastics + pylint. If vim is
properly configured and has the plugins needed, it can do the job of
a good IDE.

* I enabled 3d-magicbox for my workspaces as you see on screenshot 4.
I always liked it :)

Finally
=======
In my opinion it's worth to dig into your window managers graphical
configuration.

I hope this mail may have given an idea to some of you of how setting
up a desktop-environment with QubesOS could be. Generally I'm using
many hotkeys for many things. The problem with Qubes is, that you
normally have two many Applications to hotkey them. Names are normally
to long and difficult to type them in. So click the most used
applications to start them seems to be the solution. Most important
thing here is to have an hotkey to show the desktop.

Alternatives?
=============
Writing this mail, two more options for setting up a fast
working-environment, that would fulfill my demands, came to my mind.

a) hack bash-completion for `qvm-run`
or better:
hack bash-completion for an alias like `r` for `qvm-run -a --tray`
With this you could set up an always-visible-dom0-shell to start
applications

b) set up application-links like i did, but arrange them in a grid.
Set up hotkeys for the grid like this:
http://faqsmedia.ign.com/faqs/image/article/110/1109259/gridf.jpg
This is actually from Starcraft2. It uses a 3*5-grid. But grids of
4*10 or 3*10 are imaginable too.

Second idea seams to be compatible with my basic-setup. Maybe i'll set
up things like this someday.


so long, Questions are warmly welcome,

nalu

JPL

unread,
May 8, 2015, 6:15:37 PM5/8/15
to qubes...@googlegroups.com, na...@riseup.net

Wow. Someone's been busy!

I like what you have done with graphics to make Qubes a little easier to use. In 'vanilla' mode it can be hard to navigate between apps and files hosted on different AppVMs because they all look so similar. Thanks for sharing how you did it. Personally I don't like having to click "start" then select the app from a list, or issue a command from VM manager and I like how you have sorted them all on the desktop. In Qubes 2 I found the desktop shortcuts to be very buggy (ie they kept disappearing or the colours changed) so I didn't bother with them after a while, and I never got to grips with the widgets at all. Since having upgraded to 3 I haven't really tried changing look and feel but I like your ideas and I'll give them a go.
Thanks

Marek Marczykowski-Górecki

unread,
May 11, 2015, 5:56:46 PM5/11/15
to na...@riseup.net, qubes...@googlegroups.com, Axon, Wojciech Porczyk
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Fri, May 08, 2015 at 04:01:42PM +0200, na...@riseup.net wrote:
> Hello,
>
> yesterday i installed Qubes 3.0 with KDE as default on a new laptop.
> Now almost everything is nicely done.
>
> In this mail i want to outline some of the work i did in order to
> satisfy my demands on my daily operating system. Maybe someone feels
> inspired, maybe somebody has suggestions for me, maybe somebody finds
> solutions to problems in this mail. :)

Wow, impressive! Really nice work!
Can we link this message somewhere in documentation? @Axon, do we have
place for such links? ;)
Or can we add those screenshots to our screenshots page?


> Setting up the Icons
> ====================
> After importing backups from qubes R2B3 (no serious errors here :)) i
> assigned all my fedora-20-template-based-VMs to the new
> fedora-21-template. If i understand it right there were big changes
> made to core between Qubes 2 and Qubes 3. (check:
> http://blog.invisiblethings.org/2015/04/23/qubes-30rc1-and-roadmap.html)
> VMs with old qrexec don't work with Qubes 3.0.

There is instruction how to upgrade templates and standalone VMs:
https://www.qubes-os.org/doc/UpgradeToR3.0rc1/
When you've already upgraded (installed) R3.0, you need to follow
instructions at the end of that page.

> I noticed that all imported-vm application-icons were messed up and/or
> buggy. To fix it i changed the colors(labels) of all affected VMs and
> changed it back to the original color. This procedure is described
> somewhere in this mailing list.

Simply calling qvm-sync-appmenus <name of template> should be also
enough.

> After doing this, i logged of and in
> again and most the icons were new and shiny again.
> I realized that there were still some icons in the wrong color. I
> checked the menu configuration and detected, that the
> still-buggy-icons or better there Application-links all had in common,
> that they were not set up in the "Application"-tab in qubes-manager.
> So i set them up; all icons are working again now.

Yes, only the icons selected in "Application" tab are regenerated. Normally
others are not visible to the user...
This tool is located here:
https://github.com/QubesOS/qubes-core-admin/blob/master/qvm-tools/qvm-ls

Actually it will be (is?) totally rewritten in core3 (planned for R4.0)
and will support almost any configuration of displayed columns. This is
the only tool already written:
https://github.com/marmarek/qubes-core-admin/tree/core3-wip/qubes/tools

But there is a long way to have core3 stable...

> * Second shows `tail -f /var/log/qubes/* & dmesg -wH`.
> Maybe there is something more nicely than
> `tail -f /var/log/qubes/*`
> * Third shows `top`. I mainly want it for load average and
> different system information.

You may be also interested in `xentop`.
I've seen zsh-completion plugin for qvm-* tools. Here:
https://groups.google.com/forum/#!topic/qubes-users/vGhXfRBtNhc
I bet there was a second one, more complete, but can't find it now.
@Woju, do you have a link handy?

> b) set up application-links like i did, but arrange them in a grid.
> Set up hotkeys for the grid like this:
> http://faqsmedia.ign.com/faqs/image/article/110/1109259/gridf.jpg
> This is actually from Starcraft2. It uses a 3*5-grid. But grids of
> 4*10 or 3*10 are imaginable too.
>
> Second idea seams to be compatible with my basic-setup. Maybe i'll set
> up things like this someday.
>
>
> so long, Questions are warmly welcome,
>
> nalu
>

- --
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-----
Version: GnuPG v1

iQEcBAEBAgAGBQJVUSWTAAoJENuP0xzK19cs0ikH/16hQaxgpjDLuZ7ACz/Nd5O4
uQxA5O0NAKeuQ28h17OYmiPMPllT+zSyET10yWo+vYWwH7EJ5uIVk7mxAA5ytrIV
jzI/YrM/KSEEzUvp1ueGUNfR1g5DGinxXNz7U4AxU8CXxBZZBojIQnQUN3iwyjjl
rcT7tOpVGJo0qkfreXsY/l/MjlPoMpf1osWtntPhA/YgciUtqLUrKAjQcafVbRyt
DT88fp7LloRspBRwb/3WPHtkivA8JKj9+qLZ9vKydw6BQj+DgEbGjIPk3Q5ojkGO
N1QMMRw6y328ID3D2liYChu1o8L7DrVaX5dPCr+T+5CJYzu305upQ11QQE8/2hA=
=iNzM
-----END PGP SIGNATURE-----

Wojtek Porczyk

unread,
May 12, 2015, 2:06:49 AM5/12/15
to Marek Marczykowski-Górecki, na...@riseup.net, qubes...@googlegroups.com, Axon
On Mon, May 11, 2015 at 11:56:35PM +0200, Marek Marczykowski-Górecki wrote:
> On Fri, May 08, 2015 at 04:01:42PM +0200, na...@riseup.net wrote:
> > Alternatives?
> > =============
> > Writing this mail, two more options for setting up a fast
> > working-environment, that would fulfill my demands, came to my mind.
> >
> > a) hack bash-completion for `qvm-run`
> > or better:
> > hack bash-completion for an alias like `r` for `qvm-run -a --tray`
> > With this you could set up an always-visible-dom0-shell to start
> > applications
>
> I've seen zsh-completion plugin for qvm-* tools. Here:
> https://groups.google.com/forum/#!topic/qubes-users/vGhXfRBtNhc
> I bet there was a second one, more complete, but can't find it now.
> @Woju, do you have a link handy?

I'd done some preliminary attempt, aimed at merging to core-admin, but
never polished enough to actually merge that. What's left is single
commit in my old repo. 11 months old, some of the tools have changed.
No guarantees.

http://git.woju.eu/qubes/core-admin.git/commit/501fb736282741e90bb323f818026d9c8bc0863c

> > b) set up application-links like i did, but arrange them in a grid.
> > Set up hotkeys for the grid like this:
> > http://faqsmedia.ign.com/faqs/image/article/110/1109259/gridf.jpg
> > This is actually from Starcraft2. It uses a 3*5-grid. But grids of
> > 4*10 or 3*10 are imaginable too.
> >
> > Second idea seams to be compatible with my basic-setup. Maybe i'll set
> > up things like this someday.
> >
> >
> > so long, Questions are warmly welcome,


--
regards, _.-._
Wojtek Porczyk .-^' '^-.
Invisible Things Lab |'-.-^-.-'|
| | | |
I do not fear computers, | '-.-' |
I fear lack of them. '-._ : ,-'
-- Isaac Asimov `^-^-_>

na...@riseup.net

unread,
May 12, 2015, 10:21:45 AM5/12/15
to qubes...@googlegroups.com, wo...@invisiblethingslab.com


On 12.05.2015 at 08:06 wrote Wojtek Porczyk:
> On Mon, May 11, 2015 at 11:56:35PM +0200, Marek
> Marczykowski-Górecki wrote:
>> On Fri, May 08, 2015 at 04:01:42PM +0200, na...@riseup.net wrote:
>>> Alternatives? ============= Writing this mail, two more options
>>> for setting up a fast working-environment, that would fulfill
>>> my demands, came to my mind.
>>>
>>> a) hack bash-completion for `qvm-run` or better: hack
>>> bash-completion for an alias like `r` for `qvm-run -a --tray`
>>> With this you could set up an always-visible-dom0-shell to
>>> start applications
>>
>> I've seen zsh-completion plugin for qvm-* tools. Here:
>> https://groups.google.com/forum/#!topic/qubes-users/vGhXfRBtNhc I
>> bet there was a second one, more complete, but can't find it
>> now. @Woju, do you have a link handy?
>
> I'd done some preliminary attempt, aimed at merging to core-admin,
> but never polished enough to actually merge that. What's left is
> single commit in my old repo. 11 months old, some of the tools have
> changed. No guarantees.
>
> http://git.woju.eu/qubes/core-admin.git/commit/501fb736282741e90bb323f818026d9c8bc0863c
>
>
>

maybe i should give zsh with your completion a try. Thanks for that. :)

na...@riseup.net

unread,
May 12, 2015, 10:21:48 AM5/12/15
to Marek Marczykowski-Górecki, qubes...@googlegroups.com, Wojciech Porczyk
On 11.05.2015 at 23:56 wrote Marek Marczykowski-Górecki:
> On Fri, May 08, 2015 at 04:01:42PM +0200, na...@riseup.net wrote:
>> Hello,
>
>> yesterday i installed Qubes 3.0 with KDE as default on a new laptop.
>> Now almost everything is nicely done.
>
>> In this mail i want to outline some of the work i did in order to
>> satisfy my demands on my daily operating system. Maybe someone feels
>> inspired, maybe somebody has suggestions for me, maybe somebody finds
>> solutions to problems in this mail. :)
>
> Wow, impressive! Really nice work!
> Can we link this message somewhere in documentation? @Axon, do we have
> place for such links? ;)
> Or can we add those screenshots to our screenshots page?
>

Yes, very nice. :)
Those screenshots are available under the WTFPL or any other license. ;)


>> Setting up the Icons
>> ====================
>> After importing backups from qubes R2B3 (no serious errors here :)) i
>> assigned all my fedora-20-template-based-VMs to the new
>> fedora-21-template. If i understand it right there were big changes
>> made to core between Qubes 2 and Qubes 3. (check:
>> http://blog.invisiblethings.org/2015/04/23/qubes-30rc1-and-roadmap.html)
>> VMs with old qrexec don't work with Qubes 3.0.
>
> There is instruction how to upgrade templates and standalone VMs:
> https://www.qubes-os.org/doc/UpgradeToR3.0rc1/
> When you've already upgraded (installed) R3.0, you need to follow
> instructions at the end of that page.

ah, ok. Anyway i feel comfortable with fedora-21 :)

>> I noticed that all imported-vm application-icons were messed up and/or
>> buggy. To fix it i changed the colors(labels) of all affected VMs and
>> changed it back to the original color. This procedure is described
>> somewhere in this mailing list.
>
> Simply calling qvm-sync-appmenus <name of template> should be also
> enough.

haha. I could have saved much time.

>> [...]
>> * Icons on the desktop are grouped in simple "quicklaunchers".
>> Sometimes with caption, sometimes without.
>> * There are 4 terminal-windows in groups of two on the desktop:
>> * First shows `watch`es the `awk`ed output of my patched `qvm-ls`
>> output is augmented by `cowsay` i'll pipe some qubes-related-hints
>> into this in the future.
>> My little `qvm-ls` patch adds an option to suppress the output of
>> labels in `qvm-ls`.
>> @Developers: interested? I nether wasn't able to find the
>> according repository nor the according file in git.
>
> This tool is located here:
> https://github.com/QubesOS/qubes-core-admin/blob/master/qvm-tools/qvm-ls
>
> Actually it will be (is?) totally rewritten in core3 (planned for R4.0)
> and will support almost any configuration of displayed columns. This is
> the only tool already written:
> https://github.com/marmarek/qubes-core-admin/tree/core3-wip/qubes/tools
>
> But there is a long way to have core3 stable...
>

ok. Then i don't feel this patch is necessary.

>> * Second shows `tail -f /var/log/qubes/* & dmesg -wH`.
>> Maybe there is something more nicely than
>> `tail -f /var/log/qubes/*`
>> * Third shows `top`. I mainly want it for load average and
>> different system information.
>
> You may be also interested in `xentop`.

nice! I'll integrate that into my desktop.

JAppleseed

unread,
May 12, 2015, 5:07:17 PM5/12/15
to qubes...@googlegroups.com, na...@riseup.net
This is an awesome post. Would love to see more threads like this posting how others have organised the desktop 

Unman

unread,
May 12, 2015, 7:24:43 PM5/12/15
to JAppleseed, qubes...@googlegroups.com, na...@riseup.net
On Tue, May 12, 2015 at 02:07:16PM -0700, JAppleseed wrote:
> This is an awesome post. Would love to see more threads like this posting
> how others have organised the desktop
>
Really impressive, but not for me.
Running ratpoison in Xephyr - Completely agree on configuring keyboard shortcuts.
Not worth a screenshot.

Iestyn Best

unread,
May 12, 2015, 10:55:45 PM5/12/15
to qubes...@googlegroups.com, na...@riseup.net
Looks great. Love seeing work like this going on.

Please keep sharing.

Axon

unread,
May 26, 2015, 12:56:32 PM5/26/15
to Marek Marczykowski-Górecki, na...@riseup.net, qubes...@googlegroups.com, Wojciech Porczyk
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Marek Marczykowski-Górecki wrote:
> On Fri, May 08, 2015 at 04:01:42PM +0200, na...@riseup.net wrote:
>> Hello,
>
>> yesterday i installed Qubes 3.0 with KDE as default on a new
>> laptop. Now almost everything is nicely done.
>
>> In this mail i want to outline some of the work i did in order to
>> satisfy my demands on my daily operating system. Maybe someone
>> feels inspired, maybe somebody has suggestions for me, maybe
>> somebody finds solutions to problems in this mail. :)
>
> Wow, impressive! Really nice work! Can we link this message
> somewhere in documentation? @Axon, do we have place for such
> links? ;) Or can we add those screenshots to our screenshots page?
>

Added link to this thread:
https://github.com/QubesOS/qubes-doc/commit/c99da208997c64fd55e938ff467be4d0a113e8c2

Added screenshots:
https://github.com/QubesOS/qubes-doc/commit/753d724b3276938dfde8b036a7794fd9ae9cbf0a

Screenshot attachments:
https://github.com/QubesOS/qubes-attachment/commit/6cc293e11eea3148864ef3c27bd0aaff6ad510fe
-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJVZKWvAAoJEJh4Btx1RPV8DP4QAJi/8JxTmwDbfW7rELPHrfJs
Yefjfh/uF+NDT4T5NdofebUJMbM8ZKcEJhx9C8PZsUM2B0OfPKtxTz+pSQQpafur
dlYf6lIrS57HeCbKF/ug2SBs2YZnzdWW+P+SlT77T/lnrVpXuPBHYjv3vtvOSl2/
z5Em/sOf1jiWwYsyQUSgx23HWPw3GEZjh1rjm2n7aS84CpeT8bpknbVVxxjf4gz6
RnMKtc0wIK4RlhrUwG1ajko6k0p6vCv093QlAJ9dhz44rFUtW+qJqqQ7nCbrvY/m
/jZeGbdxrMl3G2xSlNV5P0deubuQKKvKODvX/PRx9PAoNdARC/pX0/Ix/hlRFA1X
W7WMW6gY9QfTWu8Rr11lwHkMIdU58naLqXDQXUTmG3nqSIr71etY2/w5b3vVR1Vu
KGR96h1+gXyQNQk6XM34+o6M/ZQROGPVyMz0vGTimBXtyC9SFYy9WwbE0eCVw4zs
7BA4RdumNIgrr+jjm7FQ6T5pmtIkZbxrDnve25zSuynXklbI12ZTGwezaJEMbXUM
s1NU7gRjzrhdX7gAde78s9smdxPevNTLj7/I+jBuKbjxrMzfqKAQ4+FUz55qTfdu
XHZcDAiFDrzKwI7IlCkttGBKsPQW6HRXFURotEzvwK1YeSf9Nxs74OM4tUXAdjMq
O8wAmkvaHnczKOyYRFd8
=KAFj
-----END PGP SIGNATURE-----
Reply all
Reply to author
Forward
0 new messages