Fedora 24 Post-Install Guide: Thinkpad X1 Carbon (2015)

As promised, here is my post-install list for the Thinkpad X1 Carbon (2015 model, 3rd gen).  I spent most of yesterday evening and this afternoon getting things set the way I want, and I love it so far.  I have one nagging issue – the fingerprint sensor – but everything else is working well.  I’ll address my issue at the bottom.


A few things have changed since I wrote the last one, so I’m going to basically start from scratch.

Downloading the Image and Creating the USB Key

Go to getfedora.org to retrieve the F24 Workstation ISO image.  Use the method of your choise to write the USB…in previous articles I’ve written about Rufus, which works very well on Windows.  Alternatively, if you’re already running Fedora and using Gnome, you can use image writer.

If so, right-click on the image and select “open with image writer.”  Then simply choose the USB drive you have connected, and click “restore.”  I’m really glad they added this…it’s a great little utility and it works well.

Booting from the USB Key and Installing Fedora

Pop the drive in the laptop, and press the power button.  Press enter when prompted, then F12 for temporary boot device.  Select the USB and boot into the live environment.

Select “install to hard disk,” and go through the install.  I’m not going to go through every detail, but I generally go for default options.  I blow away whatever is on my disk and start from scratch.  (You can refer to previous articles if you need to back up or image the machine prior to this.  I usually just move some files I have in my home folder over to my FreeNAS machine and call it taken care of.)

Once installation is complete, power down the machine, remove the USB key, and turn it back on.  You should be in a fully functional Gnome environment, scaled at 2X due to the resolution of the screen.

In my previous guides, I go into how to set the scaling for the windows and UI elements back to 1.  Then I spent a lot of time going through and making fonts larger, etc.  This time I took a little different approach – I liked how everything looked at 2X scaling, so I did some tweaks in the opposite direction to give myself a little more screen real estate.

Go ahead and connect to a network once you’ve booted…we will need it for most of the rest of these steps.

Enabling DNF’s Fastest Mirror Plugin

I’ve found that the fastestmirror plugin helps reduce times for downloads and updates, so enabling it is the first thing that I do.  Use the editor of your choice for the below – my example uses gedit, since it’s already installed by default.

sudo gedit /etc/dnf/dnf.conf

Add the below line to the bottom of the file, then you’re done.


Update the Software

As with any new installation, or before any large undertaking, we want to start with the cleanest slate possible – so you will want to go ahead and update everything (there’s already a kernel update out!) and reboot the machine.

sudo dnf update

This will take a few minutes – there’s a decent amount of updates.  Once finished, reboot the machine.

sudo reboot

Remove Garbage Software (Optional)

This is something I like to do…you might not want to.  But it’s all preference.  I remove some of the default apps that I never use, using the below command.  Again, totally up to you.

sudo dnf remove transmission cheese thythmbox shotwell

Add RPMFusion Repositories

I usually use a tool called fedy to do this, but at time of writing, fedy isn’t ready for F24 yet.  Luckily, you can go to their github page and look at the individual scripts…many of which helped me do some of the steps outlined here.  Much love to the folks who maintain fedy, and in a short while I’m sure that fedy will be ready for F24 and some of these steps will be obsolete.

First we add the RPMFusion repositories, which are already ready for F24.  (Note these are two commands only – try to not get caught off guard by the text wrapping that may occur.)  If you get an error saying you have to run as root, type “sudo bash” and enter your password, followed by the below commands minus the “sudo” at the front.  Be sure to type “exit” to go back to your user.

sudo rpm --quiet --query rpmfusion-free-release || dnf -y --nogpgcheck install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

sudo rpm --quiet --query rpmfusion-nonfree-release || dnf -y --nogpgcheck install http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Install Favorite Applications (The Easy Ones)

I have a few favorite apps I use.  For instance, I prefer qbittorrent to transmission, and terminator to Gnome’s default terminal.  Guake is a fantastic drop-down terminal that I use regularly as well.  VLC is a no-brainer because it will play any kind of media and can be used for a bunch of other things like transcoding video and audio files.  The Gnome tweak tool is super useful for cosmetic changes and extensions.  Geany and vim are two more text editors.  I like to have options.

sudo dnf installqbittorrent terminator guake vlc gnome-tweak-tool geany vim

Install tlp and powertop

See my previous article here for info about these if you like…but they’re good to have.  Let’s install them next, and go ahead and get the tlp service running to help extend battery life.

sudo dnf install tlp powertop

Start the tlp service:

sudo service tlp start

Tweak Font Scaling

Since we’re going to stick with the desktop scaling, we want to make the font a little smaller to save on screen real estate.  Open the gnome-tweak-tool in system tools, and go to the fonts tab.  I find that scaling set at 0.85 works very well.

Title Bar Fix

Don’t you think that Gnome’s default title bars are ungodly huge?  I personally think it’s a bit of a waste of space.  Luckily, the fix isn’t that hard to do.  There’s a custom CSS file you can put in your home directory that will override some of Gnome’s default settings and change this for you.  First, let’s create the file and open it in a text editor.

gedit ~/.config/gtk-3.0/gtk.css

Then we will add the below code:

headerbar entry,
headerbar spinbutton,
headerbar button,
headerbar separator {
    margin-top: 0px; /* same as headerbar side padding for nicer proportions */
    margin-bottom: 0px;

headerbar {
    min-height: 24px;
    padding-left: 2px; /* same as childrens vertical margins for nicer proportions */
    padding-right: 2px;
    margin: 0px; /* same as headerbar side padding for nicer proportions */
    padding: 0px;

Reload the Gnome shell to see the changes.  Press ALT-F2, type the letter “r” and press enter.

Install Numix Theme and Icon Sets

I’m a fan of these – if you aren’t skip this step.  But installing them is fairly easy.  First enable the repository.

sudo dnf copr -y enable numix/numix

Now actually install the themes and icons:

sudo dnf install numix-icon-theme numix-icon-theme-circle numix-gtk-theme

Now you can enable any or all of these in the tweak tool.  I’ve been a fan of this look for a while now.

Install Spotify and Fix Scaling

We need to enable another custom repository to get Spotify installed.

sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo

Then, install Spotify.

sudo dnf install spotify-client

If you start Spotify, you will see that it doesn’t scale at all – all of the fonts and information are tiny.  We need to fix that.  Luckily, it’s a simple as a flag in the desktop file that runs the application.  Let’s edit that file, reload Gnome shell, and re-launch Spotify.  First let’s open the desktop launcher file.

sudo gedit /usr/share/applications/spotify.desktop

Look for the line that starts with “Exec=” and change it to the following:

Exec=spotify --force-device-scale-factor=1.5 %U

Make sure Spotify is closed, and restart the Gnome shell. (ALT-F2, r, enter as before.)  Once Gnome is reloaded, start Spotify – it should look a hell of a lot better and easier to read.

Note: This repository takes a while to install – it’s been that way for as long as I’ve used it, so if it takes 5-10 minutes to install Spotify, don’t be alarmed.

Install Steam

Use the command below to add the Steam repository.

sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-steam.repo

Then, install Steam:

sudo dnf install steam

Install Telegram

I’ve started using Telegram lately – both on my Linux desktops and my iPhone.  I really like that it is end-to-end encrypted.  Also, you can send files, pictures, all sorts of stuff.  It’s like “text messaging plus” and it’s totally free.  If you can get your friends to use it, you can essentially replace texting.  We will need to enable another repository for this one.

sudo dnf copr -y enable rommon/telegram

Then install Telegram:

sudo dnf -y install telegram-desktop

Install Atom

Atom is a fantastic text editor – in fact with all of the packages you can add, it’s basically an entire IDE.  It also uses a copr repository, so it’s essentially like installing Telegram.  Add the repository, then install Atom.

sudo dnf copr -y enable mosquito/atom

sudo dnf install atom

You’ll want to add whatever packages you like, and there are a ton of them.  Since I’m beefing up on my HTML and CSS right now, I’m a fan of autoclose-html which automatically closes HTML tags.  But you can go through the settings and learn how to use Atom and find all sorts of packages to add to it.

Gnome Desktop Extensions

This is the last item on my list!  Open gnome-tweak-tool and go to Extensions, and “add more extensions.”  There’s a ton.  My personal favorite is Dash to Dock…it allows me to put a dock on the bottom of the desktop (which intelligently hides when you maximize a window) which I find preferable to constantly going into the “activities” menu.  You can enable it, then determine the size and positioning in the settings.  There could be a ton of other extensions you might like, so that’s up to you.



So far, I’ve only identified one problem – the damn fingerprint sensor.  I personally never use mine.  But, sometimes when I have to authenticate in a terminal, etc., it continues to blink until I run a finger over it.  It in no way affects usability, but it’s a little annoying.  I’ll wait for a kernel update or two to roll out, as often these things get fixed quickly.  If it doesn’t go away soon, I’ll do some more digging and file a but report if necessary.

That’s it!  Let me know if you have suggestions, additions, noticed errors I need to fix, etc.