DEV Community


Let's Build an Ubuntu Remix - The Easiest Yet Most Difficult Job [Short Tutorial/Semi-Rant]

kailyons profile image KaiLikesLinux ・3 min read

All remixes and official flavors have different workflows, teams, and purpose. We are not building an Ubuntu Studio but more of an Ubuntu MATE. Changing the desktop, and maybe adding a couple of custom additions. I will describe this through my methods of work on Ubuntu Lumina so far. We will be using Lumina as an example as it requires a little more work than others might have issues with. The main difference is that I, the distro maintainer, need to package the desktop and other included applications. While that might seem difficult, it is most likely the easiest part of my job. This is going to be a step-by-step process of how I am developing an Ubuntu Linux remix.


What the Remix Should Have

A thing your remix will need is:

  1. A desktop environment (or window manager) of choice
  2. An icon + Ubuntu x Remix
    • Icon gives you brand
    • The remix part might make Canonical not want to kill you for Trademark infringement
  3. Installation tools
  4. General tools (like browsers, file managers, etc)
  5. Deb Packaging Knowledge
  6. A Launchpad account
  7. Some programming knowledge
  8. ISO Builder
  9. All required dependencies for the above

Nine a simple easy to acquire tools and skills. You don't need to know too much about programming either, just Debian packaging. The need for skills in programming mostly attains for debugging errors.

For 1 we are picking Lumina as this is going by my methods, but of course, there are many. This one is easy but note that there is no Debian package for it. I made one but it's a bit janky but works rather well.

For 2, it's really up to you. Just follow Ubuntu's logo and the logos of other remixes and you should be fine in that respect.

3 is where difficulty hits. I am still struggling, but for example with Calamares, what I did is fork Lubuntu's Calamares settings and modify it to Ubuntu Lumina Remix's branding. In general see what others change and change those things. If Ubiquity is a better fit, see how that works. If there is another you have in mind, roll with it.

4 can be simple, but usually pick apps that can either be modified to your theme or a very similar theme. Keep Qt apps with Qt desktops, and GTK apps with GTK desktops. If it fits, GTK can work with Qt.

  1. Mostly pertains to 1, 3, and 4. Just so you can run wild. Some others will also need assistance with this plan.

6 is for if you package anything.

7 is to fix bugs and errors easier.

8 is finally back to something interesting. You have multiple vendors for your installation tools. There is elementary's offering, Ubuntu Budgie's offering (which forks elementary's builder), or there are others. I use a fork of Ubuntu Budgie's but use whatever you like. This one recommends the use of Docker/VM but overall is not a bad option and is fairly easy to understand.

9 is self-explanatory.

So why is this difficult? I summed it up in maybe 3 or 4 minutes, so why is this "The Easiest Yet Most Difficult Job", and that's easy to answer.

It's easy in the sense that not as much actual effort needs to go into this, while difficult as in the freedom to do it is severely limiting. The main issue with making a Remix is that there are legal hoops and ropes to deal with, plus the fact that you have requirements, and overall can create messes for everyone.

It's a fun and enjoyable project but you will need to keep your eye on every last detail and convince a technical board to bring you on officially, of whom I never talked to. It can also easily just take up far more time than you would ever imagine. I technically started the Ubuntu Lumina project back in late 2019, and still only have produced what is not even a solid beta. Heck most of the actual work comes since February and I still am behind.

It takes time, effort, and overall tons of patience. Would I recommend you make a remix? Yes, it is fun. Just keep in mind that if you are working alone (like me) you should prepare for a ton of work.

Discussion (0)

Editor guide