It really becomes a challenge posting stuff here sometimes. Simply because I’d like to post more often but I run out of time and can’t seem to bring things together before I get swamped again.
With regard to my incomplete Fedora 19 review, it’s probably going to rest where it is. I had two other parts but I’ve never been able to find the time to successfully edit them and bring them to something interesting or cohesive. So the two parts that are up here are going to be it.
I took the plunge and subscribed to LWN. I’m actually pretty glad I did. It’s full of good reads and if you either haven’t heard of the site before or have looked and considered subscribing but didn’t, I’d really recommend that you do. Just in the past three days of having subscribed I’ve found myself logging in daily to see if there was something new or just parse content from the past week on there. The conversations on topics are lively as well.
I’ve been working on a project that’s required me to flex my C muscle a bit and it’s something that I haven’t done in quite a while. Much like any language, spoken or written, if you don’t speak it on a regular basis you start to forget things. It’s a little worse with computer languages because you start to forget subtleties and C is ripe with them. To that end, I found a book called Expert C Programming: Deep C Secrets. I’m only about the third chapter in but this book is full of really good coverage on esoteric eccentricities of the language. It also makes note of the origins of construct inclusions such as compound assignment operators (+=. -=) and even why they’re aligned the why they are in a statement (i.e. in contrast of using =+ or =-). Importantly, it’s really helping me to refresh my mind into the thought process required to write C programs. Having been writing Java for as long as I have, it’s almost like flipping a switch and it’s a little more difficult to handle.
One last thing I wanted to draw attention to is the latest post on the GNOME Blog about what’s coming in GNOME 3.10. It looks amazing.
Despite having several different spins, Fedora’s flagship spin is the one that ships with GNOME as the default desktop environment. Admittedly a lot of what I’m going to be covering here pertains to apps which are specific to GNOME rather than Fedora itself. However since this is effectively the face of Fedora, it needs some discussion. Some of the apps that are going to be covered here are only going to get touched on briefly while a few others I’m going to nail down into quite hard. So without further ado, let’s get started!
Files, previously known as Nautilus, is the default file manager for the GNOME desktop. There isn’t really too much to say here since there’s not a whole lot different in this version from the previous one. Two things are worth mentioning though.
The new design for the GNOME icons is something to behold. Compared to the original design that was present in just the previous iteration, for the first time I don’t feel the need to jump out to gnome-look.org and find another icon theme to replace the gaudy looking one that was there to begin with. That original theme really just didn’t age well. What we have now is far better. I think I remember them having a little more of a reddish tone in the Beta RC that this but they still look great.
The other thing worth mentioning is the location of the global preferences for Files (or any app for that matter). In the top-left near the Activities hot corner is the icon for the app. If you click on that, it will bring down your pseudo “File” command from a traditional menu bar. I made note of this before in my previous post going over tips and tricks in Fedora 18. It’s really important that you start paying attention to this area since this could be a serious area of interest for federating these types of options that previously existed in a menu. Recognizing this fact could save you a lot of frustration in the long run.
Documents is one of those really strange apps that have cropped up out of the GNOME Team which I’m having a bit of difficulty putting my finger on what its purpose actually is. It feels like it sits between a file browser and a document viewer but doesn’t really satisfy either job 100%. According to the official project page on GNOME Live, Documents is a “document manager application designed to work with GNOME 3.” Not very precise and it actually sounds like it collides with Nautilus in some way. Let’s let photos speak for the app.
Supposedly Documents manages documents from both local and cloud storage. I qualified with supposedly because the only proof I’ve seen of local storage is the default “Getting Started with Documents” PDF that’s available from the start and I currently don’t have local files stored. However the cloud storage synchronization works because my files in Drive pulled down instantly. Well, some of them. But I’m getting ahead of myself.
There are two layouts that Documents will display documents in: grid and list. The grid view is shown above and the list view is shown below. List view is slightly more verbose being that it will display the storage source as well.
The Reading view is actually pretty nice. Documents with multiple pages are aligned horizontally and navigation between those pages is in the same direction. This is different from most every other document viewer where pages are stacked vertically. To facilitate this directional change, page navigation is triggered by a set of buttons that appear contextually on either the left or right sides of the screen or by using a scrub bar that’s sensitive to mouse clicks. Documents is also capable of handling custom bookmarks in a document and supports a table of contents as well but I’ve yet to see this be populated into the app to try and use the feature.
That’s about where it ends with this really and where the drawbacks start.
The first thing I noticed is that Documents doesn’t display anything other than, well, documents. Both of my Drive accounts are full of images, compressed files and web forms. None of these show up in the listing. My first hope was that this would be the Drive client for Linux that we were wanting but this instantly disqualified that thought. Another hitch is that Documents displays files in a flat-hierarchy format. You can see this being done in the screenshots above. My Drive accounts have several folders each. Each folder contains files therein. Documents will see these folders as “Collections” and allocate space in the view for them. However when you open them up, nothing shows. If I scroll though all of the files that Documents knows about, I can see files that clearly belong under certain folders in Drive. It’s a dumb recognition of the existence of a folder (or “label” in the case of Drive).
Additionally, there doesn’t appear to be a way to sort or organize the arrangement of the files that are being displayed. Instead they’re haphazardly placed in any way that Documents deems necessary. This really becomes a headache if you have multiple cloud accounts with document storage synchronized because you can’t filter by account from within Documents. So all of your files essentially get mixed together with other files from other services and it just gets messy. There doesn’t appear to be any general filter at all other than a search function.
Overall I think we’re seeing the makings of a good document viewer but it should focus more on the viewing portion itself and not so much the file aggregation portion. That’s what Nautilus is for.
This is a nifty little program that does precisely what you would imagine it would do: gives you the current weather conditions for your metro area delivered GNOME 3 style. I don’t really see this app being useful since it would be easier to just open a tab in your browser and it doesn’t appear to integrate with notifications at all but it looks good and it works.
All of your locations are managed. From the home screen you can add new locations and those locations will be displayed in the large area that makes up the entire portion of the window. It feels a little weird adding a location since there’s no real indication as to which type of data is required and what it won’t understand. It prompts you to enter a city so I entered the city that I live in and it couldn’t find it. So then I had to think of what the nearest most well-known metro area would be and I came up with Canton (there’s an airport there). No dice. So I went a little further and tried Akron. That worked.
The weather is displayed in a style that’s similar to the lock screen: large text in the center in front of a predefined backdrop that the text contrasts off of nicely. The bottom of the window contains an extended forecast and if you open the right side of the window with the arrow button, you can get an irregularly patterned almost-hourly forecast for the current day.
I haven’t been able to figure out if there’s a way to change the temperature format between Fahrenheit or Celsius and I’m thinking, or hoping, that this may be dependent on the locale settings for your computer. I haven’t tested this yet.
Clocks looks really cool. You go along always thinking that you’ll never need a comprehensive timing program and then that day comes when you need a stopwatch or countdown timer in the house and you can’t find one. Enter Clocks.
The home screen shows all of your managed global clocks. These clocks display the time from various places around the world and are arbitrary. You can add or remove as many as you’d like. You can click on each one to see a modest detail view displaying the current time in larger text and the sunrise and sunset times in the bottom center. There’s just so much wasted space with this detail view that it loses its novelty after the second or third time of seeing it. Why this couldn’t have been incorporated into the grid view on the home screen is beyond me.
The Stopwatch feature lets you set splits and counts those splits incrementally as they happen. When a split occurs, it records the time at which it happened. All of the splits are listed below the counter. Once you stop the timer, you have the option to clear it or restart from the position you stopped at.
Then there’s the countdown timer. What you do here is set the upper limit for the timer, click the start button and let it go. The timer will countdown to 00:00:00. Once it reaches that time, both an audible and visual notification will play/appear. While it’s counting down, you can pause or reset the timer before it reaches the end.
Finally, the alarm lets you set a time at which an audible and visual alarm notification goes off. You have the ability to stop or snooze the alarm from either in the app or within the notification that appears itself so near-headless interaction with the alarm clock is possible.
The Settings app provides you with a gateway to changing some basic configurations in your computer. There are some changes to this iteration to cater to new features in GNOME and those are the ones that I wanted to touch.
The push for apps to integrate with notifications could possibly make for a noisy desktop if you’re not careful. There appears to be a central registration point for apps to issue changes though notifications and that point is exposed through the Notifications section in Settings. Here you can toggle notification visibility entirely and even toggle which apps can push notifications through. This is really nifty and I’d like to see more apps do this in the future.
In the first part of this review I’d mentioned the integration of cloud services using the Welcome dialog. This dialog is simply a watered-down front for what is contained in Settings. From the Online Accounts section you can add/remove services but then you can take it a step further and control which aspects of those services you want synchronized with your computer. The big positive here is that a Google account tends to be federated itself in that a single Google account carries data from several services like Calendar, Gmail, Talk/Hangouts and Drive. You can specify which of these individual services you want to use though this panel. These changes will be reflected though the appropriate apps on your computer. If you stop synchronizing your Gmail, Evolution won’t be able to fetch mail from that account anymore.
Another big push recently is to be able to provide users with the data they want faster. Programs like zeitgeist are supposed to aid in accomplishing this goal but they can appear to be extremely intrusive. Yanking it out of your system can be a chore and configuring what it monitors can be just as hard as well. You can toggle this feature and a few others through the Privacy section. It’s pretty straightforward here.
Finally, GNOME Shell enables you to search through certain app providers that expose data to find the files and programs you want faster. This is similar to what’s existed in Unity Dash for some time. These providers appear to register themselves like the apps do for notifications and you can toggle the ability to search these providers though the Search section. What you’ll do here is simply toggle on or off on a listed app and that will instruct GNOME that it either can or can’t search though it when looking for something in desktop searches. I’ve never really found these searches to be all that accurate especially if you’ve got files with names that have some type of schema that involves sequential numbering at the end of the file name.
Fedora 19 comes with a lot of additional software other than what I’ve listed here. We’re getting LibreOffice 4.0 which has some really nice improvements such as integration with CMS and cloud storage using the CMIS standard. Evolution and Firefox are still your default email and browser clients respectively. The virtualization client Boxes has received some much needed improvements with regard to display performance and I want to cover that but I think I’ll reserve that for a whole other post or video on its own. I threw Boxes under the bus when I first encountered it for a number of reasons. I also wonder why GNOME Tweak Tool isn’t installed out of the box. There’s almost no reason why it shouldn’t be installed by default at this point.
EDIT: The other thing I wanted to point out as well was the growing disparity in the colours used in app themes. If you noticed above, Weather uses the Adwaita Dark theme by default while most every other app uses the Adwaita Light theme. Shotwell and Totem are bad about this too. And there’s no way to enforce the Light theme on them either (or at least not that I’m aware of). My point here is that if I want to use the Adwaita Light theme, I want ALL of my apps to adhere to that theme and not just the ones that feel like it.
The next section will take a look at some of the tool updates that happened under the hood. These will be geared more toward terminal tools that administrators or developers will find useful.
The review that I’ve been working on for Fedora 19 grew a little too large for me to put into a single post. So I decided that it would be a good idea to break it up into several posts that would hopefully be a little more sufficient. To kick things off, I want to start with my thoughts from getting it installed to a working desktop. By working desktop, I mean a desktop in which I haven’t done any modifications at all.
When Fedora 18 shipped, a lot of drama surrounded the release of a new iteration of Anaconda’s GUI. There’s no mistaking that it certainly looked great and it meshed very well with the GTK/GNOME vibe. However it definitely wasn’t what users were expecting and a lot of emotional outcry followed. Keeping pace with the work, the team behind Anaconda pushed forward. Truthfully, not a whole lot looks different. However it’s a little more verbose with walking you through the installation making it a bit less painful this time around. Because I was installing fresh, I went ahead and used the Guided Install, consuming all four physical disks in my computer and partitioning with LVM without LUKS. While I typically use LUKS for encrypting LVM volumes, there seems to be a bit of a bug with fedup, the new tool for performing in-place distro upgrades in Fedora, not wanting to work properly if a system has a LUKS-encrypted LVM volume. Since I haven’t seen a fix for this, my best pragmatic approach was to avoid the encryption for the time being.
Overall the installation took about ten minutes. One thing worth mentioning here is that the new version of Anaconda doesn’t prompt you to just restart your computer when the installation completes. This feature was present with the older versions. Now, you have to quit the installer and then restart the computer from the live environment. A few extra mouse clicks I know but I’d be curious to know the foundation for that decision. An extra button in the installer wouldn’t take up space and, to my knowledge, there isn’t any technical reason why Anaconda wouldn’t be capable of this.
On reboot, I was finally able to see these noted minor visual enhancements to GRUB present in the release documents. The departure here is that instead of grouping your available boot options into an outlined box on the screen, it’s now just seamless white text on a black background. There may very well be a box there but the outline is removed and the font looks a little cleaner than in 18. The selection timeout appears to have been extended a little bit but obviously this is something that you can change. A measurement of the time it takes to go from boot option selection to GDM yields about seven to nine seconds. The boot directory is stored on an SSD so the times here are going to be a bit faster than if it were installed on a traditional platter disk.
While I can’t grab a snapshot of GDM without either making a Fedora 19 VM or using the relatively mediocre camera on my phone, the default theme is quite nice. It’s a textured grey background that seamlessly fills the screen. The UI components mesh nicely into the background and the animations don’t detract from it either. It really is something to look at though compared to previous incarnations of GDM. It certainly doesn’t have the charm that some LightDM themes have but it still looks pretty good.
If you’ve been using Fedora or GNOME3 for quite a while, this desktop shouldn’t look foreign to you at all. The only noticeable difference here is the default wallpaper which looks pretty damn awesome. It is a wallpaper with time sensitivity as well. There are a few niceties in this version of GNOME that increase user friendliness. One of the really cool things is that there is now support for a right-click context menu on the desktop. As of now there are only two options that enable you to either open up the Settings or to change the desktop wallpaper but the inclusion of this is pretty neat.
GNOME Shell retains its look with a few nice visual enhancements as well as some needed modifications. Unfortunately, some of the new features are undocumented from what I can tell which just makes it harder to properly describe them. One really cool enhancement was done with the notifications area. The bottom of the screen in general is no longer as stupid sensitive as it was before. You can still access your notifications by mousing toward the bottom of the screen but you have to mouse down pretty hard this time to get to them. This decreased sensitivity should lighten some agitation. You won’t feel like you should tread lightly near the bottom of the screen or try your best to avoid it entirely. The sensitivity for the hot corner is increased as well. It really makes the whole experience quite nicer. Accidental mouse moves into those areas aren’t penalized.
Another really cool feature that I’ve seen but I can’t quite figure out how to control yet is that the Application Dashboard appears to support grouping of launcher icons into folders. The screenshot below shows exactly what I mean. This looks pretty similar to the launcher folders that are available on Android where you can create a folder on the home screen and drag icons into it. When you tap that folder, it expands using the location of the folder icon as an origin point and displays all of its contents in a grid. This is what looks to be the case here in GNOME Shell with some visual differences. When you click the folder (I’m not even sure that’s what they’re called in the context of GNOME) it expands using the folder’s location in the dashboard as an origin point and the dialog that displays the folder’s contents appears as an overlay in the shell. You can either double-click outside it or click on the close button in the top-right to close the overlay. Now I’ve tried every natural action possible to try and make a custom folder or move it around in the dashboard but I can’t seem to make either happen. You can’t even add a launcher to a folder by dragging it over top of the folder itself. As of now, they just seem to be this benign entry in the dashboard that you really don’t have any direct control over. I’m sure there’s a way to modify these but it may require a little more work and hacking than what the end result would be worth hence I haven’t tried to do anything with them. I’d really like to figure out if anything can be done with these from the user’s perspective because there’s a lot of potential here for making cleaner and sharper looking dashboards.
Help In Your Face
The above video is found in the GNOME Help app which directs you around the GNOME interface. The GNOME Team created that video, not me, and it’s uploaded to my YouTube channel since WordPress won’t let me directly store video files without paying a million dollars for an upgrade.
There are several of these videos littered throughout GNOME Help and they’re very impressive. It takes instructional guidance to a whole new level. The best part is that one of these videos, and I can’t remember which one right now, plays shortly after your first sign in. The really cool thing about this video here is that it shows you how to navigate though windows and workspaces using keyboard shortcuts. I believe that this is a critical knowledge point for successfully navigating GNOME3 and once you nail that down, you’ll have a much easier time getting around.
To add a little more guidance into the transition to your computer, a Welcome dialog appears when you first log in as well. It effectively is the end result of the migration of certain options that were originally present in Anaconda that were set during installation. The Welcome dialog lets you choose your default system language, the language of your input device, and then immediately throws configuring cloud services at you which brings us into our next point of interest…
In recent versions of GNOME there’s been a push for connectivity to cloud and social services like Google Drive and Facebook respectively. Several apps existed that each managed their own connection pools (Empathy and Evolution for example) and there wasn’t really a federated location for establishing those service connections such that the apps could just ping it rather than each managing their own connections. If you’ve been using GNOME for the past two or three stable iterations, you’ve noticed that such a federated pool for those connections has been coming together. What we get in Fedora 19 is pretty solid and works quite nicely.
As mentioned previously, the Welcome dialog that appears guides you through several small steps to complete your computer’s setup configuration. One of the final steps is adding any cloud services that you use. The available services that you have to choose from are currently limited to the ones that you’re provided with and that list includes accounts from the following: Google, ownCloud, Facebook, Windows Live, Exchange, any IMAP or SMTP service and enterprise services over Kerberos.
During my configuration, I added two Google accounts and one Facebook account. When you’ve successfully added an account, they’re displayed back in the Welcome dialog. Each account entry in the list has a button on the right that will let you remove it.
Once this is complete, you’re done with the Welcome dialog.
Keep in mind that the step of adding cloud services is completely optional. You don’t have to complete this step in order to continue using your Fedora 19 computer. In fact, this step is a front-end for an option in the Settings app that provides you with more granular control over your connected cloud services. This just makes it easier to use apps on your computer that do rely on those connections. As an example, the messaging client Empathy obviously needs some type of connection to a cloud service to use it. If you add a cloud service though the Welcome screen or through the Settings app, Empathy will look there first and will automatically work. The same thing goes for the email client Evolution. Some other apps like Documents look to this pool as well. The Settings app will be covered in moderate detail in the next section.
More To Come
This was just scraping the tip of the iceberg with the new stuff that we’re getting to see with Fedora 19. In the next section, I’m going to cover some apps and talk about what we’re seeing in terms of possible future functionality and what it means for you as a desktop user.
This fell off my radar since I’ve been dealing with a death in the family. But I wanted to summarize the important notes that are provided regarding the latest release from Fedora that pertains to both desktop and power users. I’m still working on a full review which I’m going to modify some since most of that information was based off of the alpha and beta RC releases.
Fedora 19 has several desktop environments available including the well established GNOME and KDE. However more focus is being brought to the inclusion of Cinnamon and MATE. So for those of you who are interested in the spicy goodness or retaining the pseudo-GNOME2 interfaces respectively, you can get your fix. Having spent a little time with Linux Mint 15, and assuming that this is the version that Fedora is pulling from (I haven’t been able to verify this yet), Cinnamon is definitely worth a look if you want a modern UI without sacrificing all that GNOME3 requires you to. I’ve personally never been able to get into MATE but some people prefer that type of traditional computing experience. I’m still going to stick with GNOME3 though. 🙂
Speaking of GNOME3, one notable enhancement which, frankly, should have made it in far earlier than now is the inclusion of RAR archive compression/decompression with File Roller. Now we can all open those RAR archives natively in a seamless UI experience without having to go looking for the appropriate package to do this.
There are also the visual enhancements in GNOME3 as well that were noticeable in the alpha and beta RC releases. I think the thing that really stands out for me right now is the new icon theme that’s released by default. I’ve always had this problem with how the GNOME-themed icons looked. They looked nice in the GNOME2 days but appeared to be severely neglected and just didn’t age well. I’m not sure if someone just didn’t care or didn’t have the time to work on them. Anyway, there’s been an improvement and I’m impressed. There’s still a bit of a daft feeling to them but the overall presentation is much better.
Of course there are going to be software improvements across the board and LibreOffice is no exception. Fedora 19 is rolling out with version 4.0 of the now de-facto open-source office suite. There are a swath of changes in this latest version but the one that I’m most interested in is the improved support for the import of Visio and Publisher documents and the ability to collaborate using the CMIS standard. This allows LibreOffice to integrate or interact with CMS and cloud document storage systems (Google Drive, perhaps???). All of those changes can be found at the release notes page here.
I’m still trying to parse the changes relevant to sysadmins. Unfortunately I haven’t had an opportunity to install the 19 stable release yet (I will tonight) so I can’t make any comments on any changes that were potentially made to anaconda. I’m hoping there were some. I clearly remember some ambassadors making a remark similar to “if you just read what’s on the screen, you shouldn’t have any issues.” That’s all fine and dandy but when I’m reading what’s on the screen and I’m still getting a little fuzzy as to what’s required of me, there’s a problem. Trust me when I tell you that I understand partitioning; I’ve been doing it for years. “Worked fine in dev, ops problem now” is not an acceptable excuse.
From a 30,000′ view, it looks like there have been some modifications to Active Directory integration, the inclusion of an alternative bootloader intended for minimal cloud deployments (extlinux), minor visual improvements to GRUB and a decent amount of work on the system daemons and cloud integration technologies like OpenStack and OpenShift (known as Origin in Fedora as it’s a community variant of Red Hat’s OpenShift product).
A program that was included that I’m interested to see is called Scratch. Supposedly it’s a catch-all development environment that enables RAD for interactive stories, animations and games. This looks similar to what Alice did years ago but it’s definitely geared toward a far younger audience. I’m curious to see if this would have any educational impact on teaching younger students the value of logical thought processes though software development. Or just how much fun you can have while doing it. 🙂
Of particular interest to me, being an Android/Java developer, is that Fedora 19 has the packages for the technical preview of Java 8 (through OpenJDK). There are some pretty hefty changes coming in the next version and I can build my programs against this version to see if they break or add functionality that’s specific to 8 and see if I screwed anything up. This won’t matter too much to Android development specifically but some of my desktop programs would benefit from this. Seeing as how these were integrated already, once the stable branch of 8 is released, those packages will be updated respectively and we can get them as soon as they’re available. I don’t have an ETA for the 8 stable release. I’ve seen scuttlebutt that we’re not going to see it until 2014 but who really knows.
Anyway, I’m going to download an ISO and fire it up when I get home. By the end of the weekend, I should have a pretty decent amount of fuel for the full review.
I was really tossing up the idea of doing this over an audio tutorial or what but in the end I decided that it would be best if I just typed it out. I’ve had really bad luck with recording audio on Linux and it just doesn’t seem to get any better no matter what I do.
One of the things that I really like about using Linux is the modular nature of all of the software on the system. That especially applies to the look and feel of the desktop environment. To some degree, regardless of which DE you use (if any), you have some level of control over how you can personalize it. This is usually one aspect that I’ll spend an entire weekend on just because I can.
So if anyone hasn’t figured it out by now, I’m pretty partial to GNOME 3. Despite my angst against their documentation efforts for GTK, I think it’s a fantastic DE and most importantly I think it’s the best looking one out there. And that’s just judging by stock appearance with the Adwaita theme. At some point, however, you’ll probably get the itch to try and create a custom theme yourself. Ambitious to say the least. The problem is that it’s not exactly clear how to go about doing that. In fact, I’m still looking into how to do this for myself.
However all is not lost. For there do exist on the internet a vast collection of Shell themes, GTK3 themes, icon themes, fonts, sounds; literally everything you need to really make your desktop experience your own. What I wanted to do was share my current desktop and show you how I went about bringing it to that point. Be forewarned that the background image is NSFW and if you don’t like it, you can go fuck yourself.
Here’s a view of Nautilus
And here’s Rhythmbox (mainly to show off the GTK3 theme)
The font is Roboto (The same font used on modern versions of Android)
Let’s start the process.
Before you start downloading anything to customize with, you’ll need to get a few packages. You’ll want to download the gnome-tweak-tool package. It’s important that you check to make sure that when you download it that it brings along with it the gnome-shell-extension-common and gnome-shell-extension-user-theme packages; it usually does these days. If it doesn’t, you’ll have to manually install those packages.
GNOME Tweak Tool is a pretty nifty tool that will help you customize GNOME Shell/GTK with very little effort (which is what we want). The other two packages are for enabling the use of custom extensions with GNOME Shell and a specific extension that will allow you to use custom themes on the Shell. It’s pretty straightforward.
Once you have those installed, you can start downloading all of the themes, icons and fonts that you want. You just need to know where those assets need to go after they’re all downloaded.
Technically speaking, there are two places you can move your assets to so that they’re visible to GNOME. If you’re on a single-user computer, it really doesn’t matter where you put them. However if you’re on a computer that has multiple users, it will matter if you’re concerned about providing other users aside from yourself access to those assets so that they can customize their DE.
The “single-user” way (it may be more accurate to say this is the user-private way) is to simply move the assets into hidden directories under your home directory. There’s a good chance that these directories don’t already exist so you’ll have to make them. Here’s where things should go:
GNOME Shell/GTK Themes – ~/.themes
Icon Themes – ~/.icons
Fonts – ~/.fonts
Remember that in order to check to see if these directories exist, you’ll either need to use ls -a from bash or use Control+H in Nautilus.
The other method requires that you have root permissions. On a computer with multiple users, this should be an issue if you’re the administrator. If you’re not, then you can’t place those assets in these directories and you’ll have to resort to the user-private way.
GNOME Shell/GTK Themes – /usr/share/themes
Icon Themes – /usr/share/icons
Fonts – /usr/share/fonts
As I mentioned before, using this method will make these assets available to all users on a single computer. Or if you just feel more comfortable having these assets in a root-protected directory or if you’re running a self-imposed quota on your home directory, this would be where they’d go.
Once the assets are moved, they should immediately be available to GNOME thus making them available to the Tweak Tool. To open the Tweak Tool, you can go through Shell and type “Advanced Settings”. Or you can open it up through bash by using gnome-tweak-tool & (the & makes the process run in the background).
If this is the first time you’ve run the Tweak Tool, there’s a small process that you’ll need to go though before you can start customizing the Shell. By default, the use of Shell Extensions is disabled which we don’t want. The screenshot below shows the Shell Extensions section and while mine shows that it’s on, first timers will probably see that it’s off. You’ll need to toggle that on and then restart GNOME Shell (Alt+F2, type the letter ‘r’, then press Enter). You may want to restart the Tweak Tool as well just to be safe.
Now you’ll want to open the Tweak Tool again and if you check the Shell Extensions section, you should see that it’s toggled on. Now you can start making changes to your Shell/GTK themes under the Theme section. I have my current configuration shown below. See the very last combobox at the bottom labeled “Shell Theme”? If we hadn’t enabled the User Themes Extension in the previous step, this combobox would be disabled and you wouldn’t be able to use custom themes on the Shell. You still would’ve been able to make changes to GTK, fonts and the icons.
It really is as simple as that. Hopefully before too long I’ll be able to figure out how to go about creating a custom theme and can share those experiences here. Any questions, please feel free to leave them in the comments below!
I wanted to share some things that I do after I install a Fedora system and some tips for getting by with your sanity intact. More specifically, these are steps that I follow after a fresh install and not an upgrade (I haven’t had a chance to use fedup yet).
Keep in mind that this list is entirely subjective to your particular needs. Being a developer/media junkie, the packages and steps that I’ll go over here may not be to your liking or even something that you’d want to do at all. However I’m hoping that the steps would somehow come in handy for certain people. These steps cover a GNOME Spin of Fedora. Some of the steps are specific to GNOME while some are more particular to Fedora.
The first thing I do, as anyone should really, is run updates. There’s a pretty good chance that you’re going to have updates in your software channels right after a fresh install. This is actually quite common especially when you’re installing a version of a distribution that’s dated even by a few weeks. This is doubly true with Fedora which tends to be the “bleeding-edge” distribution because it contains both pretty radical changes (in some cases) and usually runs the latest kernel whereas other distributions are typically a few versions behind. Fedora uses the YUM package manager and the RPM package format. You can check to see if your system has updates available by running yum check-update, as a non-privileged user, which will print a list of all packages that have pending updates in the channel. When you want to actually update, simply run yum update as root and you’re all set.
Here’s a quick tip while speaking of updates. Have you ever run updates and then have your system start acting flaky? I’m sure the issue here though is that you’ve installed a lot of updates and you’re not sure where to start to fix the problem. You could always drop out to a single-user recovery console and check the logs. But if you want to take the Draconian approach and just roll back the updates, there’s a really easy way to do this. YUM stores anything you do with it in a transaction history. These transactions are numbered starting from one and counting forward. To show a list of the twenty most recent transactions, use yum history list as root. From here, you can get some basic information about recent actions taken with YUM. You can view details about specific transactions by using yum history info followed by the number of the transaction you wish to examine. This can help you pinpoint exactly which transaction it was that you ran the updates on. Finally, to roll back to the point before the updates, use yum history undo followed by the transaction number as root. This will undo all of the changes listed in that transaction. Keep in mind that it does this in what’s known as “leaf style” so any packages that were installed as dependencies will also be removed.
The people over at the GNOME project have a pretty interesting mess on their hands (despite them probably not thinking so). Admittedly, I’m a GNOME guy myself (always have been frankly) but even I can admit that things are getting a little out of control with this desktop environment. Don’t get me wrong, I still think it’s the best looking Linux DE available but they’re really stretching the idea “less is more” to a point where it’s going to end up being “less is actually just less”. GNOME 3.6.x takes this to a new extreme with Nautilus, their default file manager. While it’s definitely trimmed down quite a bit to look nicer, astute users will notice that missing from the button lineup is any way to access the preferences for Nautilus itself. Instead, they’ve elected to tuck it away under the application’s global menu located in the top-left of the screen next to the hot corner. So if you were looking for a way to customize Nautilus, or to get your single-click functionality back, this is where it’s been this whole time.
Sure stock GNOME looks nice but it isn’t immediately welcoming to customization. Some things you’ll want to customize for sure. Maybe the clock at the top-center isn’t showing as much information as you’d like. Maybe Cantarell isn’t your favorite font and you want your windows to use Liberation Sans. Maybe the sub-pixel smoothing isn’t high enough or isn’t using the proper smoothing method. I know that everyone wants to change those bloody gaudy-looking default icons right out of the gate (they don’t event go well with Adwaita!). Anyway, the point here is that if you want to make even the most subtle of tweaks to the GNOME experience, you’ll need to get the GNOME Tweak Tool (named, oddly, gnome-tweak-tool in Fedora’s channels). This package is a must-have for making your GNOME truly unique since it permits you to change a number of things. It even integrates with GNOME Shell Extensions so you can skin GNOME Shell as well as GTK. There are some really amazing skins for both of these utilities and they can be found at gnome-look.org.
Media playback on Linux is still a touchy subject since many media formats require proprietary software to playback properly (try playing a MP4 file on a fresh install because it’s not happening). Your open formats will typically work without a hitch (OGG, WebM, FLAC) but there’s a pretty good chance that your existing media isn’t encoded in one of these formats. Most software that’s required for this case isn’t located in the default channels that are registered with Fedora. What that means is that you’ll have to find a third-party channel that contains these packages. Thankfully, there’s a really great one from the folks over at RPMFusion.org. Setting up their channel is quite easy since they provide both a graphical way and the command to issue on the terminal to do it. Once added, you’ll want to update the system using yum update to make sure it integrates okay. From that point on, you can search your channels using YUM and it will pull down results from the RPMFusion channels you added. These channels contain additional Gstreamer packages that help for playing back files in formats like MP4 or videos encoded in H.264 as well as the media essentials like ffmpeg, lame, mencoder, transcode, and libavc. Trust me on this one because you’ll start to like Totem a lot more after you’ve done this.