Removing XFCE in dom0 / Replacing with i3wm

Hello, I installed i3wm instead of Xfce, I intend to use i3wm.

Is there any way I can uninstall xfce so it doesn’t take up space or is that impossible?

Qube Manager reminds me of xfce, it must depend on it somehow?

It would be great if there is a command to remove unimportant parts of xfce if possible

Thanks

2 Likes

I was about to start a topic on this; good that I noticed this.

I am in the same boat: using i3wm instead of XFCE. But since qubes-os ships with xfce by default, there are lots of redundant programs (applets?) that come with it, which I don’t need when using i3wm. Some examples, that are visible in the dmenu, are:

1/ About XFCE
2/ Accessibilty
3/ Appearance
4/ Bulk rename
5/ Color profiles
6/ Desktop
7/ File Manager (Thunar) & File Manager Settings (I prefer to use command-line for browsing folders and files)
8/ Help (LightDM Help)
9/ Log out (Throws an error saying, “GDBus.Error.org.freedesktop.DBus.Error.ServiceUnknown: The name is not activateable”)
10/ Mail Reader
11/ Package Updater (completely redundant as dom0 has its own special mechanism for updating packages and the packages in other qubes)
12/ Packages (again, redundant)
13/ Panel (gives the same error as 9/ Log Out)
14/ Preferred Applications
15/ Run Program …
16/ Screensaver (I am using i3lock instead)
17/ Task Manager (I have top or htop)
18/ Web Browser (When chosen, it asks me for a preferred application)
19/ Window Manager (When chosen, nothing happens, the mouse icon just keeps spinning)
20/ Window Manager Tweaks (same as 19/Window Manager. I guess that’s because I am not using xfce window manager)
21/ Workspaces (Again, redundant. As my i3wm provides the workspaces configs not the xfce)
22/ Xterm & XFCE Terminal & XFCE Terminal Settings (Redundant. I am using the default urxvt-terminal)

As you can see, there are at least 22 (!) visible, redundant programs in my system. How can I remove these and get a leaner, non-bloated one?

Bump.
Are there no other i3wm users who are not annoyed by these needless appendages leftover from XFCE desktop environment? Are there no i3wm users among us who have removed those already?

One idea could be building you building your own Qubes ISO but without xfce.

Quickly skimmed through the link and couldn’t find how one would disable XFCE4 from the building steps. Can you be more specific in how one would do that?

To be honest, I would prefer, first, having some suggestions as to how to remove the 20-odd programs I listed above. Would I use something like,

$ sudo qubes-dom0-update unintsall/remove/etc. <BLOAT_PACK_NAME> ?

1 Like

dnf remove <package>

2 Likes

Yeah, I think that can work.

However, thinking on this a bit more, I might break something if I remove the packages listed above. I think I will keep them but hide these entries from the dmenu. How can I edit which entries are listed in dmenu?

1 Like

Reading on manpage for i3-dmenu-desktop, I can see that the dmenu items that are listed belong to the .desktop entries in the following directories:

  • $HOME/.local/share/applications/
  • /usr/local/share/applications/ (this contains only a file called mimeinfo.cache in QubesOS 4.1)
  • /usr/share/applications/

The last folder location listed above seem to hold the majority of the unwanted applications I listed above.

For example, “File Manager” entry seems to originate from the file
/usr/share/applications/exo-file-manager.desktop

This file contains a line that reads:
OnlyShowIn=XFCE;

Reading on the Desktop Entry Specification I see that line specifies, “identifying the desktop environments that should display/not display a given desktop entry.”

However, even though my Window Manager running is i3wm, and not XFCE at all, that “File Manager” entry is still visible in dmenu. How so? :thinking:

Is it because XFCE is not correct, and should it have been XFCE4 (specifying the version number of XFCE, too).

OR, reading further into the Desktop Entry Specification, I am seeing that there is another option that can be specified per .desktop entry, which is:
NoDisplay=true, or Hidden=true.
So, should I, as the root user, add one of these to the dmenu items’ .desktop file in order to get them not-displayed?
Looking for suggestions.

In an XFCE desktop session, typing the following results in:

$ echo $XDG_CURRENT_DESKTOP
XFCE

So, this shouldn’t be the cause of it.

Edit: Adding the following line to the .desktop entries hides them from the dmenu prompt:
NoDisplay=true

For now, I am utilizing this method for uncluttering the dmenu entries list. However, if someone has a better solution for hiding these applications, or disabling them in an i3wm session, or even mass-removing them without breaking some obscure dom0 dependency on those, I am open to hear.

This is interesting, I’ll try tonight and see if it doesn’t break anything.

2 Likes

Thanks! I am looking forward to hearing from you.

I’m glad someone is as interested in trying to ease dom0 away from xfce.
I share my humble experience:
I was able to remove xterm, xfce4-terminal, vi without any problems. Everything else caused me some problems either immediately or after a while, probably due to my stupidity.
I’m no expert, but I noticed that most Qubes programs interface looks like xfce, is it just gtk or Qubes programs like Qube Manager depend on Xfce? Is there anything we can do if this is the case?

1 Like

I’ve try building qubes without xfce, and it force me to use openbox instead, there’s only slightly bug, but not a problem at all. Will try to build i3 tonight.

2 Likes

What is openbox?

you may search for better explanation, here is the pict

  • light qubes, not building any template

  • login screen

  • userspace

3 Likes

This is terrific, thanks for your time, can you tell me how to do the same with i3wm?

If you interested in learning how to build qubes without much effort, take a look at Playing with Qubes

As example if you want to remove building templates, you can do :

  • Delete fedora, whonix, and debian build
    • sed -i ‘/@whonix/d’ qubes-src/installer-qubes-os/conf/qubes-kickstart.cfg
    • sed -i ‘/@debian/d’ qubes-src/installer-qubes-os/conf/qubes-kickstart.cfg
    • sed -i ‘/@fedora/d’ qubes-src/installer-qubes-os/conf/qubes-kickstart.cfg

And take a look at what inside qubes-kickstart config, as you can see there’s :

  • @xfce-desktop-qubes
  • @xfce-extra-plugins
  • @xfce-media

I simply remove them, and add i3 package in comps-dom0, since i3 need xorg-x11-fonts-misc package, we remove excluded package in this file

And here’s qubes with i3 :

Actually I wanted to play with this and Improve Playing with Qubes with this guide along with the video like the Playing with qubes part 2, and removed some packages that I never used.

3 Likes

After testing for some time, i think there’s no problem with these.

3 Likes

That’s great!
Can you tell me how you run Qubes inside Qubes? As far as I understand Qubes does not allow virtualization inside virtualization, or is it just StandaloneVM?
Also I am not quite clear where exactly should I add the i3 package in comps-dom0? If I add more package i3-settings-qubes, do I get a nice panel and configured dmenu as it happens during installation?
I am taking the time to study your instructions.
Thank you very much.

1 Like

@51lieal thanks for the screenshots, they look interesting indeed.

One thing grabbed my attention immediately was the lack of qubesos specific system tray icons in your i3status bar. For example, you don’t have network manager sys-net tray icon. You also don’t have global clipboard widget in i3bar. Nor the battery (it only says “No Battery”—are you on a desktop machine?).

How do you manage these without having these widgets? Are those widgets XFCE4 desktop environment specific?