Skip to main content

gnome extensions

In general when using Gnome I try and avoid extensions. Most of the 'default' setup is fine or I was able to get used to it and it works well enough. There are a few extensions I do use however for various reasons. All of these work with Wayland.

  • AlternateTab - I use alt-tab a LOT. I just found myself unable to get used to the default behavior of showing applications and windows under those, when I use alt-tab I want to switch to a specific window quickly, not have to switch to a application and arrow key around to find the one I want.
  • Openweather - This is just fluff, but nice to have. Gives you a nice little weather report in the top bar. You do have to pick a provider and get an API key, but it's pretty painless. You can also setup multiple locations.
  • PanelOSD - This one I use to move notifications over to the top right side. This is where I am used to them being from Xfce and that way they are not in my way.
  • TopIcons - This allows you to see systray icons on the top bar. There's still a few applications I use from time to time that have a systray and it's handy to see them if they do.
I'd probibly include the redshift extension here, but it doesn't work with Wayland. :(

Some interesting gnome 3.22.x gsettings

As I have mentioned in the past, I switch off between Xfce and Gnome desktops here. While in Gnome, I have a number of settings I have picked up in various places (bugs, talking to maintainers, various docs and blogs) and I thought I would share a few in the hopes that they would be of interest to others. You can use the 'gsettings' tool or the 'dconf-editor' GUI to set or check the current values of these keys. Of course some of them can also be set from the normal settings guis.

  • org.gnome.shell.overrides edge-tiling true - This lets you drag windows to the right or left edge and have them tile to 1/2 of the desktop. This goes along with dragging to the top of the screen to maximize an application.
  • org.gnome.software download-updates false - Disable gnome-softwares downloading of updates. Since I use dnf this saves me a bit of BW and also messages about needing to apply updates I already have applied.
  • org.gnome.nm-applet suppress-wireless-networks-available true - This disables the 'There are open wireless networks" message. I only want to join specific wireless networks if I need something.
  • org.gnome.settings-daemon.plugins.xsettings hinting 'slight' - slight hinting works best with the fonts I like. I think this may now be the default.
  • org.gnome.desktop.wm.preferences focus-mode 'sloppy' - I want to change focus when I move the mouse. I am pretty used to this from years and years now.
  • org.gnome.desktop.wm.preferences auto-raise-delay 125 - and autoraise on focus change.
  • org.gnome.shell.window-switcher app-icon-mode 'both' - I want both the icon and the name in the alt-tab switching thing.
  • org.gnome.desktop.interface clock-format '24h' - 24 hour clock is what I am used to. :)
  • org.gnome.desktop.interface show-battery-percentage true - shows the battery % left in the menu bar. Handy when you are wanting to see how long you have left and you don't want to pull down the menu.
  • org.gnome.desktop.interface cursor-blink false - blinking cursors are evil. They suck power are distracting and should be disabled. (I could swear that I saw a site a while back that showed how to disable blinking cursors in any application or system you could name, but I can't seem to find it now)
  • org.gnome.desktop.interface clock-show-date true - I like the date in the menu bar.
  • org.gnome.shell disable-extension-version-validation true - This disables the version check for extensions. Sometimes it helps, but usually if an extension doesn't work for me setting this doesn't help much.
  • org.gnome.desktop.peripherals.touchpad two-finger-scrolling-enabled true - I used to always use Edge scrolling, but it went away for a while and I retrained myself on 2 finger scrolling and it's fine now.
  • org.gnome.desktop.peripherals.touchpad tap-to-click true - must have tap to click. Saves so much wear and tear on my hands and the touchpad. Just a gentile tap is all thats needed.
Do you have some favorite ones?

Running ansible from a git checkout

The Fedora and EPEL ansible packages are as up to date as possible, but sometimes you want to run a newer, not yet released ansible version for any of a number of reasons:

  • To confirm a bug is fixed.
  • To test an RC for the next release or look for regressions on the devel branch.
  • To see if a change caused any performance improvements or regressions.
Happily this is very easy to do with ansible:
  1. clone the ansible repo: 'git clone https://github.com/ansible/ansible.git'
  2. checkout the branch or thing you want to test. For example now stable-2.1 branch has the latest 2.1.x rc, and stable-2.2 has the code for the latest 2.2 rc.
  3. 'source ansible/hacking/env-setup' This will set your ansible/ansible-playbook commands to use your checkout instead of any locally installed version.
I use this setup to test new versions/RC's over the Fedora Infrastructure playbooks. It's very handy to catch last minute bugs in RC's and/or to clean up depreciations so when the next version is actually released you are already ready for it. Happy ansible hacking.

The greatest game in history...

I am of course talking about nethack. If you haven't played in a little while (and you HAVE played nethack right?), it's as fun as you remember it. Running around the dungeon fighting monsters and picking up magical devices. It's pretty hard to believe that next year will be the 30th anniversary of nethack. It's friday, you deserve some nethack today.

ss: the netstat replacement

Many of the old network tools in the net-tools package have been deprecated for a while now. The replacement for the traditional netstat command is 'ss'. It of course has a ton of options (like netstat). I particularly like 'ss -e' (extended) and 'ss -E' (show connections as they appear). Do take a look today and see if you can finally replace your netstat usage today.

The Fedora infinote server

Many of you may not know that Fedora Infrastructure runs a infinote server instance at infinote.fedoraproject.org. Infinote is a collaborative text server. You can connect to it with the 'gobby-0.5' client located in the gobby05 package in Fedora. Once connected you can create documents and multiple people can work on them at the same time. The server takes a git snapshot of all documents every few minutes so you can see history. There's even a cgit instance at https://infinote.fedoraproject.org/cgit/ Of course these days there's etherpad and the like that have more features, but from time to time there's a good Fedora use for a server we run. Fedora Infrastructure uses it to coordinate their weekly meetings and update/reboot planned outages. Everyone is welcome to use it for their Fedora related collaborative text editing. Or you can of course install the libinfinity package and run your own server.

Fedora 25 Beta is here

This morning we released Fedora 25 Beta: https://fedoraproject.org/wiki/F25_Beta_release_announcement Release mornings are always a bit stressful for us in Fedora Infrastructure, even though we have gotten pretty good at doing them. Lots of things need to be lined up and ready to go when the announcement goes out: torrents, websites, announcement, etc. Also any networking or hardware issues are particularly unwelcome on these days. Today everything has gone quite smoothly so far, and I hope everyone enjoys Fedora 25 Beta.

Fedora go/no-go meetings

Before each Fedora milestone release (Alpha, Beta, Final) there is at least one Go/No-Go meeting. As the name suggests this is the meeting where folks from QA, FESCo, Release engineering, Program Management and others gather to see if the release is ready to go out the following week. The meetings are held on IRC and open to everyone (Although go/no-go votes may only be taken from representatives of specific groups). You can see the logs of the last one (last week to decide if Fedora 25 Beta was ready to release this week) this meetbot.fedoraproject.org log link In the event the decision is "No-go" then the Milestone release slips a week and a new Go/No-Go meeting is scheduled a week out. This allows whatever issues were blocking the release to (hopefully) be solved. If the decision is "Go", then the release happens the following week. Why so long between the decision to release and the actual release? Well, there are a number of things that need to happen to get things ready for release, including, but not limited to:

  • The release has to be put in the correct place on master mirrors (moved from the alt/stage directory to releases/test or releases) and time is needed for all our mirrors to pick up this content and sync it.
  • Common bugs need to be identified and written up: https://fedoraproject.org/wiki/Common_F25_bugs
  • The websites team needs to land any changes they need for the release and get them ready to go live on release morning.
  • Torrents need to be synced and setup, ready to live for release morning.
  • In the buildsystem, the release needs to be tagged so we know exactly what packages were in that release and so alternative arches can build the exact same set for their releases.
  • Checksum files and so forth need to be verified and signed by release engineering.
I hope everyone is looking forward to the Fedora 25 Beta release tomorrow!

squeezing out a bit more battery life under Fedora

In my experience, battery life on laptops has been getting better all the time with Linux/Fedora. However, there's a few things you can do if you need just a bit more battery life than you are getting with default settings. First let me say that in the ideal world you wouldn't have to do any of this. Things should just work and give you the best battery savings they can. Sadly, thats not fully the case (yet), so sometimes you have to take matters into your own hands. First, there's some packages that try and set things for you: tuned and tlp (and possibly others, but those are the two I know of). If you are using tuned, you will want to run a 'sudo tuned-adm profile powersave' to switch to the powersave profile. With tlp it should switch to this automatically when it sees you are running on battery. powertop has a bunch of recommended settings for power saving which you can automatically apply with 'sudo powertop --auto-tune' or by enabling the powertop service. You do need to be careful here however as some of these settings are not set that way by default because they cause lockups or other bad behavior. Do test this on your particular hardware before you trust it. Finally there's a bunch of common sense items: lower the screen brightness as much as you can (the screen is by far the largest power user on a laptop), put your bluetooth/wireless in airplane mode so they don't consume power (if you don't need them), remove usb devices (some of them suck up power even while not doing much), turn off keyboard backlight and such.

Fedora Infrastructure Outages (and the one on 2016-10-08)

Astute folks may have noticed that we had a pretty severe outage this morning that lasted just about an hour. This seems like a good time to talk about outages in general and this one in specific. In general these days our outages fall into roughly 3 'buckets':

  1. Planned outages. We do these every few months to reboot servers and apply updates, or when we have to migrate something that will take some downtime. This is by far the largest bucket.
  2. Unplanned outages, but that are small in scope. Typically this might be one of our many datacenters having network problems or a single service having some issue. These typically aren't noticed by very many people (in most cases only the infrastructure noc folks who disable a proxy or restart a service or whatever is needed).
  3. Unplanned outages that are large in scope. These are thankfully rare. These are were we loose connectivity to our main datacenter (that has the majority of our hardware in it), or severe hardware or software failure (storage servers not working, database needs reloading, etc). Luckily these are pretty rare.
So what happens in an outage? Normally nagios lets us know about it pretty quickly and someone starts taking a look. Usually until we have some idea, we treat things as being in bucket 2 if they aren't planned. That is, we assume it's a minor issue until we investigate and see it's larger. Once the scope of the issue is determined, we update https://status.fedoraproject.org/ This is out status indicator. If you are wondering if there is a known outage, you can look at this. Note that this is MANUALLY updated after initial innvestigation, so do give a few minutes after seeing something before expecting status to be updated. Next, folks work on the outage, this would be anyone in the sysadmin-noc group and the primary infrastructure admins. Status is then updated when the outage is over. Today (2016-10-08) at approximately 16:15UTC our primary datacenter (PHX2) became unreachable. This turned out to be due to a firewall upgrade that did not go as planned. Service was fully restored at approximately 17:15UTC. Right now when our primary datacenter isn't reachable most things are also not working as we have our primary vpn hub located there, and thats what our various proxies use to talk to applications. Unfortunately this includes our most active service: mirrorlists. We have planned to move that service to a container and run it at each datacenter, but just have not gotten to deploying that yet. Once we do, at least mirrorlists will stay up if the primary datacenter is down. Additionally, we have plans to eliminate the first type of outage or reduce it greatly. For the most part our applications are deployed with pairs (or more) of instances so no service needs to go down, however the sticking point is rebooting database servers. I've been working on setting up some replication so hopefully we don't need to schedule any outages for that either.