Inside Linux Mint
The inner workings of a distro that is redefining desktop standards
After curating the forums it's time for the developers to start making changes to the distro. Weaver says he puts emphasis on making changes to the filesystem only via packages, which is why he spends quite a bit of time working on getting the packages as 'right' as possible before adding them.
Birse is thankful for this packaged-based changes approach: "When I started it was just a lot of notes on what files to change and commands to run and a tar file or two. I like scripting things and packaging is just scripting and a tarball with some extra cool features," he explains.
For each release Birse rebuilds his development system with Kubuntu 32-bit, on a new partition, and rebuilds his packages to see what breaks or has changed since last time. Weaver starts by putting together a baseline ISO that runs a rather vanilla LXDE session with the Mint underpinnings.
"Coming from the Ubuntu base, naturally we package everything in Deb format. I like to take advantage of a default settings package as it allows me to place the bulk of the system defaults in a single package. For example, mintlxde-default-settings contains the stock panel layout, file manager preferences, session files, OpenBox configuration, a number of file adjustments, etc."
Instead of putting mint-lxde-default-settings together from scratch, Weaver uses lubuntu-default-settings as a roadmap.
"Applications have default behaviours. For instance, if you launch LXPanel without existing configuration files, it'll run using the defaults the developer specified. What I do here is write into the session file a test for an existing LXPanel profile; if it doesn't exist in the user's home directory then it's copied from the defaults I specified somewhere in /usr/share. The same principles apply to the rest of the default configuration."
Integrating tools and apps
Weaver says that the bulk of the work in adding apps is making sure that the features work as expected. He relies on Mint tools, such as MintSystem, when he needs to make minor adjustments to some of the applications. MintSystem uses Dpkg triggering to provide alternate versions of files in any given package.
Get daily insight, inspiration and deals in your inbox
Sign up for breaking news, reviews, opinion, top tech deals, and more.
"I use this with gnome-power-manager. I have a modified version of gnome-power-preferences.desktop stored elsewhere in the filesystem and whenever gnome-power-manager is installed or updated, the package maintainer's version of /usr/share/applications/gnome-power-preferences.desktop is automatically overwritten with my version.
"This is useful as the app normally doesn't show up in the menu in LXDE and I want to make sure that it's available there. I use MintSystem adjustments to modify commands in apps that don't work quite the way I want them to, to eliminate bugs and/or features that only really work in other desktop environments, to hide and unhide apps from the menu, and for a number of other reasons," he explains.
One reason for Mint's popularity is its custom tools - such as MintMenu, MintInstaller and MintUpdate. Birse has no issues integrating the tools into KDE since they are all Deb packages with their own set of dependencies. If he runs into any problems he checks in with Lefebvre.
"The fix may be on his end or I may have to update one of my packages or build a KDE version of the tool," he added. Testing the distro gives the developers an opportunity to gain feedback from users who do very different things with their computers and have drastically different hardware specs.
Birse said: "Once I have built all the KDE packages I can start building the Mint KDE ISOs using MintConstructor. I then test the ISOs in VirtualBox, find bugs and update the packages as required."
To test the ISOs, they are uploaded to the FTP server and the developers post on the ISO testing section of the community site. This will email all the testers that a new ISO is ready. All the tests are listed on the ISO testing page and the testers can check off the success, warning or failure of each test and post any comments at the bottom. Even if an ISO is rejected, Weaver still regards is as a step forward; rejected files generally still have a lot of good input associated with them.
There's a mandatory RC release before the stable release to ensure the community finds bugs the testing team didn't. It might sound like overkill but people always find more bugs. Once an ISO is approved, it has to sync with the mirrors.
Lefebvre usually waits about 48 hours for this to happen, while he works on the communication side of things, such as release announcements, MD5 checksums, torrents, direct download links and the website. When it finally hits the blog, the news gets replicated on the website, the forums, Twitter and Facebook.
"That's when I usually sit back, make some popcorn and enjoy the show!" beams Lefebvre. The procedure is similar for the other editions, although Lefebvre has final authority.
The phenomenon
You don't have to look very hard to see that all the effort is worth it.
Jesse Smith of Distrowatch.com has seen a lot of 'Ubuntu for newbies' distros but believes that it's Lefebvre's focus on making Mint both friendly and professional that explains its popularity.
"It wasn't just a case of adding on packages or including things; Mint actually provides new tools people find useful. That attracted a lot of attention and brought in people able to take on sub-projects, such as Mint's LXDE and KDE spins," reasons Smith.
Scott Newlon was "captivated" by Mint 7. With the release of Mint 8, he took the plunge and switched to Linux full-time. "I stay with Mint because it is, to my mind, the most functional of distributions, while at the same time, employing features that are fairly new to the Linux world," explains Newlon who co-hosts the MintCast podcast.
And it isn't just for new users. Susan Linton, fellow Linux Format columnist and host of tuxmachines.org, believes it offers something for everyone. "You can just install it and go - that's what new Linux users want, but that's what many experienced users want too. Fiddling around and learning was fun, but after 10 or 11 years, just give me something that works out of the box. A lot of distributions claim this but only a few really deliver."
Linton believes one of the reasons for Mint's success is access to the developers. "Users love having their input actually acted upon. It gives them a sense of ownership and value. This motivates those with the right skills to begin contributing as well."
Smith agrees: "I think what keeps Mint in the spotlight is its willingness to listen to the community. People asked for codec-free spins and got them, people wanted a Mint based on Debian and got it, people requested "no Unity" and it wasn't adopted."
Newlon too is impressed by Mint's community: "I like how intimate it feels for its size. There are hundreds of people actively involved in all aspects of it and yet it feels small. Everyone that I have dealt with, from Lefebvre down, has been approachable and responsive. I've been able to have great conversations with release maintainers, like Weaver and Birse, and they've made me feel like a member of the community, instead of an outsider looking in."
Linton wraps it up pretty nicely: "I'd almost say that Mint is actually the Linux success story rather than Ubuntu. Mint started with one man's vision to be a force within the Linux landscape; Ubuntu started with big bucks and, some might say, bought its way to the top. Linux Mint did it the old-fashioned 'work hard and offer something of value' way."
With almost two decades of writing and reporting on Linux, Mayank Sharma would like everyone to think he’s TechRadar Pro’s expert on the topic. Of course, he’s just as interested in other computing topics, particularly cybersecurity, cloud, containers, and coding.