Apr 16, 2021

Ubuntu i3 XFCE Final Hurrah

A way to get up and running with an i3 desktop with descent usability and visual appeal. Some people still prefer the other methods on the blog, which you might want to take a look at.

 

 


 

 

We use the i3 session, and start the very modular XFCE panel independent of the XFCE desktop. It uses the panel "Workspaces Switcher" plugin that comes with XFCE. This works great for i3 (especially when outside XFCE desktop).

 

 

 

Other Methods

 




Ubuntu 21.04

lxappearance + glib 2.68.0-3 are broken

This guide works on Ubuntu LTS 20.04, and 21.10

Ubuntu 21.04 has a problem with glib 2.68.0-3 conflicting with the lxappearance application. If-and-when glib2 goes to version 2.68.1, then lxappearance should work again. (edit: this is indeed resolved in Ubuntu 21.10)

 

 

 

Also NOTE: not working with multiple monitors

I have not tested this personally, but several sources have said this is a problem.

 

 

 

 

 

For this guide, you will need to enter terminal commands, but you should not expect to remember them. Conversely, you will always want to understand the i3 config file. The last step will be to create a link to the i3 configuration file on you XFCE panel.

The i3 site provides the best source about editing the configuration file.



I. Install Components




These packages work for Ubuntu 20.04 LTS

 

 

 

These packages work for Ubuntu 20.10




NOTE:

  • "thunar" is the XFCE file manager 
  • "dunst" is a notification program
  • "nitrogen" sets background images.
  • "lxappearance" changes widget themes and the icon themes.
  • "xfce4-sensors-plugin" adds graphical sensors to the panel.
  • "synaptic" is a popular apt package manager
 
 
 
 
 















Nitrogen manages wallpapers


Nitrogen is simple and plays well with i3. It has the ability to set different wallpapers for different monitors or to expand one wallpaper between them.

  1. Open Nitrogen.
  2. Click "Preferences"
  3. Click "Add"
  4. Add any folders you use for background images
    • /usr/share/backgrounds
    • /usr/share/xfce4/backdrop










lxappearance manages icons and widget theme









 
 
 
 
 
 

II. Custom Config File

 
This file is the default config except:
 

All removed lines are preceded with "## OLD >>>"
 

All added lines are preceded with a line starting with "## NEW vvv"





  1. Create the i3 directory: /home/username/.config/i3
  2. Create a file: /home/username/.config/i3/config
  3. Save the following in the file:

 
 
 
 
 
 
 
 
 
 
 
 
 

III. Log in to the i3 Session



 
 
 














IV. Set up Workspaces XFCE Panel Plugin


A. Add the Workspaces Plugin to panel items

  1. Right-click the panel, and select Panel >> Panel Preferences
  2. Select the Items tab 
  3. Add the "Workspace Selector" plugin
  4. (Perhaps remove the "Window Buttons" plugin)

 

 
 
 
 
 
 

B. Change the Workspaces to Names instead of Miniature Desktops



  • Right-click the workspaces plugin, and select: "Properties"


 
 
 
 
 
 
 
 
 
  •  Uncheck the box "Show miniature view"
 
 

XFCE 4.16+



 
XFCE 4.14





Of Note:



The i3 Exit Dialog

 
  • Mod + Shift + e produces these options:



  • When in this menu:
    • The 'S' key shuts the computer down
    • The 'R' key reboots the computer
    • The 'L' key logs out of the session
    • The 'E' key or 'Esc' key escapes the dialog

  • They are also clickable buttons. . . . It's the future.












7 comments:

Dan Feder said...

Thankful to have this tutorial updated! This setup is working much better for me than the old way. A couple things I needed to figure out to get this all working correctly on Manjaro XFCE:

1. The polkit package from Manjaro official repos did the trick, the config line looks like this:

exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &

2. Needed to add the following to keep notifications working:

exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd

3. Needed to install picom and add to config.

4. Needed to install unicode-emoji package to get the shutdown thing to display correctly.

5. I could not get the built-in XFCE workspaces panel switcher to work with i3 on multiple monitors. The i3 workspace switcher is available for easy install via the AUR. One gotcha - avoid restarting i3 in place if you use this panel plugin, as this bug is still very much a thing and can fill your whole HD with xsession errors in minutes! https://github.com/denesb/xfce4-i3-workspaces-plugin/issues/7

I realize there is a Manjaro i3 variant you can install directly but after a couple years going back and forth between that and the "classic feeblenerd XFCE setup," this combination feels more polished and best-of-both-worlds to me.

Taylor said...

Dan Feder

Thank you.

Somebody else has also mentioned the multi-monitor problem. That is too bad as it's probably an obvious showstopper for many people. I will mention it in the post.

Anonymous said...

With your method, the shutdown buttons on the panel don't work, but the exit dialog works fine. just an fyi.

Dmytro Kyrychuk said...

I installed `i3-wm` package instead of `i3`, and added `exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd` to keep using the standard XFCE4 notifications.

I had an issue where none of XFCE4's keyboard shortcuts and settings worked. This was fixed by adding `exec --no-startup-id xfsettingsd` to the config.

hryjel said...

Honestly, I don't like this method compared to what you've recommended in the past.. Launching with the XFCE session with xfwm and xfdesktop turned off and launching i3 in their place gives you all the rest of the XFCE background desktop utilities, like the screen locker, session, and power managers. These are all things I find useful, and I prefer to use over freestanding alternatives. XFCE's panel is very nice for a pure i3 setup, but there is a reason i am specifically using XFCE with the window manager changed out, rather than i3 with the xfce panel.

Taylor said...

hryjel: I will do an updated guide

noCategories said...

I agree with hryjel. I've tried the "bottom up" approach, starting from a minimal i3 environment, but for me it was too much work to build up enough of a desktop environment that's right for me. The "top down" approach is easier for me, starting with XFCE which is minimal enough along with i3 and then paring down whatever I don't need. I just find that it's easier for me that way, and faster too.

Post a Comment