Fedora Hub

February 20, 2017

Fedora Magazine

How to install WordPress on Fedora

WordPress started as a simple blogging system, but has evolved into a reputable content management system. It’s also one of the most popular open source projects. Furthermore, it’s easy to set up WordPress on your Fedora system.

Install the packages

Fedora provides a set of pre-packaged software to make installation easy. Open a terminal, and at the command prompt, use sudo to install the following packages.

sudo dnf install @"Web Server" wordpress php-mysqlnd mariadb-server

This example assumes you’ll run the web and database servers on the same machine. This is often the case for students and developers alike.

Enable the web and database services to start at boot time, then start them immediately:

sudo systemctl enable httpd.service mariadb.service
sudo systemctl start httpd.service mariadb.service

Set up the database server

If this is your first use of MariaDB, you should create a password for your root user. Store it somewhere secure and safe, in case you forget it. Don’t use the system’s own root (administrator) password.

sudo mysqladmin -u root password

Next, create a database. You can host more than one WordPress site on a machine. Therefore, you may want to choose a distinctive name for yours. For instance, this example uses mywpsite. The -p switch prompts you for a password. You’ll need that, since you’ve added a password for root.

sudo mysqladmin create mywpsite -u root -p

Next, set up a special privileged user and password for the database. The web app uses these credentials to run. Use the standard mysql client program for this step. The -D mysql option attaches to the built-in mysql database where privileges are stored.

Your input is shown in boldface in the example below. Make sure to use a strong password and not password itself.

$ sudo mysql -D mysql -u root -p
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.1.18-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [mysql]> GRANT ALL PRIVILEGES ON mywpsite.* TO 'sqluser'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

MariaDB [mysql]> QUIT;

Set up the web server

Next, tune the SELinux parameters so the web server can perform necessary functions.

sudo setsebool -P httpd_can_network_connect_db=1
sudo setsebool -P httpd_can_sendmail=1

Next, edit the configuration file for the web server to allow connections. The file to edit is /etc/httpd/conf.d/wordpress.conf. Change the following line:

Require local

Instead, edit it as follows:

Require all granted

Next, configure your firewall so it allows traffic on port 80 (HTTP):

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload


Configure WordPress

Next, edit the /etc/wordpress/wp-config.php file. Provide the database settings needed so WordPress can use the database you provided. Here are the lines to change. Search for each and edit the required setting:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

/** MySQL hostname */
define('DB_HOST', 'localhost');

The DB_HOST setting should stay localhost if you’re serving the database on the same system as the web server.

Finally, restart the web server:

systemctl restart httpd

Visit the WordPress site

Next, you’re ready to configure the web app itself. Open a web browser on the system, or a connected system. Then browse to the IP address of your WordPress host, followed by /wordpress. For instance, your URL might be If you’re on the same box, you can use http://localhost/wordpress. This step begins the setup process:

Fill out the information required. Remember to use a strong password for this account, since it has administrator access to the entire WordPress blog. Once done, select Install WordPress at the bottom.

A login screen appears so you can verify the WordPress username and password you just entered. Login, and the following screen appears:

You’re now ready to create content. There are thousands of themes and plugins available to customize your site. For more information on how to proceed, visit the WordPress website.

by Paul W. Frields at February 20, 2017 08:00 AM


February 19, 2017

Fedora Magazine

Gitlab, Pelican and Let’s Encrypt for a secure blog

The Fedora Community is considering requiring https for blogs to be published on fedoraplanet.org. While it is currently possible to host an SSL blog on both github or gitlab pages only gitlab supports SSL for custom domains. This article is a tutorial on how to use Pelican and Let’s Encrypt to produce a blog hosted on gitlab pages.

The first step is to create the directory structure to support the verification process used by Let’s Encrypt. This process involves serving a page from a hidden directory. To create the directory

mkdir -p .well-known/acme-challenge

At this point you need to install certbot so you can request a certificate from your computer.

sudo dnf install certbot

After the install is complete you would issue the command to generate a certificate for a remote site.

certbot certonly -a manual -d yoursite.com --config-dir ~/letsencrypt/config --work-dir ~/letsencrypt/work --logs-dir ~/letsencrypt/logs

replace ‘yoursite.com’ with your chosen site. The results will be as follows. The log string for the file name and contents will be different.

Make sure your web server displays the following content at
 http://yoursite.com/.well-known/acme-challenge/uF2HODXEnO98ZRBLhDwFR0yOpGkyg0UyP4QZHImDfd1 before continuing:


If you don't have HTTP server configured, you can run the following
 command on the target server (as root):

mkdir -p /tmp/certbot/public_html/.well-known/acme-challenge
 cd /tmp/certbot/public_html
 printf "%s" uF2HODXEnO98ZRBLhDwFR0yOpGkyg0UyP4QZHImJ8qY.imp4JScFS23eaYWG4tF5e9TSRfGwDuFMmkQTiqN73t8 > .well-known/acme-challenge/uF2HODXEnO98ZRBLhDwFR0yOpGkyg0UyP4QZHImDfd1
# run only once per server: $(command -v python2 || command -v python2.7 || command -v python2.6) -c \ "import BaseHTTPServer, SimpleHTTPServer; \ s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \ s.serve_forever()" Press ENTER to continue


 - Congratulations! Your certificate and chain have been saved at
 Your cert will expire on 2017-05-19. To obtain a new or tweaked
 version of this certificate in the future, simply run certbot
 again. To non-interactively renew *all* of your certificates, run
 "certbot renew"
 - If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 Donating to EFF:                    https://eff.org/donate-le


by Charles Profitt at February 19, 2017 02:58 AM

February 17, 2017

Fedora Magazine

Saving laptop power with powertop

If there’s one thing you want from a laptop, it’s long battery life. You want every drop of power you can get to work, read, or just be entertained on a long jaunt. So it’s good to know where your power is going.

You can use the powertop utility to see what’s drawing power when your system’s not plugged in. This utility only runs on the Terminal, so you’ll need to open a Terminal to get it. Then run this command:

sudo dnf install powertop

powertop needs access to hardware to measure power usage. So you have to run it with special privileges too:

sudo powertop

The powertop display looks similar to this screenshot. Power usage on your system will likely be different:


The utility has several screens. You can switch between them using the Tab and Shift+Tab keys. To quit, hit the Esc key. The shortcuts are also listed at the bottom of the screen for your convenience.

The utility shows you power usage for various hardware and drivers. But it also displays interesting numbers like how many times your system wakes up each second. (Processors are so fast that they often sleep for the majority of a second of uptime.)

If you want to maximize battery power, you want to minimize wakeups. One way to do this is to use powertop‘s Tunables page. “Bad” indicates a setting that’s not saving power, although it might be good for performance. “Good” indicates a power saving setting is in effect. You can hit Enter on any tunable to switch it to the other setting.

The powertop package also provides a service that automatically sets all tunables to “Good” for optimal power saving. To use it, run this command:

sudo systemctl start powertop.service

If you’d like the service to run automatically when you boot, run this command:

sudo systemctl enable powertop.service

Caveat about this service and tunables: Certain tunables may risk your data, or (on some odd hardware) may cause your system to behave erratically. For instance, the “VM writeback timeout” setting affects how long the system waits before writing changed data to storage. This means a power saving setting trades off data security. If the system loses all power for some reason, you could lose up to 15 seconds’ of changed data, rather than the default 5. However, for most laptop users this isn’t an issue, since your system should warn you about low battery.

by Paul W. Frields at February 17, 2017 08:00 AM


February 16, 2017


Fedora Magazine

Hello, Modern Paste!

Fedora offers a pastebin service for its users and contributors. A pastebin lets you save text on a website for a length of time. This helps you exchange data easily with other users. For example, you can post error messages for help with a bug or other issue.

If you use Fedora’s fpaste pastebin service, you’re in for some exciting changes. Fedora has switched to Modern Paste for your pastebin needs.

Welcome our new Modern Paste overlord

Modern Paste is an actively maintained, free software pastebin app. It’s written in Python and aims to be “visually pleasing, feature-rich, [and] mobile friendly.” It features a pleasant user interface, built on top of popular JavaScript libraries. For instance, it uses Code Mirror for syntax highlighting.

Demo of Modern Paste with code snippet

The Fedora team will soon integrate Modern Paste with the Fedora Accounts System (FAS). When that happens, contributors will be able to control their pastes, view old pastes, and delete them at will. They’ll also be able to attach small binary files like screenshots to pastes.

Best of all, the fpaste command line tool that comes with Fedora works without interruption. All Fedora users can continue to use fpaste to get help in community support forums.

We invite you to check out the new service. We also invite you to report issues to the Fedora Infrastructure team. You can find the team in the #fedora-apps channel on IRC Freenode.

The Fedora team would also like to thank the upstream project for their assistance and collaboration.

by Ricky Elrod at February 16, 2017 08:00 AM

February 15, 2017

Fedora Magazine

How to install supplemental wallpapers

Supplemental wallpapers make each release of Fedora a joy to run. This article explains how to install and select them on your Fedora system.

Backgrounds for everyone

The Fedora team works hard to make each release beautiful. Of course, we start with the desktops created by upstream projects. Then the Fedora Design team also creates an elegant official wallpaper. Finally, contributors also submit more background wallpapers for users who like to change their desktop.

By the way, here is that collection for the recent (at this writing) Fedora 25 release. Are you an artist or photographer? Maybe you’d like to contribute to the Fedora 26 set. If so, you can read more here.

These wallpapers are free to use, modify, and redistribute. In fact, you can find all the tools you need in Fedora for this, such as GIMP, Inkscape, and Rawstudio.

Installing the supplemental wallpapers

The supplemental wallpapers in Fedora are easy to install. Use sudo and the dnf tool to install the correct package for your desktop environment. For Fedora 25 Workstation, run this command:

sudo dnf install f25-backgrounds-extras-gnome   # for GNOME or Cinnamon

For other desktops, use one of these commands:

sudo dnf install f25-backgrounds-extras-kde     # for KDE
sudo dnf install f25-backgrounds-extras-mate    # for Mate
sudo dnf install f25-backgrounds-extras-xfce    # for XFCE

Furthermore, you can select additional wallpapers from earlier releases. Each collection comes from Fedora contributors around the world.

Selecting a wallpaper

Next, use your desktop environment’s settings tool to change the background. On most desktops, you can right-click an empty desktop area with your mouse for this setting. For instance, on Fedora Workstation, right-click the desktop. Then choose Change Background….

Next, select either the Background or the Lock Screen to change one of the wallpapers.

Now you can choose any wallpapers to your liking, and make Fedora your own. Enjoy!

by Paul W. Frields at February 15, 2017 08:00 AM


February 13, 2017

Fedora Magazine

Getting Started with Taskwarrior

Taskwarrior is a flexible command-line task management program. In their own words:

Taskwarrior manages your TODO list from your command line. It is flexible, fast, efficient, unobtrusive, does its job then gets out of your way.

Taskwarrior is highly customizable, but can also be used “right out of the box.” In this article, we’ll show you the basic commands to add and complete tasks. Then we’ll cover a couple more advanced commands. And finally, we’ll show you some basic configuration settings to begin customizing your setup.

Installing Taskwarrior

Taskwarrior is available in the Fedora repositories, so installing it is simple:

sudo dnf install task

Once installed, run task. This first run will create a ~/.taskrc file for you.

$ task
A configuration file could not be found in ~

Would you like a sample /home/link/.taskrc created, so Taskwarrior can proceed? (yes/no) yes
[task next]
No matches.

Adding Tasks

Adding tasks is fast and unobtrusive.

$ task add Plant the wheat
Created task 1.

Run task or task list to show upcoming tasks.

$ task list

ID Age Description         Urg 
 1 8s  Plant the wheat        0

1 task

Let’s add a few more tasks to round out the example.

$ task add Tend the wheat
Created task 2.
$ task add Cut the wheat
Created task 3.
$ task add Take the wheat to the mill to be ground into flour
Created task 4.
$ task add Bake a cake
Created task 5.

Run task again to view the list.

[task next]

ID Age  Description                                        Urg 
 1 3min Plant the wheat                                       0
 2 22s  Tend the wheat                                        0
 3 16s  Cut the wheat                                         0
 4 8s   Take the wheat to the mill to be ground into flour    0
 5 2s   Bake a cake                                           0

5 tasks

Completing Tasks

To mark a task as complete, look up its ID and run:

$ task 1 done
Completed task 1 'Plant the wheat'.
Completed 1 task.

You can also mark a task done with its description.

$ task 'Tend the wheat' done
Completed task 1 'Tend the wheat'.
Completed 1 task.

With add, list and done, you’re all ready to get started with Taskwarrior.

Setting Due Dates

Many tasks do not require a due date:

task add Finish the article on Taskwarrior

But sometimes, setting a due date is just the kind of motivation you need to get productive. Use the due modifier when adding a task to set a specific due date.

task add Finish the article on Taskwarrior due:tomorrow

due is highly flexible. It accepts specific dates (“2017-02-02”), or ISO-8601 (“2017-02-02T20:53:00Z”), or even relative time (“8hrs”). See the Date & Time documentation for all the examples.

Dates go beyond due dates too. Taskwarrior has scheduled, wait, and until.

task add Proof the article on Taskwarrior scheduled:thurs

Once the date (Thursday in this example) passes, the task is tagged with the READY virtual tag. It will then show up in the ready report.

$ task ready

ID Age   S  Description                                        Urg 
 1 2s    1d Proof the article on Taskwarrior                      5

To remove a date, modify the task with a blank value:

$ task 1 modify scheduled:

Searching Tasks

No task list is complete without the ability to search with regular expressions, right?

$ task '/.* the wheat/' list

ID Age   Project Description                                            Urg 
 2 42min         Take the wheat to the mill to be ground into flour        0
 1 42min Home    Cut the wheat                                             1

2 tasks

Customizing Taskwarrior

Remember that file we created back in the beginning (~/.taskrc). Let’s take at the defaults:

# [Created by task 2.5.1 2/9/2017 16:39:14]
# Taskwarrior program configuration file.
# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color',
# 'man task-sync' or 'man taskrc'

# Here is an example of entries that use the default, override and blank values
#   variable=foo   -- By specifying a value, this overrides the default
#   variable=      -- By specifying no value, this means no default
#   #variable=foo  -- By commenting out the line, or deleting it, this uses the default

# Use the command 'task show' to see all defaults and overrides

# Files

# Color theme (uncomment one to use)
#include /usr//usr/share/task/light-16.theme
#include /usr//usr/share/task/light-256.theme
#include /usr//usr/share/task/dark-16.theme
#include /usr//usr/share/task/dark-256.theme
#include /usr//usr/share/task/dark-red-256.theme
#include /usr//usr/share/task/dark-green-256.theme
#include /usr//usr/share/task/dark-blue-256.theme
#include /usr//usr/share/task/dark-violets-256.theme
#include /usr//usr/share/task/dark-yellow-green.theme
#include /usr//usr/share/task/dark-gray-256.theme
#include /usr//usr/share/task/dark-gray-blue-256.theme
#include /usr//usr/share/task/solarized-dark-256.theme
#include /usr//usr/share/task/solarized-light-256.theme
#include /usr//usr/share/task/no-color.theme

The only active option right now is data.location=~/.task. To view active configuration settings (including the built-in defaults), run show.

task show

To change a setting, use config.

$ task config displayweeknumber no
Are you sure you want to add 'displayweeknumber' with a value of 'no'? (yes/no) yes
Config file /home/link/.taskrc modified.


These are just some of the things you can do with Taskwarrior.

Assign a project to your tasks:

task 'Fix leak in the roof' modify project:Home

Use start to mark what you were working on. This can help you remember what you were working on after the weekend:

task 'Fix bug #141291' start

Use relevant tags:

task add 'Clean gutters' +weekend +house

Be sure to read the complete documentation to learn all the ways you can catalog and organize your tasks.

by Link Dupont at February 13, 2017 08:00 AM


February 10, 2017

Fedora Magazine

Use tmux for a more powerful terminal

Some Fedora users spend most or all their time at a command line terminal. The terminal gives you access to your whole system, as well as thousands of powerful utilities. However, it only shows you one command line session at a time by default. Even with a large terminal window, the entire window only shows one session. This wastes space, especially on large monitors and high resolution laptop screens. But what if you could break up that terminal into multiple sessions? This is precisely where tmux is handy — some say indispensable.

Install and start tmux

The tmux utility gets its name from being a terminal muxer, or multiplexer. In other words, it can break your single terminal session into multiple sessions. It manages both windows and panes:

  • window is a single view — that is, an assortment of things shown in your terminal.
  • pane is one part of that view, often a terminal session.

To get started, install the tmux utility on your system. You’ll need to have sudo setup for your user account (check out this article for instructions if needed).

sudo dnf -y install tmux

Run the utility to get started:


The status bar

At first, it might seem like nothing happens, other than a status bar that appears at the bottom of the terminal:

Start of tmux session


The bottom bar shows you:

  • [0] – You’re in the first session that was created by the tmux server. Numbering starts with 0. The server tracks all sessions whether they’re still alive or not.
  • 0:username@host:~ – Information about the first window of that session. Numbering starts with 0. The terminal in the active pane of the window is owned by username at hostname host. The current directory is (the home directory).
  • * – Shows that you’re currently in this window.
  • “hostname” – the hostname of the tmux server you’re using.
  • Also, the date and time on that particular host is shown.

The information bar will change as you add more windows and panes to the session.

Basics of tmux

Stretch your terminal window to make it much larger. Now let’s experiment with a few simple commands to create additional panes. All commands by default start with Ctrl+b.

  • Hit Ctrl+b, “ to split the current single pane horizontally. Now you have two command line panes in the window, one on top and one on bottom. Notice that the new bottom pane is your active pane.
  • Hit Ctrl+b, % to split the current pane vertically. Now you have three command line panes in the window. The new bottom right pane is your active pane.

tmux window with three panes

Notice the highlighted border around your current pane. To navigate around panes, do any of the following:

  • Hit Ctrl+b and then an arrow key.
  • Hit Ctrl+b, q. Numbers appear on the panes briefly. During this time, you can hit the number for the pane you want.

Now, try using the panes to run different commands. For instance, try this:

  • Use ls to show directory contents in the top pane.
  • Start vi in the bottom left pane to edit a text file.
  • Run top in the bottom right pane to monitor processes on your system.

The display will look something like this:

tmux session with three panes running different commands

So far, this example has only used one window with multiple panes. You can also run multiple windows in your session.

  • To create a new window, hit Ctrl+b, c. Notice that the status bar now shows two windows running. (Keen readers will see this in the screenshot above.)
  • To move to the previous window, hit Ctrl+b, p.
  • If you want to move to the next window, hit Ctrl+b, n.
  • To immediately move to a specific window (0-9), hit Ctrl+b followed by the window number.

If you’re wondering how to close a pane, simply quit that specific command line shell using exitlogout, or Ctrl+d. Once you close all panes in a window, that window disappears as well.

Detaching and attaching

One of the most powerful features of tmux is the ability to detach and reattach to a session. You can leave your windows and panes running when you detach. Moreover, you can even logout of the system entirely. Then later you can login to the same system, reattach to the tmux session, and see all your windows and panes where you left them. The commands you were running stay running while you’re detached.

To detach from a session, hit Ctrl+b, d. The session disappears and you’ll be back at the standard single shell. To reattach to the session, use this command:

tmux attach-session

This function is also a lifesaver when your network connection to a host is shaky. If your connection fails, all the processes in the session will stay running. Once your connection is back up, you can resume your work as if nothing happened.

And if that weren’t enough, on top of multiple windows and panes per session, you can also run multiple sessions. You can list these and then attach to the correct one by number or name:

tmux list-sessions

Further reading

This article only scratches the surface of tmux’s capabilities. You can manipulate your sessions in many other ways:

  • Swap one pane with another
  • Move a pane to another window (in the same or a different session!)
  • Set keybindings that perform your favorite commands automatically
  • Configure a ~/.tmux.conf file with your favorite settings by default so each new session looks the way you like

For a full explanation of all commands, check out these references:

Image courtesy of Reginar — originally posted to Unsplash.

by Paul W. Frields at February 10, 2017 08:00 AM


February 08, 2017

Fedora Magazine

5 security tips for shared and public computers

For many of us, the most important part of security is making our personal data safe. The best security will withstand any abuse, theoretically. However, in the real world, you can’t cover all possible situations of abuse. Therefore, the best strategy is to use multiple techniques for increasing security. Most normal people don’t need complicated schemes and cryptography to be safe. But it’s good to make it hard for intruders to get access to your data.

It may sound silly, but the computer in a library, a classroom, or a lab — or your friend’s phone for that matter — aren’t yours. Even cloud or cloud services in general are usually just someone else’s computer. In general, treat any devices you don’t own as if they’re owned by a villain — in other words, someone who wants your data for evil purposes.

Here are some simple ways you can increase your data security against miscreants or intruders.

Close open sessions

When you’re finished with the device, log out of services such as Facebook or other sites. This helps keep an evildoer from reopening the windows and having access to your account.

Clean browser and other cache

Clear all your history, passwords, and cookies from the browser you used. Don’t assume this is the default behavior on logout. Depending on the platform, check caches as well. You can delete the ~/.cache folder if you’re on a modern Linux system.

Empty the trash

Remove any items left behind on the desktop, if applicable, and empty the account’s Trash or Recycle Bin.

Use service security options

Enable login notifications or approvals for your services and accounts. Some services have an option that notifies you when someone logs into your account from a new device or location. You’ll also get a notice when you login legitimately. But it’s helpful to know if someone tries to use your login unexpectedly from another computer or location.

Other services may allow you to approve any login activity via an email notice. Access is only granted if you approve via a link in the email you receive. Check your services to see if they offer either of these security options.

Limit sensitive data

The easiest way to keep data safe on a computer you don’t own is not to process it to begin with. Try to avoid or limit work that needs sensitive information. For example, you might not want to access bank or credit card accounts, or secure systems for your workplace.

You may want to consider using a Live USB-based operating system for these purposes. Live USB limits or even completely avoids any data storage on the host computer system where you run it. You can download a Live Fedora Workstation operating system for use on a USB stick, for example.

by Sylvia Sánchez at February 08, 2017 08:00 AM


February 06, 2017

Fedora Magazine

Michael Larabel: How Do You Fedora?

We recently interviewed Michael Larabel on how he uses Fedora. This is part of a series on the Fedora Magazine. The series profiles Fedora users and how they use Fedora to get things done. Contact us on the feedback form to express your interest in becoming a interviewee.

Who is Michael Larabel?

Michael Larabel is an entrepreneur, software engineer, and technology analyst. Larabel founded Phoronix Media in 2004. Phoronix is the leading destination for Linux hardware reviews and enthusiast-oriented Linux news. Michael also develops an automated open source benchmarking suite named the Phoronix Test Suite. The results from the suite are published on OpenBenchmarking.org.

Michael was also the lead developer involved in a startup that was building a home monitoring and communication device to help those with neurodegenerative conditions and the elderly. That startup stalled due to burdensome regulations in the US around commercial health related devices. The device leveraged Linux and Larabel hopes to bring the project back to life one day. “I hope one day to find the time to clean-up and improve the code as it could be an interesting open-source project.”

When not working on Phoronix or related projects, Larabel prefers to spend time working on home improvements or construction projects. He also enjoys organic gardening and German/Bavarian beers. The key for Michael’s hobbies is productive work, “I enjoy most anything as a hobby as long as I am engaging in some form of productive work rather than just watching TV or other leisurely activities.”

With his penchant for meaninful productive hobbies and an enjoyment of home improvements it was easy to understand Larabel’s choices for childhood heroes. “My childhood heroes would be Bob Vila and Steve Thomas from some good home improvement shows in the US.” Michael originally funded his purchase of computer equipment through construction work. “Many of my childhood years initially picking up building scraps on construction sites for the Habitat for Humanity non-profit before advancing to doing basic construction work to afford computer hardware.”

Michael started using Linux in 2002 with Mandrake Linux. He has “many great memories of former distributions like Yoper, MEPIS, KateOS, and many others.” The early difficulties of getting Linux up and running is what prompted him to start Phoronix.com.

The Fedora Community

Larabel has been covering Fedora on Phoronix since the Fedora Core days. At one point he was also a maintainer on the earlier ATI fglrx driver packaging for Fedora systems from the binary driver’s installer. Michael believe the Fedora community is “more technically focused than many other Linux/open-source communities. Less politics, more technical fun, and the right balance of involvement from Red Hat or any corporate overlord in relation to the project.”

Larabel would like to see the Fedora community adopt release code names again. He has fond memories of the code name Beefy Miracle. “That year at LinuxTag in Berlin the Fedora booth was giving out the ‘Beefy Miracle’ hot dogs, which was next to the openSUSE booth handing out their “openSUSE Old Toad” beer, making for good laughs and recharging while socializing with open-source contributors.”

Michael credits the Fedora project with shipping many technical advancements. These included AIGLX, virt-manager, an experimental Btrfs root install option. Most recently he cites Fedora as “being the first tier-one Linux distribution using Wayland by default.” Larabel believes that Fedora “is a great Linux distribution for any technical users / enthusiasts and while it’s not a rolling-release distribution its updates to packages like Mesa and the Linux kernel do make for a nice medium.”

What Hardware?

Larabel has over sixty systems running Linux. His main production system is running Fedora 25. “My main system is an MSI Cubibox with an Intel Core i5 Kabylake CPU, 8GB of memory, and Samsung SSD.” That system in paired with an ASUS 27 inch 4K display. His main keyboard is an Amazon Basics USB Keyboard. Despite costing just $10 USD Larabel has found them surprisingly durable. “The mice I use are generally from Razer, and while I would love for the company to provide native Linux support, at least there are third-party software options.”

michael larabel living room

When it comes to graphics cards Larabel’s recommendations depend on what users are looking for. “If you care about open-source drivers, definitely go for AMD. But if you want something that ‘just works’ and delivers the best possible performance and all of the advertised features, NVIDIA has proven themselves going back more than one decade.”

michael larabel work area

What Software?

Michael runs a mix of the latest stable release as well as Fedora Rawhide on several systems. “With my main system running Fedora 25, the programs I generally only ever use are Thunderbird, Firefox, Pidgin, GNOME Terminal, Gedit, LibreOffice, gFTP, and GIMP.” He also runs Git and the Phoronix Test Suite from the terminal. His production system is stock Fedora 25 with no extensions, plug-ins, or tweak tools.


From the GNOME Terminal, all of the usual GNU suspects, Git, and, of course, the Phoronix Test Suite. My main desktop is surprisingly close to a stock Fedora 25 experience with really not getting into any extensions / plug-ins / tweak tools.


by Charles Profitt at February 06, 2017 08:00 AM


February 03, 2017

Fedora Magazine

Find Fedora at FOSDEM 2017!

It’s that time of year again for a new iteration of FOSDEM! FOSDEM, or the Free and Open Source Software Developers’ European Meeting, is held every year in late January or early February in Brussels, Belgium. FOSDEM 2017 is taking place over this coming weekend on February 4th and 5th. At this year’s conference, an estimated 8,000 or more attendees are expected. Several open source contributors, communities, and projects are represented at this event.

As one of the largest open source conferences in Europe, there are many Fedora Project developers and representatives attending the event. In addition to our community stand, you will find 24 speakers from the community giving talks over the weekend. If you’re getting ready to make it into Brussels, here’s how to keep Fedora a part of your weekend.

Community stand at FOSDEM 2017

FOSDEM 2017 Attendee badge can be found at the Fedora community stand

FOSDEM 2017 Attendee badge can be found at the Fedora community stand

For another year, Fedora will have our community stand at the conference managed by our Fedora Ambassadors. You will be able to find a number of Fedora contributors to say hello to and ask questions. In addition to our Ambassadors, there are a number of developers and other contributors around the conference who will stop in to visit our table. This is a great chance to meet up with some of our contributors and understand more about the inner workings of the Fedora Project!

Additionally, the Fedora team will have plenty of goodies to share during the weekend! This includes stickers, accessories, wearables, and more, but they tend to go quickly! Be sure to make a stop earlier in the conference to see what kind of items we have at the table. Also again this year, we will have the FOSDEM 2017 Attendee badge for collecting!

Find Fedora speakers

In addition to our community stand, there are now 24 Fedora contributors who will be speaking during FOSDEM this weekend. While they are Fedora contributors, not all of our talks are specifically related to Fedora! Many of the talks show a diverse range of activities that our contributors are involved with as well. Special thanks to Alberto Rodriguez Sanchez, Dhanesh Sabane, and others for helping build this list.

You can find a more verbose version of this list on the Fedora Community Blog.

Come say hello!

No matter where you find yourself in FOSDEM this weekend, there will be a Fedora presence throughout the event. Don’t be afraid to seek out our Ambassadors and representatives to say hello! Happy FOSDEM, and see you this weekend!

The feature image for this post is a remix of the official FOSDEM ’17 Flyer, CC-BY.

by Justin W. Flory at February 03, 2017 08:00 AM


February 01, 2017


January 30, 2017

Fedora Magazine

Submissions now open for the Fedora 26 supplemental wallpapers

Each release, the Fedora Design team works with the community on a set of 16 additional wallpapers. Users can install and use these to supplement the standard wallpaper. Submissions are now open for the Fedora 26 Supplemental Wallpapers, and will remain open until March 22, 2017

You always wanted to start contributing to Fedora but don’t know how? Contributing a supplemental wallpaper is one of the easiest way to start as a Fedora Contributor.

What exactly are the supplemental wallpapers?

Supplemental wallpapers are the non-default wallpapers provided with Fedora. Each release, the Fedora Design team works with the community on a set of 16 additional wallpapers. Users can install and use these to supplement the standard wallpaper.

Dates and deadlines

The submission phase opens January 30 2017 and ends March 22 at 23:59 UTC.

Important note, submissions during the last hours can in certain circumstances not get into the election, if there is no time to do the legal research.

The legal research is done by hand and very time consuming, so please help by following the guidelines correctly and submit only work that has the correct license.

The voting will open automatically 23 March 2017 and will be open until April 6 2017 at 23:59 UTC

How to contribute to this package

Fedora uses for the submission the application Nuancier for managing the submissions and the voting process.

For an submission you need an Fedora account. If you have none, you have to create one before here. For being allowed to vote, you must have membership in another group as cla_done or cla_fpca.

For inspiration you can look to former submissions and the  previous winners. Here are some of the last election:

Fedora 25 wallpaper - Droplet On Pebble Fedora 25 wallpaper -Winter in Bohemia Fedora 26 wallpaper - Cherry Blossom Fedora 25 wallpaper - Zen Fedora 25 wallpaper - Matterhorn Fedora 25 wallpaper - Milky Way over the Mang Fedora 25 wallpaper - Raindrop Fedora 25 wallpaper - Manhattan Fedora 25 wallpaper - Grytviken Fedora 25 wallpaper - Forrest Path Fedora 25 wallpaper - Soft Blue Fedora 25 wallpaper - Caion Do Xingo Fedora 25 wallpaper - Chihuly Fedora 25 wallpaper - color Fedora 25 wallpaper - Poetry The Bois de Vincennes

The number of submissions a contributor can make is limited. A participant can only upload two submissions to Nuancier. In case you submit multiple versions of the same image, the team will choose one version of it and accept it as one submission, and deny the other one.

Submissions which was submitted already before and was not selected get rejected. Starting with this election also creations which have not an essential height get rejected.

Denied submissions also count, so if you make two contributions and both are rejected, you cannot submit more. Use your best judgment for your submissions.


You can also earn badges for contributing. One badge is for an accepted submission. Another badge is if your submission is a chosen wallpaper. A third is awarded if you participate in the voting process. You have to claim this badge during the voting process, as it is not granted automatically.

Regulations for Submissions

Subject matter

  • Must not contain brand names or trademarks of any kind (including Fedora itself).
  • Must not contain material that is inappropriate, offensive, indecent, obscene, hateful, tortuous, defamatory, slanderous or libelous.
    • No sexually explicit or provocative subject matter.
    • No images of weapons or violent imagery.
    • No alcohol, smoking, or drug use imagery.
  • Must not contain material that promotes bigotry, racism, hatred or harm against any group or individual or promotes discrimination based on race, gender, religion, nationality, disability, sexual orientation or age.
  • Must not contain material that is unlawful, in violation of or contrary to the laws or regulations in the jurisdiction where the work is created
  • No religious, political, or nationalist imagery (including flags).
  • No images of hats, particularly fedoras.
    • This is a matter of respect for our primary sponsor, Red Hat, Inc., and is not negotiable. Of course, passive appearance of hats, such as those upon heads in a crowd, are allowed.
  • No version numbers. End users might prefer to continue to use an older theme, or use the latest theme in their older version of Fedora. To enable that choice, do not use any version numbers within the Fedora artwork.
  • No text. Text should not be used in the background because the artwork is intended for a global audience and to be reused by derivative distributions.
  • Should not contain images of people (contemporary, historical, or fictional).
  • Should not contain images of pets or captive / mistreated animals.

 Technical requirements

  • Submitted wallpapers must use a format that can be read by software available in Fedora Package Collection. Preferred image formats is PNG.
  • Originals for landscape formats must be a minimum of 1600 pixels wide and 1200 pixels high. The larger the better. Photographic submissions should be made at the highest resolution the camera is capable of.
  • Submitted wallpapers should be provided in a 16 x 9 aspect ratio if possible.
  • No watermarks, signatures, photographer or creator names, or messages may be included in any part of the work.

Other requirements

  • Submissions must not contain material that violates or infringes anothers rights, including but not limited to privacy, publicity or intellectual property rights, or that constitutes copyright infringement.
  • If your submissions include or derive from artwork created by other people, please make sure the license of the original work you incorporate is compatible with Fedora and that you are not violating any of the provisions of its license.
  • Make sure you provide attribution to artists that license their work with a CC Attribution clause.
  • Submission should have the consent and approval of the author or creator
  • Submissions are thereby licensed to the public for reuse under CC-BY-SA unless another accepted approved liberal open source license.
    See a list of approved licenses for Fedora.
  • Note that we can not accept NC (no commercial use) or ND (no derrivatives) submissions!

by Sirko Kemter at January 30, 2017 08:00 AM


January 27, 2017


Fedora Magazine

Using the YubiKey4 with Fedora

A YubiKey is a hardware authentication device that can be used for various one-time password (OTP) and authentication methods. This article explains some of the ways to use the the YubiKey4 with Fedora. Other versions may be incompatible or require additional configuration.

What is a YubiKey?

From the Yubico site: “A YubiKey is a small device that you register with a service or site that supports two-factor authentication. Two-factor authentication means that each time you log in, the service will request proof that you have your YubiKey in addition to your regular username and password. Phishing, malware, and other attack methods don’t work because they would need both your physical key and your passwords to breach your accounts.”

Two-factor authentication with the Yubico Authenticator tool

The Yubico Authenticator tool lets you generate OATH one-time password codes with your YubiKey. It can store up to 32 OATH event-based HOTP and time-based TOTP credentials on the device itself, which makes it easy to use across multiple computers. The software is freely available in Fedora in the `yubioath-desktop` package, and also provides a yubioath-cli command-line tool. If you desire the gui version after install invoke yubioath-gui.

Using the Yubico Authenticator for two-factor authentication

Using the Yubico Authenticator for two-factor authentication with the YubiKey

GPG smartcard for SSH authentication

The YubiKey4 contains an OpenPGP smartcard applet, which lets you import and GPG keys on the hardware. You can also use these keys for SSH authentication to remote machines with the `gpg-agent`. This allows you to use GPG and SSH without storing any private keys on your computer at all.

You’ll first want to go through the “Importing Keys” instructions for setting up your GPG keys. Then there is a great guide created by a number of Fedora contributors for configuring GPG and GNOME to use your YubiKey as a GPG smartcard for SSH authentication.

FIDO Universal 2nd Factor

U2F is an open authentication standard that enables internet users to securely access any number of online services, with one single device, instantly and with no drivers or client software needed.

Fedora ships the `pam-u2f` package which provides an easy way to integrate the Yubikey (or other U2F-compliant authenticators) into your existing user authentication infrastructure.

Authentication with PAM

You can use your YubiKey to log in to your Fedora machines by configuring PAM with the pam_yubico module. There are detailed instructions for how to do this on the Fedora Wiki.

Other resources

by lmacken at January 27, 2017 04:00 AM

January 26, 2017


Fedora Magazine

PulseAudio 10.0 now available for Fedora 25

Earlier this month, PulseAudio 10.0 was released. It’s now available from the official Fedora repositories for all users running Fedora 25. PulseAudio is the default sound server in Fedora. That makes it the primary piece of software responsible for sound on your Fedora system. Version 10.0 is the latest major release from the PA team. It has many bugfixes and enhancements since the 9.0 release in mid-2016.

Fixes and improvements

PulseAudio 10.0 has improved support for Bluetooth profiles. It can now switch automatically between the the A2DP profile typically used for music, and the HSP profile used for telephony and VOIP. It now also stores different volume level settings for the A2DP and HSP bluetooth profiles.

There’s also has better support for USB connected surround sound devices. If you plugged in a device like this previously, it wouldn’t work. Version 10 now should allow these devices to work normally.

Other improvements and bugfixes in version 10 include:

  • The new module-allow-passthrough module prioritizes pass-through streams.
  • pulseaudio.socket is always started first if systemd is used to start PulseAudio.
  • Compatibility issues with OpenSSL 1.1.0 are fixed.

For a full changelog and detailed descriptions of changes in version 10.0, read the Release Notes.

Found a bug?

As with any software, there are probably still bugs in PulseAudio. Therefore, if you run into one, you might find this Fedora wiki page useful. As that page suggests, you should file bugs upstream and not in Fedora. That way they’ll get noticed by the people best situated to fix them. Any fixes make their way back down to Fedora in stable updates later.

by Ryan Lerch at January 26, 2017 12:16 PM

FCAIC in the House, part II

As you may remember from part I, I became the cake-man (that’s FCAIC or Fedora Community Action and Impact Coordinator) about three months ago.  It has been an exciting adventure moving from an engineering role into one where I work as a kind of “Community Manager” or “Community Lead” that thinks about users and contributors as mechanics of keeping the project running smoothly. I’m writing today to update you on what I’ve been working on relative to my goals and to invite you to help me make it all even better. I’d also like to share some ideas about where to go from here.

How’d I do?

I listed four goals in part I:

Get to know the community

As I mentioned before, this is a never-ending goal. I keep meeting amazing people focused on areas of the project which were not on my contribution radar before I became FCAIC. Passionate, intelligent and helpful people with real insights and experience have helped me so much in my first few months. I look forward to continuing to rely on them and hope that my contributions back have been helpful to them too.

As part of this goal I attended both FUDCon LATAM and FUDCon APAC. These two events were held at local universities in Puno, Peru and Phnom Penh, Cambodia. It was great to see how our contributors break down Fedora for these kinds of audiences. I also learned a lot about LATAM and APAC and how they fit into Fedora. As an American living in the Czech Republic I had a fairly good appreciation for NA and EMEA and I was glad to expand my knowledge.

I’ve discovered there are some challenges in all of our regions and that we need to make sure we are doing the right things. Some of it is just resourcing and some of it is working through culture on all sides to get people talking.

In the next few months I will be at DevConf.cz and FOSDEM. Fedora will have a strong presence at both conferences and I am looking forward to interacting with our Ambassadors and other attending contributors. I will be focused on several activities, including contributing to the Diversity FAD taking place during DevConf.cz and other meetings around Fedora topics. At FOSDEM I have the fantastic opportunity to help make the Distributions devroom happen with the world-famous Brian Stinson from CentOS.

If you’re going to be near me, let me know so we can meet and say “hello.” I’ll endeavor to keep my travel schedule on the Fedora vacation calendar so you can find me when I’m not at home.


As you know, Budget.Next is the project to change the way Fedora manages money. I’ve been working hard with the regional treasurers and credit card holders (Neville Cross (Yn1v), Mohd Izhar Firdaus Ismail (izhar), Abdel G. Martinez L. (potty), Zacharias Mitzelos (mitzie), Joerg Simon (jsimon), and Andrew Ward (award3535)) to put together a system that will meet our needs. Without data we can’t make decisions. Data has been inconsistent in the project and the regions and we have worked together to fix this. More details will be posted in a longer article on the Fedora Community Blog later, however, the short version is that we have:

  1. Built a data storage system using ledger, a plain text accounting system that has been packaged in Fedora for a while.
  2. Start writing of some basic reports to show the overall data and position for our project and the regions.
  3. Start rebuilding the budget website to display all the information.

I am sure we have a lot of lessons to discover as we move through this fiscal year, but I am very excited about having data on demand and being able to move the conversation forward from discussing numbers to discussing impact. Together we can make this process seamless and a model for other organizations that want to be transparent about their finances.

I am also working with the Council on our reimbursement policies and methods and looking at ways to improve our use of sponsored travel.

Interested in helping out? Feel free to contact me right now. On the technical side, I’d love some help from folks interested in Ruby, AsciiDoc, Jenkins, testing (CI – Continuous Integration) and automated deployments (CD – Continuous Deployment). On the policy and procedure side, let me know about ideas and help me draft a great way forward for us. This is a great project for new contributors and junior coders or system administrators.

FOSCo (and FAmSCo)

The Fedora Ambassador Steering Committee (FAmSCo) has just recently had an election welcoming in lots of new members. We didn’t accomplish the goals related to creating an Outreach Steering Committee (FOSCo), but that’s OK. Working with the members of the previous FAmSCo has taught me a lot about Ambassadors. I am excited to work with the new FAmSCo to support them as they look at ways to make our Ambassadors program stronger.

Fedora Docs publishing

Our documentation reboot work continues. The documentation team has decided to move to AsciiDoc and modular writing.

We haven’t fully resolved the tooling, so there are still at least two proposals in motion. I am working on a proposal to use AsciiBinder as our main docs engine for the next few releases. I’ve been talking to the upstream and they are excited by the project. I’ve been shamelessly using my work on the budget website to help model this.

There is also some exciting work going on in figuring out modular writing with work being driven by several folks, including Shaun McCance and Petr Bokoc. What is modular writing? It is a way of putting together discrete text into larger units that answer user stories. Confused? You won’t be after reading this fantastic explanation by Petr.

I’m still working toward my personal goal of us having a new publication solution by Fedora 26.

Interested in helping out? Get involved with the Docs Project or feel free to contact me right now. On the technical side, I’d love some help from folks interested in format conversions (DocBook->AsciiDoc – think perl, python, bash, etc.), ruby, AsciiDoc, Jenkins, testing (CI – Continuous Integration) and automated deployments (CD – Continuous Deployment). We also need help on the writing side with modular writing and general updates.

What’s next?

For the next few months, I’d like to focus on the following:

  • Get to know the community
  • Budget.Next
  • FAmSCo and FOSCo
  • Fedora Docs Publishing
  • Events
  • Packaging

So my four goals from last quarter are still ongoing efforts. That’s cool, some, like getting to know the community will hopefully never end! To these goals, I am adding:


Flock 2017 bidding has opened and I am looking forward to helping make that event happen. If you’re in North America, get your bids in now!

I’ve started a pair of conversations on the council-discuss mailing list about Flock and FUDCon. We have lots of opportunities and we need to figure out how to best use our people and resources to accomplish our goals. Please join in and let everyone know how we can make our events work even better for us in the future.


No major initiatives here, my interest here is personally focused. The situation is that I have never packaged anything in Fedora before. That is a huge area of activity for us, so I am putting together my first package submission, bringing DayJournal to Fedora. I’ve been receiving amazing feedback from Igor Gnatenko and Neal Gompa in my packaging ticket and I hope to reach completion and approval soon.

So there you have it. Let me know if I’ve missed anything. Let me know if you have input into what I’m doing or want to help. And by all means let me know what we can work on together. I can’t do it all alone (and I don’t want too!) and I can’t even help with everything I want to, but I want to make sure my work is helping the community move forward.

Read more over at the Fedora Magazine where this was originally posted.

by Brian (bex) Exelbierd at January 26, 2017 08:00 AM

January 25, 2017

Fedora Magazine

Configure your Fedora system to use sudo

The sudo command makes it easier to manage your Fedora system. Certain commands in Fedora expect to be run only by a privileged user or administrator. The sudo command lets you run a command as if you’re the administrator, known as root.

Unlike some other methods, it also offers some key features:

  • Keeps a log when someone uses sudo to run a command
  • Supports automatic command line completion
  • Allows sharing of privileges without sharing the root password

Set up during installation

If you are installing Fedora, you can configure this function in advance. In the installer, when you set up a normal user account, check the option for Make this user administrator:

User administrator (sudo) option enabled in installer

Behind the scenes, this option sets up the user so they can use sudo when they login. This is a time saver for installations like laptops. They typically have a single user who owns the system.

Set up after installation

If you’ve already installed your system, don’t worry. You can still configure this option. First, open a terminal if needed. Use this command to verify your user account name:

$ id
uid=1000(john) gid=1000(john) groups=1000(john) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

In this example, your account name is john. Next, use this command to assume privileges of root, the system administrator. Enter the password for root at the prompt.

su -

Next run this command to add your username to the special wheel group. This group is already set up to provide sudo access:

usermod -a -G wheel john

You can check the results using the id command:

# id
uid=1000(john) gid=1000(john) groups=1000(john),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Using sudo

You must logout, and then login, to inherit the group membership change. Once you do, you can issue a command like this:

sudo <command>

You are asked for your account password, not the password for root. The command then runs, as if you were the system administrator. If you want to start an interactive root shell, use this command:

sudo -i


by Paul W. Frields at January 25, 2017 09:00 AM

January 24, 2017

Fedora Magazine

Inkscape 0.92 available in Fedora

Earlier this month, the Inkscape project released version 0.92 of the Inkscape vector graphics editor. Inkscape 0.92 is now also available for download from the official Fedora repositories for Fedora 24 and Fedora 25. If you already have Inkscape installed, you will receive the updated version when you next update with DNF or the Software Application.

Inkscape is a versatile, feature rich vector graphics editor that can be used for a wide range of tasks, including UI mockups, icons, logos, digital illustration. Inkscape uses the Scalable Vector Graphics (SVG) format as the primary source filetype, which is getting more and more popular as a format for vector graphics on the web. Inkscape can also export to a wide range of different formats, including PNG and PDF.

What’s new in Inkscape 0.92

Despite the seemingly small version number bump from the previous 0.91 release of Inkscape,  Inkscape 0.92 provides a range of new features and bugfixes, including mesh gradients, improved support for the SVG2 and CSS3 specs, brand new path effects, and the new Object dialog managment of objects. The Inkscape 0.92 Release Notes has a full list and descriptions of all the new features and bugfixes.

Mesh Gradients

The flagship new feature in this updated version of Inkscape is support for creating and editing gradient meshes. In previous versions of Inkscape, creating complex shading involved multiple objects with gradients and blurs applied. With gradient meshes in Inkscape, it is now possible to create more complex shading effects with a single gradient.

A single inkscape rectangle object with a mesh gradient applied

With mesh gradients it is also possible now to create single, detailed conical gradients, which can be used to simulate shiny metal discs, or create a colorwheel:


Objects Dialog

Inkscape 0.92 also introduces a new objects dialog that will be useful for artists that have complicated drawings with many objects, grouped in many ways. This new dialog provides a tree view of all the objects in the document, allowing you to drill down and find the specific element you want to work on:


Be sure to check out the Release Notes and the Release Announcement for more details on these and the many other features in this new version of Inkscape.








by Ryan Lerch at January 24, 2017 03:06 AM

January 18, 2017

Fedora Magazine

Improve your sleep by using Redshift on Fedora

The blue light emitted by most electronic devices, is known for having a negative impact on our sleep. We could simply quit using each of our electronic devices after dark, as an attempt to improve our sleep. However, since that is not really convenient for most of us, a better way is to adjusts the color temperature of your screen according to your surroundings. One of the most popular ways to achieve this is with the Redshift utility. Jon Lund Steffensen , the creator of Redshift, describes his program in the following way:

Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night.

The Redshift utility only works in the X11 session on Fedora Workstation. So if you’re using Fedora 24, Redshift will work with the default login session. However, on Fedora 25, the default session at login is Wayland, so you will have to use the GNOME shell extension instead. Note, too that the GNOME Shell extension also works with X11 sessions.

Redshift utility


Redshift is in the Fedora’s repos, and thus, all we have to do to install is run this command:

sudo dnf install redshift

The package also provides a GUI. To use this, install redshift-gtk instead. Remember, though, that the utility only works on X11 sessions.

Using the Redshift utility

Run the utility from the command line with a command like the following:

redshift -l 23.6980:133.8807 -t 5600:3400

In the above command, the -l 23.6980:133.8807 means we are informing Redshift that our current location is 23.6980° S, 133.8807° E. The -t 5600:3400 declares that during the day you want a colour temperature of 5600, and 3400 at night.

The temperature is proportional to the amount of blue light emitted: a lower temperature, implies a lower amount of blue light.  I prefer to use 5600K (6500K is neutral daylight) during the day, and 3400K at night (anything lower makes me feel like I’m staring at a tomato), but feel free to experiment with it.

If you don’t specify a location, Redshift attempts to use the Geoclue method in order to determine your location coordinates. If this method doesn’t work, you could use multiple websites and online maps to find the coordinates.


Don’t forget to set Redshift as an autostart command, and to check Jon’s website for more information.

Redshift GNOME Shell extension

The utility does not work when running the Wayland display server (which is standard in Fedora 25). Fortunately, there is a handy GNOME Shell extension that will do the same job. To install, run the the following commands:

sudo dnf copr enable mystro256/gnome-redshift
sudo dnf install gnome-shell-extension-redshift

After installing from the COPR repo, log out and log back in of your Fedora Workstation, then enable it in the GNOME Tweak tool. For more information, check the gnome-redshift copr repo, or the github repo.

After enabling the extension, a little sun (or moon) icon appears in the top right of your GNOME shell. The extension also provides a settings dialog to tweak the times of the redshift and the temperature.



Relative software


Redshift could be seen as the open-source variant of F.lux. There is a linux version of F.lux now. You could consider using it if you don’t mind using closed-source software, or if Redshift doesn’t work properly.

Twilight for Android

Twilight is similar to Redshift, but for Android. It makes reading on your smartphone or tablet late at night more comfortable.

Redshift plasmoid

This is the Redshift GUI version for KDE. You can find more information on github.
















by novel at January 18, 2017 06:20 AM

January 16, 2017

Fedora Magazine

Use Docker remotely on Atomic Host

Atomic Host from Project Atomic is a lightweight container based OS that can run Linux containers. It’s been optimized to use as a container run-time system for cloud environments. For instance, it can host a Docker daemon and containers. At times, you may want to run docker commands on that host and manage the server from elsewhere. This article shows you how to remotely access the Docker daemon of the Fedora Atomic Host, which you can download here. The entire process is automated by Ansible — which is a great tool when it comes to automating everything.

A note on security

We’ll secure the Docker daemon with TLS, since we’re connecting via the network. This process requires a client certificate and server certificate. The OpenSSL package is used to to create the certificate keys for establishing a TLS connection. Here, the Atomic Host is running the daemon, and our local Fedora Workstation acts as a client.

Before you follow these steps, note that any process on the client that can access the TLS certs now has full root access on the server. Thus, the client can do anything it wants to do on the server. Therefore, we need to give cert access only to the specific client host that can be trusted. You should copy the client certificates only to a client host completely under your control. Even in that case, client machine security is critical.

However, this method is only one way to remotely access the daemon. Orchestration tools often provide more secure controls. The simple method below works for personal experimenting, but may not be appropriate for an open network.

Getting the Ansible role

Chris Houseknecht wrote an Ansible role that creates all the certs required. This way you don’t need to run openssl commands manually. These are provided in an Ansible role repository. Clone it to your present working host.

$ mkdir docker-remote-access
$ cd docker-remote-access
$ git clone https://github.com/ansible/role-secure-docker-daemon.git

Create config files

Next, you must create an Ansible configuration file, inventory and playbook file to setup the client and daemon. The following instructions create client and server certs on the Atomic Host. Then, they fetch the client certs to the local machine. Finally, they configure the daemon and client so they talk to each other.

Here is the directory structure you need. Create each of the files below as shown.

$ tree docker-remote-access/
├── ansible.cfg
├── inventory
├── remote-access.yml
└── role-secure-docker-daemon


 $ vim ansible.cfg


 $ vim inventory
'IP_OF_ATOMIC_HOST' ansible_ssh_private_key_file='PRIVATE_KEY_FILE'

Replace IP_OF_ATOMIC_HOST in the inventory file with the IP of your Atomic Host. Replace PRIVATE_KEY_FILE with the location of the SSH private key file on your local system.


$ vim remote-access.yml
- name: Docker Client Set up
  hosts: daemonhost
  gather_facts: no
    - name: Make ~/.docker directory for docker certs
      local_action: file path='~/.docker' state='directory'

    - name: Add Environment variables to ~/.bashrc
      local_action: lineinfile dest='~/.bashrc' line='export DOCKER_TLS_VERIFY=1\nexport DOCKER_CERT_PATH=~/.docker/\nexport DOCKER_HOST=tcp://{{ inventory_hostname }}:2376\n' state='present'

    - name: Source ~/.bashrc file
      local_action: shell source ~/.bashrc

- name: Docker Daemon Set up
  hosts: daemonhost
  gather_facts: no
  remote_user: fedora
  become: yes
  become_method: sudo
  become_user: root
    - role: role-secure-docker-daemon
      dds_host: "{{ inventory_hostname }}"
      dds_server_cert_path: /etc/docker
      dds_restart_docker: no
    - name: fetch ca.pem from daemon host
        src: /root/.docker/ca.pem
        dest: ~/.docker/
        fail_on_missing: yes
        flat: yes
    - name: fetch cert.pem from daemon host
        src: /root/.docker/cert.pem
        dest: ~/.docker/
        fail_on_missing: yes
        flat: yes
    - name: fetch key.pem from daemon host
        src: /root/.docker/key.pem
        dest: ~/.docker/
        fail_on_missing: yes
        flat: yes
    - name: Remove Environment variable OPTIONS from /etc/sysconfig/docker
        dest: /etc/sysconfig/docker
        regexp: '^OPTIONS'
        state: absent

    - name: Modify Environment variable OPTIONS in /etc/sysconfig/docker
        dest: /etc/sysconfig/docker
        line: "OPTIONS='--selinux-enabled --log-driver=journald --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem -H= -H=unix:///var/run/docker.sock'"
        state: present

    - name: Remove client certs from daemon host
        path: /root/.docker
        state: absent

    - name: Reload Docker daemon
      command: systemctl daemon-reload
    - name: Restart Docker daemon
      command: systemctl restart docker.service

Access the remote Atomic Host

Now, run the Ansible playbook:

$ ansible-playbook remote-access.yml

Make sure that the tcp port 2376 is opened on your Atomic Host. If you’re using Openstack, add TCP port 2376 in your security rule. If you’re using AWS, add it to your security group.

Now, a docker command run as a regular user on your workstation talks to the daemon of the Atomic host, and executes the command there. You don’t need to manually ssh or issue a command on your Atomic host. This allows you to launch containerized applications remotely and easily, yet securely.

If you want to clone the playbook and the config file, there is a git repository available here.


Image courtesy of Axel Ahoi — originally posted to Unsplash.

by Trishna Guha at January 16, 2017 08:00 AM

January 13, 2017


Fedora Magazine

How to install Apache web server on Fedora

One of the most common uses for any Linux system is as a web server. By far the most prevalent and famous web server is Apache. Apache is readily available in Fedora in pre-packaged form. You can use it to host content and applications for free anywhere you have a server.

Installing Apache

First, install the software packages for the Apache server. The recommended way to install the server is in a group of related packages.

su -c 'dnf group install "Web Server"'

This command installs the entire Web Server package group. The group includes other commonly used tools such as:

  • PHP and Perl support
  • The squid caching proxy
  • Documentation
  • Traffic analysis tools

If for some reason you don’t want these helpful packages, you can install the web server by itself. Use this command:

su -c 'dnf install httpd'

The web server package, httpd, depends on some other packages. They must be installed for the web server to function. This command installs those dependencies.

Configuring the system

Next, you may need to configure the system so other computers can contact the web server. You can skip this step if you only want to test a web server on the same computer you’re on.

Fedora systems have a protective firewall by default. Therefore, you must open specific service ports in that firewall to let other computers connect. To open the specific firewall ports for the web server, run these commands:

su -c 'firewall-cmd --add-service=http --add-service=https --permanent'
su -c 'firewall-cmd --reload'

The two service ports opened are:

  • http — Port 80, used for standard, non-secure web communications
  • https — Port 443, used for secure web communications

Also note the reload command makes these services active. Therefore, if you haven’t made other firewall changes permanent, those changes are lost when you reload. If you only want to open these services temporarily, use this command:

su -c 'firewall-cmd --add-service=http --add-service=https'

Testing the web server

Open a web browser on your system. Go to http://localhost and a web page like this appears:

Apache web server test page on Fedora

Apache web server test page on Fedora

This page confirms your web server is running correctly.

Now what?

The next steps are entirely up to you. Here is one article with ideas for what to do with your new web server.

Image courtesy of Markus Spiske — originally posted to Unsplash.

by Paul W. Frields at January 13, 2017 08:00 AM

How to install Drupal 8 on Fedora

Drupal is a completely free and open source content management system. It’s also one of the most popular open source projects ever. Drupal reportedly runs about 2.5% of the world’s websites. Best of all, it’s available for easy installation on your Fedora system.

Install the packages

Fedora provides a set of pre-packaged software to make installation easy. Open a terminal, and at the command prompt, use sudo to install the following packages.

sudo dnf install @"Web Server" drupal8 php-opcache php-mysqlnd mariadb-server

This example assumes you’ll run the web and database servers on the same machine. This is often the case for students and developers alike.

Enable the web and database services to start at boot time, then start them immediately:

sudo systemctl enable httpd.service mariadb.service
sudo systemctl start httpd.service mariadb.service

Set up the database server

If this is your first use of MariaDB, you should create a password for your root user. Store it somewhere secure and safe, in case you forget it. Don’t use the system’s own root (administrator) password.

sudo mysqladmin -u root password

Next, create a database. You can host more than one Drupal site on a machine. Therefore, you may want to choose a distinctive name for yours. For instance, this example uses myd8site. The -p switch prompts you for a password. You’ll need that, since you’ve added a password for root.

sudo mysqladmin create myd8site -u root -p

Next, set up a special privileged user and password for the database. The Drupal web app uses these credentials to run. Use the standard mysql client program for this step. The -D mysql option attaches to the built-in mysql database where privileges are stored.

Your input is shown in boldface in the example below. Make sure to use a strong password and not password itself.

$ sudo mysql -D mysql -u root -p
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.1.18-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [mysql]> GRANT ALL PRIVILEGES ON myd8site.* TO 'sqluser'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

MariaDB [mysql]> QUIT;

Set up the web server

Next, tune the SELinux parameters so the web server can perform necessary functions.

sudo setsebool -P httpd_can_network_connect_db=1
sudo setsebool -P httpd_can_sendmail=1

If desired, change the file /etc/httpd/conf.d/drupal8.conf so other systems can visit the site. Change the Require local line, so it reads Require all granted instead. Check the file after you run this command to confirm the change:

sudo sed -i 's/Require local/Require all granted/' /etc/httpd/conf.d/drupal8.conf

Next, configure your firewall so it allows traffic on port 80 (HTTP):

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

Now, copy the default settings file to a site-specific file, settings.php. Then make it world-writable. (You’ll change this back in a few minutes.)

sudo cp /etc/drupal8/sites/default/default.settings.php /etc/drupal8/sites/default/settings.php
sudo chmod 666 /etc/drupal8/sites/default/settings.php

Finally, restart the web server:

systemctl restart httpd

Visit the Drupal site

Next, you’re ready to configure the web app itself. Open a web browser on the system, or a connected system. Then browse to the IP address of your Drupal host, followed by /drupal8. For instance, your URL might be If you’re on the same box, you can use http://localhost/drupal8. This step begins the setup process:

Drupal 8 initial installation screen

Follow the prompt to choose a language, then save and continue. Most people choose a Standard installation profile. That profile provides more features right away.

When you get to the database configuration screen, use the hostname localhost. (If you already have another database host, use its hostname instead.) Enter the privileged MariaDB user and password you created for Drupal 8.


Drupal 8 installation - database configuration

When you save the database information, the site settings are configured for you. After the installation is done, change the settings.php file’s permissions back to normal:

sudo chmod 644 /etc/drupal8/sites/default/settings.php

Finish the process in the last screen by adding the site name and other site information.

by Paul W. Frields at January 13, 2017 02:30 AM

January 11, 2017

Fedora Magazine

Help FreeOrion come to Fedora

Last month, Fedora Magazine published an article on how to compile and install FreeOrion. That article sparked some interest in open-source gaming on Fedora, and now FreeOrion is coming to Fedora.

Installing FreeOrion

FreeOrion is currently available in the fedora-updates-testing repositories for Fedora 24 and 25. To install it, temporarily enable the “testing” repository with dnf:

dnf --enablerepo=updates-testing install freeorion

Once installed, you can launch the app either from withing GNOME Shell or by running freeorion in Terminal.

Help Wanted

Bodhi is Fedora’s package update system. Fedora packagers stage new versions of their packages in Bodhi. This gives adventurous users the chance to test out upcoming versions of packages before they land in fedora-updates. Providing feedback doesn’t require a Fedora Account; simply fill out the form on each update page with your feedback.

Feedback consists of comments, and either a positive or negative “karma” vote. Once a package has received enough positive karma, the submitter can push the package to the stable repositories, making it available to all Fedora users.

Don’t stop with FreeOrion! Providing feedback to testing packages in Bodhi is a great way to get started contributing to Fedora on your own time. It helps packagers and improves the overall quality of packages that land in the stable updates repository.

by Link Dupont at January 11, 2017 08:00 AM

January 09, 2017

Fedora Magazine

Experimenting with Docker and OpenShift

Nowadays containers are a hot topic for IT. Docker is currently one of the most popular ways to create and consume containers. If you want to get your feet wet with Docker, you can easily do that with Fedora. Part of the process is deploying a Docker image to a registry. You can use OpenShift to do this. Amazingly, you don’t even need to use an online service (free or not) to experiment with the process.

This document covers the initial steps to play with Docker and OpenShift on your own system.


How to install Docker in Fedora, run these commands:

sudo dnf -y install docker
sudo systemctl enable docker

For more information on these steps, refer the Fedora Developer portal.

Next, install OpenShift:

sudo dnf -y install origin docker-registry

Configuring Docker to use OpenShift

To run OpenShift together with Docker, modify the /etc/sysconfig/docker file.

One way to do this is to allow the INSECURE_REGISTRY option and add the IP address used by OpenShift. This tells Docker to disregard security for your registry. Although it’s easy to configure the daemon this way, it’s insecure. If you run the Docker daemon or set up a registry for anything other than personal testing, this process is not recommended.

$ cat /etc/sysconfig/docker | grep INSECURE
# adding the registry to the INSECURE_REGISTRY line and uncommenting it.

Enabling Docker in systemd

To enable the Docker daemon, run these commands:

sudo systemctl daemon-reload
sudo systemctl restart docker

Docker should start running. Check its status with systemctl:

sudo systemctl status docker

You should see similar results to this:

● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2016-11-07 15:11:41 CET; 20s ago
Docs: http://docs.docker.com
Main PID: 2769 (docker-current)
Tasks: 9
CGroup: /system.slice/docker.service
└─2769 /usr/bin/docker-current daemon --exec-opt native.cgroupdriver=systemd --selinux-enabled --log-driver=journald --insecure-registry
Nov 08 14:01:19 localhost.localdomain docker-current[2013]: time="2016-11-08T14:01:19.310721481+01:00" level=info msg="[graphdriver] using prior storage driver \"devicemapper\""
Nov 08 14:01:19 localhost.localdomain docker-current[2013]: time="2016-11-08T14:01:19.314271045+01:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
Nov 08 14:01:19 localhost.localdomain docker-current[2013]: time="2016-11-08T14:01:19.327088702+01:00" level=info msg="Firewalld running: true"
Nov 08 14:01:20 localhost.localdomain docker-current[2013]: time="2016-11-08T14:01:20.780845664+01:00" level=info msg="Default bridge (docker0) is assigned with an IP address
Nov 08 14:01:21 localhost.localdomain docker-current[2013]: time="2016-11-08T14:01:21.937088251+01:00" level=info msg="Loading containers: start."
Nov 08 14:01:21 localhost.localdomain docker-current[2013]: time="2016-11-08T14:01:21.937291016+01:00" level=info msg="Loading containers: done."
Nov 08 14:01:21 localhost.localdomain docker-current[2013]: time="2016-11-08T14:01:21.937406091+01:00" level=info msg="Daemon has completed initialization"
Nov 08 14:01:21 localhost.localdomain docker-current[2013]: time="2016-11-08T14:01:21.937513606+01:00" level=info msg="Docker daemon" commit="e03ddb8/1.10.3" execdriver=native-0.2 graphdrive
Nov 08 14:01:21 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
Nov 08 14:01:21 localhost.localdomain docker-current[2013]: time="2016-11-08T14:01:21.956150356+01:00" level=info msg="API listen on /var/run/docker.sock"

Starting OpenShift

To start OpenShift, run this command:

sudo oc cluster up

You should see results simliar to this:

-- Checking OpenShift client ... OK
-- Checking Docker client ... OK
-- Checking Docker version ... OK
-- Checking for existing OpenShift container ... OK
-- Checking for openshift/origin:v1.3.1 image ... OK
-- Checking Docker daemon configuration ... OK
-- Checking for available ports ...
WARNING: Binding DNS on port 8053 instead of 53, which may be not be resolvable from all clients.
-- Checking type of volume mount ...
Using nsenter mounter for OpenShift volumes
-- Creating host directories ... OK
-- Finding server IP ...
Using as the server IP
-- Starting OpenShift container ...
Creating initial OpenShift configuration
Starting OpenShift using container 'origin'
Waiting for API server to start listening
OpenShift server started
-- Installing registry ... OK
-- Installing router ... OK
-- Importing image streams ... OK
-- Importing templates ... OK
-- Login to server ... OK
-- Creating initial project "myproject" ... OK
-- Server Information ...
OpenShift server started.
The server is accessible via web console at:
You are logged in as:
User:     developer
Password: developer

To login as administrator, run this command:

oc login -u system -p admin

Use the default server and an insecure connection. (Use these options for further logins as well.) Now, both Docker and OpenShift are properly installed and running.

Creating a docker image

Let’s create a simple “helloworld” container. First create a directory called docker-hello-world:

mkdir ~/docker-hello-world
cd ~/docker-hello-world/

Now create a file called Dockerfile in the directory with the following content:

FROM fedora:24
MAINTAINER "Petr Hracek" phracek@redhat.com
CMD [ "/bin/echo" "hello world" ]

Building an image

To build a helloworld docker container, run this command:

sudo docker build -t helloworld:0.1 .

The output should be similar to this:

Sending build context to Docker daemon 2.048 kB
Step 1 : FROM fedora:24
Trying to pull repository docker.io/library/fedora ...
24: Pulling from docker.io/library/fedora
2bf01635e2a0: Pull complete
Digest: sha256:64a02df6aac27d1200c2572fe4b9949f1970d05f74d367ce4af994ba5dc3669e
Status: Downloaded newer image for docker.io/fedora:24
---> 11a5107645d4
Step 2 : MAINTAINER "Petr Hracek" phracek@redhat.com
---> Running in 5eb304ac9b65
---> 7b1559495b5e
Removing intermediate container 5eb304ac9b65
Step 3 : CMD /bin/echo 'hello world'
---> Running in 9cafe8c3e6af
---> 92282096ce32
Removing intermediate container 9cafe8c3e6af
Successfully built 92282096ce32

At the end you should see the build was successful. In case of trouble, refer to this handy best practice documentation.

Tagging an image to a local repository

To get the IMAGE ID, run this command in your local docker repository:

sudo docker images

The output should be similar to this:

REPOSITORY                                   TAG                 IMAGE ID            CREATED             SIZE
helloworld                                   0.1                 92282096ce32        8 minutes ago       204.4 MB
docker.io/openshift/origin-deployer          v1.3.0              5bf464732ca8        7 weeks ago         487.1 MB
docker.io/openshift/origin-docker-registry   v1.3.0              59d447094a3c        7 weeks ago         345.5 MB
docker.io/openshift/origin-haproxy-router    v1.3.0              e33d4e33dffb        7 weeks ago         506.2 MB
docker.io/openshift/origin                   v1.3.0              7b24611e640f        7 weeks ago         487.1 MB
docker.io/openshift/origin-pod               v1.3.0              35873f68181d        7 weeks ago         1.591 MB
docker.io/fedora                             24                  11a5107645d4        12 weeks ago        204.4 MB

Now, tag the docker image and push it to the local repository, using the IMAGE ID from your output:

sudo docker tag 92282096ce32 localhost.localdomain:5000/my-helloworld

Verify the helloworld container is tagged in your local docker repository. The IMAGE ID tags must be the same.

sudo docker images


REPOSITORY                                   TAG                 IMAGE ID            CREATED             SIZE
helloworld                                   0.1                 92282096ce32        12 minutes ago      204.4 MB
localhost.localdomain:5000/my-helloworld     latest              92282096ce32        12 minutes ago      204.4 MB
docker.io/openshift/origin-deployer          v1.3.0              5bf464732ca8        7 weeks ago         487.1 MB
docker.io/openshift/origin-docker-registry   v1.3.0              59d447094a3c        7 weeks ago         345.5 MB
docker.io/openshift/origin-haproxy-router    v1.3.0              e33d4e33dffb        7 weeks ago         506.2 MB
docker.io/openshift/origin                   v1.3.0              7b24611e640f        7 weeks ago         487.1 MB
docker.io/openshift/origin-pod               v1.3.0              35873f68181d        7 weeks ago         1.591 MB
docker.io/fedora                             24                  11a5107645d4        12 weeks ago        204.4 MB

Adding a docker image to OpenShift

You can use either of these two approaches to get a Docker image into OpenShift.

Add to OpenShift as an image

First, login to your OpenShift repository as developer and enter the password developer. You got the password earlier from the oc cluster up command.

sudo oc login -u developer

Then run this command:

sudo oc new-app helloworld:latest

Add to OpenShift docker-registry

You can access OpenShift Origin’s internal registry directly to push or pull images. This is helpful in order to create an image stream by manually pushing an image, or just to docker pull an image directly.

Two steps are required before adding a docker image to OpenShift. The first is to login with the username/password pair system:admin and the second is to get a registry IP, which is mandatory.
Login with this command:

sudo oc login -u system -p admin

To verify you’re logged in on the OpenShift instance, run this command:

sudo oc whoami

You should see:


To get a docker-registry IP, run this command:

sudo oc get svc -n default | grep docker-registry

The output should be similar to this:

docker-registry   <none>        5000/TCP                  38m

Now, login as developer:

sudo oc login -u developer

To push a local docker image to the Origin docker-registry, run this command:

sudo docker login -u developer -p $(sudo oc whoami -t) -e <email>

Now, let’s tag the docker image:

sudo docker tag localhost.localdomain:5000/my-helloworld

To push the docker image to the OpenShift docker-registry, run:

sudo docker push

To verify the previous task was successful, run:

sudo oc get is

The output should look like this:

NAME           DOCKER REPO                                  TAGS    UPDATED
my-helloworld  latest  5 seconds ago

To deploy your docker image on OpenShift, run:

sudo oc new-app my-helloworld:latest --name=my-helloworld

Deleting an image from the OpenShift project

To delete an image from the Openshift project called myproject, run this command:

sudo oc delete dc my-helloworld -n myproject

Storing a verified container image

If you verified a container image and you would like to share it, create a Pull Request in the container-images Github repository.

Further reading

For more information, check out GitHub – openshift/origin: Enterprise-Ready Kubernetes for Developers.

by Petr Hracek at January 09, 2017 08:00 AM

January 06, 2017

Fedora Magazine

Weather updates with OpenWeather GNOME Shell extension

If you have ever wanted weather updates on your Desktop, one of the easiest and neatest ways with the OpenWeather GNOME Shell extension. This nifty extension provides an always-visible display of the current weather status and temperature in the top bar of Fedora Workstation. If you open up the weather status monitor, it will also provide you with more details on the current weather, including a forcast for upcoming days, wind, humidity, atmospheric pressure, and sunrise & sunset times for the current location.


The OpenWeather GNOME Shell extension also allows you to specify a number of different locations to display weather data for. So if you are travelling a lot to different locations you can easily switch between them, or simply view the weather of where you would rather be. The extension also provides a range of other options for tweaking the display of how your weather is displayed. Tweakable options include changing the units of measurement, displaying more information in the topbar, and providing more days of future forecasts.


By default (and as the name of the extension suggests) the extension pulls the weather data down from OpenWeatherMap, but in the settings you can change the source to darksky.

Installing on Fedora Workstation

There are two ways to install the OpenWeather Shell Extension on Fedora workstation, either via the official Fedora repositories, or directly from the GNOME Shell Extensions directory website.

Installing from the Fedora repositories is done with the command:

sudo dnf install gnome-shell-extension-openweather

Note that you will need to logout of your current user session and log back in to make the extension load when installing from the Fedora Repositories.














by Ryan Lerch at January 06, 2017 05:36 AM

January 04, 2017

Fedora Magazine

Jona Azizaj: How do you Fedora?

We recently interviewed Jona Azizaj on how she uses Fedora. This is part of a series on the Fedora Magazine. The series profiles Fedora users and how they use Fedora to get things done. Contact us on the feedback form to express your interest in becoming a interviewee.

Who is Jona Azizaj?

Jona Azizaj is currently pursuing a bachelor degree in Business Informatics at the University of Tirana. She is also on the board of Open Labs Hackerspace. Open Labs Hackerspace promotes free/libre open source culture in Albania.  She is also a co-organizer of Open Source Conference Albania (OSCAL). Azizaj is part of the Fedora Project and the first Fedora Ambassador in Albania.

The first time Azizaj heard about Linux was when she went to university.  “At first I used Ubuntu because that’s what our teachers suggested, but after OSCAL I switched to Fedora just to see if it met my needs,” Azizaj says. “I was really satisfied with Fedora as an operating system and the community. That’s why I am still using it.” She has been using Linux for the last four years.


Apart from being an open source lover Azizaj also loves digits. In her free time she teaches math to high school students. She is also passionate about football. “I see almost every match of my favorite teams: AC Milan and FC Barcelona. Many people know me as jonatoni (also my FAS username) because my favorite football player is Luca Toni.”

“Lately it’s been really difficult for me to find time and watch TV,” Azizaj says, “but when I do have some free time I watch movies or serials because I love them. My favorite two movies are A Beautiful Mind and The Theory of Everything.

The Fedora community

Azizaj’s first experience with the Fedora Community was at OSCAL. “I followed a presentation from Giannis Konstantinidis talking about Fedora as an operating system and how to be part of the community.” Inspired by the presentation, she visited the Fedora booth and took a CD. Azizaj immediately installed it on her computer.

After OSCAL she went to Open Labs, the community that organizes OSCAL. They helped her get involved with the community and organize events related to Fedora at Open Labs Hackerspace. “The first event that I’ve organized was I love Fedora Meetup on 14th February. Even though it was St Valentine’s Day many people came to Open Labs to attend.” Azizaj continued to organize a variety of events, including localization sprints, release parties, and even a Python workshop. “The last event I organized was Fedora Loves Python Workshop #1.”


Azizaj loves the spirit of the Fedora Community. “It is a fun, friendly and engaging environment which fosters participation and further development for anyone who wants to help.” She continues, “If you have an idea and want to implement it the community will give you all the suggestions and help you need.”

Azizaj also made a point to highlight that the Fedora community is thankful for all contributors regardless of their technical skill level. It was Giannis Konstantinidis who convinced her to contribute to Fedora by becoming part an Ambassador and a member of the Diversity, i18n, l10n, Marketing and CommOps teams.

From organizer to speaker

Azizaj wasn’t the kind of person who liked public speaking, but overcame this fear because she was so motivated to talk about her experience with Fedora. “I started organizing some small events at our local hackerspace, continued with OSCAL and now I go to different conferences abroad to talk about Fedora and to bring more people (especially women) to be part of our community.” Documenting the events she attended and organized also helped her improve her writing skills.

Azizaj has attended events outside of her native Albania, including:

She frequently speaks at events. For isntance, at OpenFest her talk was about encouraging people to contribute to the Fedora Project and the initiatives to encourage women to contribute to open source communities.

Ada Lovelace Day

Ada Lovelace Day

Azizaj is also a core member of the Diversity Team. She mentions that “in January we (Diversity Team) will have our first FAD to discuss differents problems that we have faced in open source communities and how we can improve and solve them.”

What hardware?

Azizaj has a Lenovo Thinkpad T410 laptop with an Intel i5 2520M CPU, 8 GB DDR3 RAM, 320 GB HDD and Intel HD 3000 graphics. The laptops has a resolution of 1600×900 on a 14.1″ LED backlit LCD screen. It supports USB 3.0 and has a DVD-RW drive.


What software?

When asked about software, Azizaj replied that she runs “Fedora 25 on my laptop and my favorite desktop environment is GNOME.” She uses Firefox for web browsing and Thunderbird for email. When communicating on IRC she uses Xchat and Telegram. She recently started using Focuswriter to help her concentrate when writing and article or event report. For synchronizing her files she makes use of Nextcloud. When working at night she uses Redshift to assist with the light of her laptop. GNOME To Do helps her to remember any jobs she needs to finish.

by Charles Profitt at January 04, 2017 08:00 AM

December 30, 2016

Fedora Magazine

17 alternatives to your default image viewer on Fedora

Is the default image viewer in your desktop environment just not working the way you want? need more features (or maybe something simpler) from an image viewer? Well, you are in luck, as there is no shortage of choices when looking at alternative image viewers in Fedora. This article covers 17 image viewers in Fedora.

Typically, an image viewer does one thing — shows you the images in a directory (sometimes in a thumbnail view), and lets you quickly flip through them. Some image viewers also allow you do simple edits of an image, and will also show you some added details of your pictures (like metadata, and color histograms).

Eye of Gnome (eog)

The Eye of GNOME is the official image viewer for the GNOME desktop. It integrates with the GTK+ look and feel of GNOME, and supports many image formats for viewing single images or images in a collection.

The Eye of GNOME also allows to view the images in a fullscreen slideshow mode or set an image as the desktop wallpaper. It reads the camera tags to automatically rotate your images in the correct portrait or landscape orientation.

Eye of MATE

Eye of MATE is a simple viewer for browsing images on your computer. Once an image is loaded, you can zoom and rotate the image, and also view subsequent images in the directory the image was loaded from.


eyesight is a simple image viewer that allows the user to view either a single image, or a whole directory of images. eyesight also allows the user to rotate the image, and save the result.


Feh is a superminimal image viewer that basically just shows the images that are in the directory that it is launched from. It has a few options that are shown when you right-click on the main window.



Geeqie is an application for browsing images — you open up an image or directory to browse and view all the images in that directory. It also displays all the relevant data and metadata for your images in various, configurable sidebar widgets. It can display many forms of data, including exif metadata, color histograms, GPS locations of the photo.


gliv is an image viewer that just views images (no editing capabilities here). It also has extensive shortcuts for control with the keyboard that are all documented in the menus.



gpicview is another image viewer that just shows the image, and lets you proceed back and forward to the next image in the directory. It also has controls at the bottom of the window for zooming, and opening another directory.



gThumb is an image viewer, editor, browser and organizer. As an image viewer gThumb allows to view common image file formats such as BMP, JPEG, GIF (including the animations), PNG, TIFF, TGA and RAW images. It is also possible to view various metadata types embedded inside an image such as EXIF, IPTC and XMP.

As an image editor gThumb allows to scale, rotate and crop the images; change the saturation, lightness, contrast as well as other color trasformations. As an image organizer gThumb allows to add comments and other metadata to images; organize images in catalogs and catalogs in libraries; search for images and save the result as a catalog.


gwenview is a basic image viewer tha allows you to view images, and also perform basic photo manipulations like rotation and cropping.



nomacs is a fast image viewer with additional image editing functionality. When viewing images, it features fast thumbnail previews, a zoomable grid display of thumbnails, a chromeless view, and display of metadata and image details with a histogram. It also has the ability to edit images, including cropping, resizing, rotating and color correction.


when it comes to minimal interfaces for viewing images, qiv is the king. It doenst have a desktop file, so you can only launch it from the terminal, and it will only work if you give it a image to view (or directory) as a parameter from the command line. With such a minimal interface, you control most of the features of this one with the keyboard.



Ristretto is a simple application for viewing, zooming and rotating images. Ristretto has a simple two-paned layout with a list of thumbnails on the left, and the main image on the right. It also has the ability to set an image as your desktop background.


Shotwell is an easy-to-use, fast photo organizer designed for the GNOME desktop. It allows you to import photos from your camera or disk, organize them by date and subject matter, even ratings. It also offers basic photo editing, like crop, red-eye correction, color adjustments, and straighten. Shotwell’s non-destructive photo editor does not alter your master photos, making it easy to experiment and correct errors.

When ready, Shotwell can upload your photos to various web sites, such as Facebook, Flickr, Picasa (Google Plus), and more.

Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats.


sushi is not a stand-alone image viewer, but is an add-on for the default GNOME file browser. to use sushi, just browse to a directory in Files (aka nautilus), select a file, then press space to bring up a quick, larger preview of the image.



Viewnior is a simple and elegant image viewer with a minimal interface that provides as much screen real estate as possible to view your images. It has a wide range of features, including: fullscreen and slideshow modes, the ability to rotate, flip and crop images, support for animations (GIF), support for reading image metadata, and the ability to configure mouse actions.


xfi is an older image viewer that allows you to open a directory, and simply browse the images. To install xfi, use sudo dnf install xfe-xfi



xzgv is a simple image editor, with a focus on controlling all actions using keyboard input. It has a simple, two pane layout, with all the thumbnails of the current directory listed in the left pane, and the image viewed in the main pane. The menu in xzgv can be viewed in a context menu that is shown by right-clicking on the main image pane. This context menu also lists all the keyboard shortcuts if you are new to xzgv and need to know them.



by Ryan Lerch at December 30, 2016 08:00 AM

December 28, 2016

Fedora Magazine

Add power to your terminal with powerline

A while ago, Fedora Magazine posted this interview with Rackspace architect Major Hayden where he mentioned the powerline utility. If you often use a terminal, you too might find powerline useful. It gives you helpful status information, and helps you stay organized.

For the shell

By default, the shell plugin gives you plenty of helpful data:

  • Login name
  • Local time
  • Current working directory or path. The path is condensed automatically when it grows longer than the terminal width.
  • The number of active background jobs
  • The hostname, when you connect via SSH to a remote system where powerline is installed

This saves you a lot of twiddling with your shell environment and complex scripting! To install the utility, open a terminal and run this command:

sudo dnf install powerline

The rest of these instructions assume you’re using Fedora’s standard bash shell. If you’re using a different shell, check out the documentation for tips.

Next, configure your bash shell to use powerline by default. Add the following snippet to your ~/.bashrc file:

if [ -f `which powerline-daemon` ]; then
  powerline-daemon -q
  . /usr/share/powerline/bash/powerline.sh

To activate the changes, open a new shell or terminal. You should have a terminal that looks like this:

Terminal with powerline running in the bash shell

Try changing directories. Watch how the “breadcrumb” prompt changes to show your current location. Very handy! You’ll also be able to see number of pending background jobs. And if powerline is installed on a remote system, the prompt includes the hostname when you connect via SSH.

For tmux

If you’re a command line junkie, you probably also know tmux. It allows you to split your terminal into many windows and panes, each containing its own session. But the tmux standard status line is not quite as interesting as what powerline provides by default:

  • Window information
  • System load
  • Time and date
  • Hostname, if you’re connected to a remote system via SSH

Therefore, let’s install the plugin:

sudo dnf install tmux-powerline

Now add this line to your ~/.tmux.conf file:

source "/usr/share/tmux/powerline.conf"

Next, remove or comment out any lines in your tmux configuration for status bar length or content. Examples of these settings are status-left, status-right, status-left-length, and status-right-length.

Your user configuration is stored in ~/.tmux.conf. If you don’t have one, copy an example from the web or /usr/share/tmux to ~/.tmux.conf, and then edit.

When you next start tmux, you should see the powerline status bar:

A tmux session with powerline running the status bar

For vim

If you use the vim editor, you’re also in luck. There’s a powerful plugin for vim, too. By default, it shows:

  • Operating mode (normal, insert, replace)
  • Current path and file name
  • Text encodings
  • Document and line positions

To install it, use this command:

sudo dnf install vim-plugin-powerline

Now add the following lines to your ~/.vimrc file:

python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup
set laststatus=2
set t_Co=256

Now you can start vim and see a spiffy new status line:

Vim running with powerline status

Configuring powerline

No command line utility is complete without configuration options. The configuration in this case isn’t exactly simple, though; it requires you to edit JSON formatted files. But there’s a complete configuration guide available in the official documentation. And since the utility is written in Python, it’s eminently hackable.

When you hack the configuration, it’s usually to add, change, or remove segments. There are plenty of segments available, such as:

  • Content of environment variables
  • Version control system data (such as git branch and status!)
  • Weather
  • …and many more.

To change the status layout in an environment, you create or edit configuration files in your ~/.config/powerline/ folder. These configurations are stored as themes for each plugin. You can use the powerline-lint utility to check your configuration for parsing errors after making changes.

Some changes may require you to reload your session or possibly restart the daemon:

powerline-daemon --replace

Now you can enjoy more sophisticated status data in your favorite tools!

by Paul W. Frields at December 28, 2016 04:51 AM

December 26, 2016

Fedora Magazine

Work sprints with a Pomodoro timer

Time management is important for everyone. When we get our tasks done efficiently, we leave more time for other things we’re passionate about. There are numerous tools on your Fedora system to help you manage your time effectively. One of them is a Pomodoro timer.

The Pomodoro technique was invented by Francesco Cirillo. He named it after the tomato-shaped timer he used in his university years to manage his time. There’s more to the method than just a timer, but basically it means setting up sprint time.

During a sprint, you focus only on the task and goal at hand, and avoid distractions. Each sprint has a specific goal, and the end of the sprint signals a break to relax and set up for the next sprint. Sprints often come in a series, and a longer break follows the end of the series.

By breaking your work into sprints like this, you can focus intently on a specific goal. As you complete sprints, you build up accomplishment and morale. If your sprints are organized around a larger project, you’ll often see big progress in a short time.

Installing the Pomodoro timer

Fedora Workstation’s GNOME Shell has a Pomodoro timer extension available. To install it, search for Pomodoro in the Software tool, or run this command:

sudo dnf install gnome-shell-extension-pomodoro

To see the timer, hit Alt+F2, type r and hit Enter to restart the Shell. You can also logout and log back in, although you’ll need to save any of your work first. The timer will appear at the top right of your Shell:


You can use the Preferences panel to have more control over your sprints. There are some interesting options for sound (like a softly ticking clock) you might find energizing — or annoying! Use this control panel to adjust the intervals and interface to suit your preferences.

One of the custom options I like is the ability to start a sprint with a key combination. By default, Ctrl+Alt+P starts the timer, but you can adjust this as desired. Any time I hit a stride while writing and think a sprint is in order, I can use the keyboard to easily start and commit to one.

Other timer apps

But what if you’re not using GNOME? There are options for you, too.


If you’re using KDE, you can use the Timer app, but you might prefer adding the widget to your screen. Right-click the widget to set the timer to a preset limit, or you can use a mouse wheel to customize. Then start the timer to remind you when the sprint is finished. A notification appears when the timer is done.


If you happen to be using XFCE, you might like the xfce4-timer-plugin app. This app functions both as a countdown timer and a scheduled timer. You can set up a custom countdown timer for different sized sprints, and recall them as desired in the alarm list. You can also provide a custom command to run at the conclusion of the sprint.


Although not available in Fedora directly, there is a fully featured Pomodoro Timer applet for Cinnamon. One source where you can find the timer is via Cinnamon Spices. This applet has a variety of settings, similar to the GNOME timer, specifically built for the Pomodoro method.


Closing thoughts

Using the Pomodoro method won’t single-handedly make you more efficient. It can be an important part, though, of an overall approach to managing your time and effort. Do you want more tools you can use to track and improve your work habits? Check out this previous article in the Magazine for some thoughts on the subject.

Cover Image based on https://www.flickr.com/photos/gazeronly/7944002016/ — CC-BY

by Paul W. Frields at December 26, 2016 03:04 PM


December 22, 2016

Fedora Magazine

6 great monospaced fonts for code and terminal in Fedora

Because they spend most of their days looking at them, most sysadmins and developers are pretty choosy when it comes to picking a monospaced font for use in terminal emulators or text editors. Here are six great monospace fonts that can be easily installed from the official Fedora repositories to make your text editor or terminal emulator look and function just that little bit nicer.


A favourite of many programmers, Inconsolata is a clear and highly readable humanist monospaced font designed by Raph Levien. It features a slashed zero to distinguish that glyph from the uppercase O, and also has easily distinguishable different glyphs for the lowercase L and the numeral 1.


To install Inconsolata, search for it in the Software application in Fedora Workstation, or install the levien-inconsolata-fonts package using DNF or yum on the command line.

Source Code Pro

Source Code Pro is a monospaced typeface released under the SIL Open Font License by Adobe. It features a dotted zero to distinguish that glyph from the uppercase O, and also has different glyphs for the lowercase L and the numeral 1.


To install Source Code Pro, search for it in the Software application in Fedora Workstation, or install the adobe-source-code-pro-fonts package using DNF or yum on the command line.

Fira Mono

Fira Mono is the monospaced variant of the Firefox brand font Fira Sans. It has a little more weight than some of the other fonts in our list. It also features a dotted zero, and different glyphs for the lowercase L and the numeral 1.


To install Fira Mono, search for it in the Software application in Fedora Workstation, or install the mozilla-fira-mono-fonts package using DNF or yum on the command line.

Droid Sans Mono

Droid Sans Mono is part of the Droid Family of fonts commisioned by Google for earlier versions of Android. One downside to this font is the lack of a dotted or slashed zero, making the zero glyph hard to distinguish from the uppercase O. There is also versions of Droid Sans Mono available on a 3rd party website that add a dotted or slashed zero to this font, but these arent available in the Fedora repos, so you will need to download and install the font manually.

To install Droid Sans Mono, search for it in the Software application in Fedora Workstation, or install the google-droid-sans-mono-fonts package using DNF or yum on the command line.

DejaVu Sans Mono

To install DejaVu Sans Mono, search for it in the Software application in Fedora Workstation, or install the dejavu-sans-mono-fonts package using DNF or yum on the command line.


Hack bills itself as having “No frills. No gimmicks. Hack is hand groomed and optically balanced to be a workhorse face for code.” Hack builds on the monospaced versions in the Bitstream Vera and DejaVu font families, modifying and enhancing glyph coverage, shapes and spacing. Hack works best in the 8px to 12px range on regular DPI monitors, and as low as 6px on higher DPI monitors.


Hack is not in the official Fedora repos yet, but is being worked on. Luckily there is a copr repo that packages up the fonts for you, or you can install the font files directly from the Hack github.

This post was originally published in October 2015. It was updated in in October 2016 to add Hack.

by Ryan Lerch at December 22, 2016 12:15 PM

December 21, 2016

Fedora Magazine

Beginner’s guide to IRC

IRC, short for Internet Relay Chat, is a great way for individuals and teams to communicate and work together. Although there are new apps like Slack that mimic it, IRC itself has been around for decades. It’s a time-tested system with a wealth of features. However, it’s also simple to get started using it with tools in Fedora.

IRC servers on the internet accept and relay messages to connected users, each of whom is running an IRC client. The clients all use the IRC protocol, a set of agreed upon rules for communication. There are many separate IRC networks on the internet. Each network has one or more servers around the world that work together to relay messages.

Each network also has many channels, sometimes called rooms, where users can gather. A channel usually has a specific topic, and a name that starts with a “#”, such as #hyundai-cars. When you enter or join that channel, it’s because you want to discuss that topic. You can also start your own channel.

You can also privately message other users in most cases. It’s also possible to configure your user account on a network, or your client, not to get such messages. IRC has many options available, but this article will only cover a few simple ones.

IRC clients

There are several useful IRC client apps available on Fedora. The one we’ll use here is Hexchat. To install it, open the Software application, type hexchat into the search bar, and select the Install button for the app. Or at the terminal, use this command:

su -c 'dnf install hexchat'

Once the app is installed, select it from the application menu for your desktop environment, or run hexchat at the terminal. Other clients include:

  • Polari. Polari is designed to work well with GNOME. It has a simple, beautiful interface to help you get online quickly and focus on your conversations.
  • Smuxi. Smuxi is a slightly more complicated client, but it includes a proxy component. Rather than using a separate proxy like ZNC — which we covered in the Magazine earlier — Smuxi includes this feature. (You can use a regular proxy with any client, of course.)
  • Konversation. Konversation is designed to work well with KDE. Its interface is similar to Hexchat and it has many useful options.
  • Irssi. Unlike the other clients mentioned here, irssi is a command-line application. It is highly configurable, and requires more knowledge to use.
  • WeeChat. This is another highly configurable command-line IRC client, but also supports some other protocols.

Connecting to IRC

Here is the startup screen for the Hexchat app:

Hexchat startup screen

On the network, you are permitted to use an IRC nickname, or nick, to identify yourself. Common names may be in use since some IRC networks have thousands of users. The nick paul in this example screen is probably already in use. The second or third choices will be used in the event of a collision. It’s a better idea to pick something more unusual. For example, pwf16 is probably not in use.

Then select the appropriate network for IRC. The network you choose depends on whom you’re trying to talk with. Each different group or project on the internet will use a specific network. For example, many free software projects use the Freenode network.

Your group or project of interest should provide you either the name or connection details for the right IRC network. Once you’ve selected the network in the list, select Connect to get online.

If you don’t see an entry for the network, select Add and provide connection details. The connection information should be provided on that IRC network’s web page. Often the address will be written in the form server.example.org:6667. The network or server address is server.example.org, and 6667 represents the port. Port 6667 is used by most IRC servers. You can often leave it out in clients, since 6667 may be assumed if not provided.

In many cases, the network will display information in your client as it connects. At least the first few times you use a network, check the notices to see if you are expected to do anything else. For example, some networks require you to register your nick with a real email address. Follow instructions as needed. (This article cannot cover all networks, so if you don’t understand instructions, contact that IRC network’s support staff.)

Good manners in IRC

Before joining any IRC channels, you should understand basic manners online. Joining a channel is like attending a party at someone’s home. Good manners on IRC are as important as good manners when visiting someone in real life. If you show up and behave rudely, you’ll probably be asked to leave, or even be banned. Be polite, and assume the other people in the channel also have good intentions — especially if you don’t understand something they say.

It’s also important to know how people have conversations in IRC. Often a channel has more than one conversation going at a time. Again, like a party, sometimes conversations overlap, so it’s important to remember a comment may not be directed to you.

To avoid confusion, people in a conversation often use each other’s IRC nicks to indicate to whom they’re talking. The nick is followed by a colon or a comma, and then the comment. Most IRC clients also understand this rule, and notify you if someone uses your name this way.

<pwf16> rlerch: Hi, it's good to see you again!
<rlerch> pwf16: You too. 
<pwf16> rlerch: What did you think about that banner image I made?
<rlerch> pwf16: Well, it's got some issues, but let me see if I can tweak it.

Another reason this rule is helpful is you cannot assume others are looking at IRC at the same time as you. They may be away from their computer, or working on something else. When you address comments, the notification will be waiting for the other person to return. That person can then reply to you.

Some communities or channels have their own rules and guidelines. Some channels have operators, or ops, who monitor the channel to make sure things are going well. They may take action if someone is being rude or abusing the channel. It’s important to understand and respect channel and community rules when you use IRC. Take the time to read them before joining any conversations. Doing so will avoid problems or misunderstandings, just like house rules when you visit someone.

Joining a channel

Once joined to a network, Hexchat displays this screen:

Hexchat connection complete screen

If you know the name of the channel you want to join, type it in the provided box and select OK.

Now you’ll see the main Hexchat window. It shows you a list of networks and channels you have joined, a conversation window, and a list of nicks in the current channel. There’s also a small line at the bottom of the window next to your nick, where you can type a comment or an IRC command.

Hexchat main window

Note the conversation starts with a topic for the channel. In this case, the #hexchat channel topic includes several pieces of information, including the home page for the project and a link to the documentation. Sometimes you may see rules for the channel in the topic as well.

Before you type anything, remember: anything you type will be sent to the channel. The only exception is a line that starts with a slash “/” character. The slash tells your client you are typing an IRC command and not a comment for the channel.

Helpful IRC commands

There are many IRC commands available. This article will only cover a few.

You don’t have to type a command in a graphical client like Hexchat. Many commands can be run through the menu in the app window, or by right-clicking an object such as a network, channel, or nick.

  • /HELP displays a list of all the commands available. To read more about most commands, type /HELP followed by the command. For example: /HELP PING
  • /MSG followed by a nick and a message sends that message privately to that person. Right-click a nick, choose Open Dialog Window, and send a message, or type: /MSG pwf16 Hey, can we talk about Friday plans?
  • /NICK followed by a nick will change your IRC nick. Be careful doing this when joined to channels. If you do it too often, it may be considered abuse. Click your nick at the bottom of the window and enter a new one, or type: /NICK pwf16-test
  • /AWAY followed by a message indicates you aren’t seated at a console where you can see IRC, although your client is still signed on. To indicate you’re back, type /AWAY without any message. You should only use this if you’ll be away for a while. A good rule of thumb is an hour or more. Frequent use may be considered abuse. Select Server > Marked Away in the menu, or type: /AWAY Back at 9pm EST
  • /BACK indicates you are no longer away, and may be used interchangeably with /AWAY in some clients. Deselect Server > Marked Away in the menu, or type one of these commands.
  • /JOIN followed by a channel name joins another channel. Select Server > Join a Channel… in the menu, or type: /JOIN #hyundai-cars
  • /PART disconnects your client from the current channel. You can optionally include a channel name to leave a channel other than the current one, as well as a message your client will send upon leaving. Right-click the channel in the list and select Close, or type: /PART #hyundai-cars Thank you and goodnight

Other IRC resources

You can find some useful general information on etiquette and using IRC here:

Happy chatting with IRC!

This post was originally published in January 2016

This post was originally published in January 2016Save

by Paul W. Frields at December 21, 2016 04:00 AM

December 19, 2016

Fedora Magazine

Email clients in Fedora

Email is used by the vast majority of Internet users. Although increasingly users access their mailboxes through web browsers, desktop client applications are still popular. Their biggest advantage is desktop integration. They can send notifications about incoming messages, work offline, call other helper apps, and more. What are the most popular desktop clients you can find in Fedora?


One doesn’t even have to introduce Thunderbird. It’s the most famous open source email client. It was created by the split of the Mozilla suite into a browser (Firefox) and email client (Thunderbird). In 2012, Mozilla handed over the development to the community. At the end of 2014, Mozilla announced they would decouple development of Thunderbird from Firefox to focus more on browser development. A lot of users understood this announcement as abandoning Thunderbird completely, but that’s not the case.



  • Multi-platform
  • A broad selection of extensions
  • Instant messaging integration
  • Very good IMAP support


  • Other groupware tasks only covered by extensions
  • Doesn’t support Microsoft Exchange very well
  • Suboptimal integration into desktop environment

Who is it for? A general purpose app that works well in all desktop environments. You’ll like it especially if you need to work on several OSes.

Thorsten Leemhuis, Fedora packager and former FESCo chair, is using Thunderbird and here is why:

thorsten-leemhuisThunderbird does the job for me. It could be easier and more beautiful. It also has quite a few rough edges I needed to get used to; some I was able to work around by adjusting the configuration or by using extensions. But in the end Thunderbird suits my needs better than all the other clients I looked at in the recent past. Thunderbird for example handles multiple identities properly (with the help from the extension “Folder Account”), which is quite important to me. By using the extension “QuickFolders” I can quickly navigate between all my important IMAP folders. Enigmail, just like Thunderbird, could need some polish, but it handles PGP fine. In the end I’m not completely satisfied with Thunderbird, but it most of the time just works; that’s important to me, as I handle hundreds of mails every day.


Evolution also doesn’t have to be introduced to Linux users. It’s less well known by users of other OSes because, unlike Thunderbird, it’s not multi-platform. It’s a groupware client, meaning besides email it can also handle contacts, notes, tasks, calendar. Evolution has been developed for more than 15 years in the GNOME project. It’s the default email client in Fedora.



  • GNOME integration
  • Probably the best MS Exchange support on Linux
  • Covers other groupware tasks


  • IMAP support not as good compared Thunderbird

Who is it for? Evolution is an ideal solution for those who also want calendaring, task management, and other functions besides email. If you need to connect to an Exchange server, it’s probably the only reasonable option on Linux.

Peter Robinson, Fedora release engineer, is using Evolution and here is why:

peter-robinsonI use Evolution because it’s generally stable, integrates well with the GNOME Shell for notifications, has integrated calendar and contacts and integrates well with a number of service providers for mail, calendar and contacts such as Microsoft Exchange (old job), Google contacts/calendar, and corporate standards such as iCal. It’s not perfect but the maintainers are responsive when I report bugs


Geary is the youngest client in this overview. The Yorba Foundation started developing it in 2012, and iIt’s now maintained by the GNOME Community. Geary has a modern interface which is focused on popular email services, mainly Gmail, and is inspired by them. For instance, it adopted the conversation view of Gmail.



  • Simple interface and configuration
  • The most similar client to web services like Gmail
  • Good GNOME integration


  • Missing advanced features (e.g. filters)

Who is it for? Do you use Gmail and would you like to try a desktop client? Geary is the closest desktop client to it.

Jakub Steiner, member of Red Hat’s desktop team and GNOME designer, is using Geary and here is why:

jakub-steinerGeary does a good job focusing on the essential workflow, providing a mean to quickly sort through the inbox, and keep conversations grouped. While not perfect it does a reasonable job reusing the same patterns established in GNOME3. Difficult choices have been made. Somebody relying on POP/heavy client side filtering will be disappointed, but to me it’s the closest thing to calling a free software mail client elegant.


Kmail is well-known mostly among KDE users, with a history almost as long as Evolution’s. It has lost some of its popularity recently, as seen on the poll results. Users complain about lagginess and high system requirements of the Akonadi backend. But Kmail also has advantages, since it has a lot of advanced features, and is easily extendable to a full-fledged groupware solution, Kontact.



  • A lot of features and configuration options
  • Extendable to a full-fledged groupware solution, Kontact
  • KDE Plasma integration


  • System resource requirements of the Aconadi backend
  • Installation of Kontact floods the lists of apps with 13 launchers
  • More difficult account setup compared to Thunderbird and Evolution

Who is it for? Do you use KDE Plasma and want complete control over email and setup for everything? Kmail is the best option for you.

Sylvia Sanchez, a member of Fedora Marketing and Design teams, is using Kmail and here is why:

Sylvia Sanchez, a Fedora user and contributorWell, first because it isn’t mandatory to setup Kmail in order to use Kontact. It is in Evolution. Second, because Kmail has a wizard that configures everything automatically fetching info from Mozilla. While it is a bit tricky on certain things it’s still handy. Third, Kmail integrates very well with other desktops; it’s not KDE exclusive. Fourth, because what I use more is the calendar/to-dos part. On that side I prefer by far Kontact because its Summary view. I can see everything at a glance and if there’s any new email I’ll see it there. Fifth, is less Outlook compatible oriented. Sixth, is more flexible and less intrusive.


Mutt has been the most popular command-line email client among Linux users. But it’s not very friendly to novice users. The user base is generated mostly from power users who spend a lot of time in the terminal. You can navigate through Mutt using only the keyboard. You compose messages in an external editor, which is a big plus for users accustomed to effective command-line text editors such as Vim and Emacs.


  • Fast with low system resource requirements
  • Doesn’t require a graphics stack
  • Completely navigable by the keyboard
  • Message composing is left to your favorite editor


  • Not as user friendly as graphical clients
  • Unintuitive settings through commands and configuration files

Who is it for? If you spend most of your computer time in the terminal, why use a graphical client? Mutt can do the same job with fewer resources and it’s configuration is virtually unlimited.

Matthew Miller, the Fedora Project Leader is using Mutt and here’s why:

Matthew Miller http://mattdm.org1) I come from a sysadmin background, where I lived in terminal windows. My FPL job doesn’t need that, but I kind of like to retain that connection. 2) I have extensive customizations, filters, scripts, and everything, which I’ve been using for… twenty years, since I stopped using elm. It’d be a pain to migrate all of those! 3) I actually use it directly on the server where I get my mail, and it can work with local mail folders directly, so no IMAP or anything like that to manage or worry about – and no synchronization problems. It’s the “cloud” advantage of access-from-anywhere, just like webmail – except a little more “texty”. 4) Since it’s a console tool, it integrates seamlessly with my preferred editor, joe.

Claws Mail

Claws Mail is an email client written in GTK+ that’s been a bit hidden in the shadow of Evolution. But it has a loyal community and user base it’s been serving for almost 15 years. It started as a fork of Sylpheed, which is also still alive, but Claws Mail has more active development and seemingly more users, too. Both are conservative desktop clients with lower system resource requirements, so they’re often used in Linux distributions for older computers.



  • Low system resource requirements
  • Fairly good selection of extensions


  • Too conservative user interface
  • Cannot view HTML messages without an extension

Who is it for? Do you still use email the same way like 15 years ago? You don’t understand how an email client can consume several hundred MB and still be slow? You will like Claws Mail.

Andrew Clayton, a Fedora user and kernel contributor, is using Claws Mail and here is why:

andrew-claytonI like to think of it as a graphical Mutt. It’s nice and configurable, has good IMAP support. It just looks a like a good traditional mail client (it doesn’t try to simplify things and it doesn’t try to be flashy). I like the MH format (each mail message stored in its own file) it uses.


Like Mutt, Alpine is a command-line client. It was created in 2007 as a replacement for Pine, whose development was stopped and whose license was changed to freeware.


  • Fast with very low system resource requirements
  • Doesn require a graphics stack
  • Completely navigable by the keyboard
  • Easier interface and configuration than Mutt’s


  • Although simpler than Mutt still not as user friendly as graphical clients
  • Fewer features and configuration options compared to Mutt

©Office of UW Technology, University of Washington (Licensed under the Apache License, Version 2.0)

Who is it for? Do you also spend most of your computer time in the terminal, but Mutt is too complex for you? Try Alpine!


This has been an overview of the most popular email clients among Fedora users. But it’s definitely not a complete list. Fedora offers other interesting alternatives. For instance, Trojitá, written in Qt, has very good and fast IMAP support, but has limited features. You can also use the email client in Seamonkey, which is a fork of Mozilla Suite. You can also try Sylpheed. Emacs fans should try Mu4e that is an email client based on Emacs using mu as a backend. N1 by Nylas brings an interesting approach: it moves most of the client logic to the server, and only runs a thin client locally. You won’t find N1 in Fedora repositories yet, but you can install it on Fedora.

What email client do you use and why?

This post was originally published in January 2016

by Jiří Eischmann at December 19, 2016 10:44 AM

December 16, 2016

Fedora Magazine

Use Focuswriter for a distraction-free writing experience on Fedora

Writing can be hard. One of the main obstacles that people encounter when sitting down to write something is all the distractions that a modern desktop throws at you such as cats on the internet, cats on twitter, and cats on reddit. Focuswriter is a neat word processor available in Fedora that provides a user experience to minimize all these cat-related distractions, allowing you to focus on what you need to write.

Focus writer is a full-screen application that — by design — hides all the other desktop elements, and even most of its own user interface, and pretty much just leaves you with somewhere to write. focuswriter-default

Basic word processing

The default file format that Focuswriter uses is Open Document Text (.ODT), which is the format used by Libre Office. However, Focuswriter does not use the majority of features specified in ODT, so no support for inserting images, tables, or even headers.

By design, only basic formatting of text is supported, such as applying bold, italics, underlines, subscript, superscript, indenting, and text alignment. Other basics you would expect from a word processor are also present in Focuswriter, including spellchecker, a handy autosave feature, and support for editing multiple documents.

Customise your experience

Focuswriter also has many options to tweak and change how your writing experience looks. You can create, modify and use multiple different themes, tweaking display options such as fonts, background colours, background images, the colour of the foreground, opacity of the foreground, text colour, text size and line spacing.


Tools to help your writing

Reducing distractions is not the only thing that Focuswriter gives you to improve your focus on getting things written. Timers allow you to set a goal of how long you want to write for, allowing you to just focus on writing, and Focuswriter will alert you when time is up. It is also possible to set daily writing goals for documents, to help you stay on track if you are writing a lengthy document like a novel. Focuswriter can also display live statistics on your writing session, so you can keep track of how many words, paragraphs or even characters you have written in a writing session.

Focuswriter also has a focused text feature that greys out all other visible text in the document other than the current line, the current 3 lines, or the current paragraph. This is designed to help you focus on what you are currently writing, and reduce the urge to go back and edit other sections of your document.


Getting it for Fedora

Focuswriter is available in the official Fedora repositories, so you can find it in the Software application on Fedora Workstation, or install on the command line with sudo dnf install focuswriter

This post was originally published in Feburary 2015

by Ryan Lerch at December 16, 2016 11:08 AM

December 14, 2016

Fedora Magazine

Closing bugs as end-of-life

Each Fedora release is supported for a given time period. Approximately one month after Fedora release X+2, Fedora release X will go end of life (sometimes called EOL). Fedora 25 was recently released, so Fedora 23 will be going end of life shortly. The part of end-of-life that most users notice is that there are no more updates released.  Another aspect of end-of-life is cleaning up bugs filed in Bugzilla. An automated script is used to close all bugs that are still open for an EOL release. The goal of closing EOL bugs is to make overall Bugzilla management easier and make sure the right bugs are getting attention.

Reporting a bug and seeing it closed without being fixed can be a frustrating experience. One aspect of open source many people like is being able to report bugs in a transparent manner. However, there are many more users than developers and maintainers. And there are more people reporting bugs than fixing them. Package maintainers may not have time to respond to, or the knowledge to fix, every bug. Maintainers will usually make an effort to report the bugs directly to the upstream project for the developers to fix.

Once a bug is reported to the upstream project, several things can happen. Sometimes a bug is known and fixed, but the developer just doesn’t respond to the bug report. In addition to fixing bugs, developers are constantly working on new features. Sometimes new features will fix an existing bug as well. If there are many changes in a new package version, it can be difficult to identify which change might fix a bug. It is faster for both a package maintainer and developer to request testing on the newest version. Marking a bug as EOL is an indication that the newest version needs to be tested to see if the bug is still present.

If an EOL bug is still present after testing on the newest version, it is appropriate to reopen the bug and change the version where the bug is still present. This is helpful to maintainers, since it lets them know a bug is still present. A maintainer may make different choices about what bugs to continue reporting upstream if they know a bug is still present. By only having bugs open to supported versions, it’s more likely the maintainers and developers will be able to fix the correct problems.

Some packages may choose to do mass end-of-life notifications more often than once a release. The kernel package does this for every major update (updating from 4.x to 4.y). Closing out bugs for versions that are no longer supported helps make sure maintainers see the correct problems. Filing bugs for the latest version of software makes Fedora a better product.

by Laura Abbott at December 14, 2016 08:00 AM

December 12, 2016

Fedora Magazine

Typing Emoji with Fedora 25 Workstation

Fedora 25 Workstation ships with a new feature that, when enabled, allows you to quickly search, select and input emoji using your keyboard. Emoji, the cute Ideograms that are part of Unicode are used fairly widely in messaging, especially on mobile devices. You may have heard the idiom “A picture is worth a thousand words“, and this is exactly what Emoji tries to leverage by providing simple images for you to use in communication. Each release of Unicode adds more Emoji, with over 200 new emoji added in past releases of Unicode.

While it’s great to see Emoji numbers growing, at the same time it brings the challenge of how to effectively allow you, the user to input them in a computing device. Many people are already using Emoji input in mobile devices or social networking sites.

Enabling Emoji input on Fedora 25 Workstation

The new emoji input method ships by default in Fedora 25 Workstation, but to use it you will need to enable it using the Region and Language settings dialog. Open the Region and Language dialog from the main Fedora Workstation settings, or search for it in the Overview.

If the input sources section does not have any items listed, first add your basic keyboard layout — in this example we are using English US.  Next, enable an advanced input method (which is powered behind the scenes by iBus). The advanced input methods are identifiable in the list by the cogs icon on the right of the list. In this example below, we have added English – US (Typing Booster)


The Input Method dropdown will automatically appear in panel at the top of your desktop. Ensure that English (US) is selected as the current input method, and you will be ready to input multitudes of emoji.


Using the new Emoji input method

Now the Emoji input method is enabled, search for emoji by pressing the keyboard shortcut Ctrl + Shift + e presenting an @ symbol in the currently focused text input. Begin typing for the emoji you want to use, and pop-over will appear allowing you to browse the matches. Finally, use the keyboard to mouse to make your selection, and the glyph will be placed as input.








by Pravin Satpute at December 12, 2016 11:00 AM

December 11, 2016


December 09, 2016

Fedora Magazine

C99 features in GCC on Fedora

The New C

C99 is the C standard ratified by the ANSI and ISO standardizaion groups. It presents a significant amount of changes to the C language. These changes are the result of sibling competition between C and C++. The initial version of C is named after Kernighan and Ritchie. Classic C is K&R C with structure assignment, enumerations, and void. C89, or ANSI C, had some influences from C with Classes. For example, C89 adopted function prototypes in a similar form to what C with Classes provided. The most significant changes in C99, compared to C89, support a variety of new features.

Following is a brief list of C99 features:

  • Boolean data types <stdbool.h>
  • Increased identifier size limits
  • C++ style/line comments
  • Inline functions
  • Restricted pointers
  • Variable Declarations
  • Variable length arrays
  • New long long type

Specific standards

The new C standard for gcc is applied with the following command.

$gcc -Wall -std=c99 filename.c

Let us consider the following program named bool.c:

/*bool.c */
#include <stdio.h>
#include <stdbool.h>
int main(int argc, char *argv[])
  bool b = true;
    printf("It is a true Boolean data type supported only in C99\n");
   printf("Boolean data type is not supported in C99\n");
  return 0;

$ gcc -Wall -std=c99  bool.c
$ ./a.out
It is a true Boolean data type supported only in C99

Linking C99 programs with external libraries

The C standard library consists of a collection of headers and library routines used by C programs. The external library is usually stored with an extension .a and known as a static library. For instance, the C math library is typically stored in the file /usr/lib/libm.a on Linux. The prototype declarations for the functions in the math library are specified in the header file /usr/include/math.h.

#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
  float x,y,h;
  //C99 program to demonstrate the use of external math library function
  printf("\n Enter the values for x and y\n");
  scanf("%f %f", &x,&y);
  printf(" The Hypotenuse of x and y is %f\n", h);
  return 0;

Consider the above program hypotenuse.c. The following commands are then executed:

$ gcc -Wall -std=c99 hypotenuse.c /usr/lib/libm.so -o hypt
$ ./hypt
Enter the values for x and y
The Hypotenuse of x and y is 10.000000

gcc provides an -l option to override long paths when linking against libraries. The following command illustrates this option:

$ gcc -Wall -std=c99  hypotenuse.c -lm -o hypt
$ ./hypt
Enter the values for x and y
4.0 8.0
The Hypotenuse of x and y is 8.944272

Mixed declarations

ISO C99 allows declarations and code to simultaneously exist in compound statements. The following programming example illustrates this feature:

int main(int argc, char*argv[])
  for(int i=2; i>0 ; --i)
    printf("%d", i);
    int j = i * 2;
    printf("\n %d \n", j);

$ gcc -Wall -std=c99  mixednewdec.c
$ ./a.out

The identifier is visible from where it is declared to the end of the enclosing block.

Variable Length Arrays(VLA)

Variable Length Arrays are not dynamic arrays. Rather, they are created with different sizes each time a declaration is encountered. Only local arrays which are within block scope can be variable arrays.

int main(int argc, char *argv[])
  int j = 10;
  void func(int);
  return 0;

void func(int x)
  int arr[x];
  for(int i=1; i<=x; i++)
    int j=2;
    arr[i] = j*i;

Previously array sizes were of fixed size. C99 removes this constraint. It also frees you from performing allocate( ) and delete( ) operations on memory explicitly. The output of VLA is illustrated below.

$ gcc -Wall -std=c99 vla.c
$ ./a.out

New Long Long Type

Long long is 64 bit wide integer type. This is the biggest integer type in the C language standard. The long long type was specified to give 32-bit machines a way to handle 64-bit data when interactingwith 64 bit machines. Consider the following C program longdt.c:

#include <stdio.h>
int main(int argc, char *argv[])
  long long num1 = 123456789101LL;
  long int num2 = 12345678;
  printf("Size of %lld is %u bytes\n", num1 ,sizeof(num1));
  printf("Size of %ld is %u bytes\n", num2 ,sizeof(num2));
  return 0;

$ gcc -Wall -std=c99 longdt.c
$ ./a.out
Size of 123456789101 is 8 bytes
Size of 12345678 is 4 bytes

Restricted Pointers

C99 lets you prefix pointer declarations with the restrict keyword. Thus the pointer itself will be used to access the object it points to. This features takes care of the shortfall of aliasing. It also aids in code optimization. For example, consider the signature of strcat() function in the string.h file:

char *strcat (char* restrict dest,  const char * src)

The source string is appended to the end of the destination string. Here, the destination and source strings can be referenced only through the pointers dest and src. The compiler can then optimize the code generated for the function.

Inline Functions

Inline functions save the overhead of function calls. Consider the following program inlinecode.c to demonstrate the use of inline in C99.


#ifndef MYHEADER_H
#define MYHEADER_H

inline int min(int a, int b)
  return a < b ? a : b;



#include <stdio.h>
#include "myheader.h"
extern int min(int,int);
int main(int argc, char *argv[])
  int a =10, b=20;
  int min_value = min(10,20);
  printf(" The minimum of a and b is %d\n", min_value);
  return 0;

$ gcc -Wall -std = c99 inlinecode.c
$ ./a.out
The minimum of a and b is 10


C99 is a step ahead in the evolution of ANSI C. It incorporates elegant features like single line comments, boolean data types and larger size data types. C99 also supports code optimization through restricted pointer usage and supports inline functions. Now programmers can exploit these new features and further optimize their code for programming efficiency.

by Shrirang A Kulkarni at December 09, 2016 08:00 AM

December 08, 2016

Fedora Magazine

Fedora 23 End of Life

With the recent release of Fedora 25, Fedora 23 will officially enter End Of Life (EOL) status on December 20th, 2016. After December 20th, all packages in the Fedora 23 repositories will no longer receive security, bugfix, or enhancement updates, and no new packages will be added to the Fedora 23 collection.

Upgrading to Fedora 24 or Fedora 25 before December 20th 2016 is highly recommended for all users still running Fedora 23.

Looking back at Fedora 23

Fedora 23 was released in early November 2015, and during this time the Fedora Community have published over 10 000 updates to the Fedora 23 Repositories. Fedora 23 released with version 4.2 of the Linux kernel, and Fedora Workstation featured version 3.18 of GNOME. LibreOffice version 5 also made it’s first appearance in Fedora 23, and Fedora 23 also introduced the brand new Cinnamon spin.

Screenshot of Fedora 23 Workstation

Fedora 23 Workstation screenshot

About the Fedora Release Cycle

The Fedora Project provides updates for a particular release up until a month after the second subsequent version of Fedora is released. For example, updates for Fedora 24 will continue until one month after the release of Fedora 26, and Fedora 25 will continue to be supported up until one month after the release of Fedora 27.

The Fedora Project wiki contains more detailed information about the entire Fedora Release Life Cycle, from development to release, and the post-release support period.



by Ryan Lerch at December 08, 2016 10:28 PM

December 07, 2016

Fedora Magazine

Endless Sky now available on Fedora

Endless Sky is a 2D space trading and combat game similar to Escape Velocity. The game sets you as a beginning pilot, just having made a down payment on your very first starship. You’re given a choice between a shuttle, a freighter or a fighter. Depending on what ship you choose, you will need to figure out how to earn money to outfit and eventually upgrade your ship. You can transport passengers, run cargo, mine asteroids or even hunt pirates. It’s an open-ended game that blends the top-down action of a 2D space shooter with the depth and replayability of a 4X.




Endless Sky is available on Fedora 23, 24, and 25. To install on Fedora Workstation, open Software and search for it by name. Click on the entry for the game and the following view appears:


Click the Install button. Or, you can install it using dnf:

dnf install endless-sky

You can now run Endless Sky from within GNOME Shell. Open Activities in the top-left corner, then click Show Applications in the favorites dash on the left.

Endless Sky as a desktop app in Fedora GNOME

Get Involved

There are many ways to contribute directly to the Endless Sky project. The project has an extensive wiki outlining how to contribute art, missions, ships, etc.

Be sure to keep the Players Manual open; there’s a wealth of information in the manual. Happy flying!

by Link Dupont at December 07, 2016 08:00 AM

December 05, 2016

Fedora Magazine

Try Fedora in the cloud for free with Dply

Fedora 25 is now available on Dply. Dply is a new experimental cloud provider which lets you run an instance for two hours at a time — for free, with no catch. That means that with a few clicks, you can try Fedora 25 from the comfort of your home, school, or coffeeshop.

You’ll need:

Launching a Dply server

Once you have those things, click this to get started. It’ll open a new browser tab or window:


You’ll be prompted to sign in to GitHub. After that, you’ll see the Dply screen for launching a new server:


Fill in the various fields. Don’t forget the “Server Name” section above the line at the top. Pick a conveniently close location, and the “2 Hours (Free)” plan. Select the SSH key from your GitHub account. (Mine is named “ubik.”)

You can leave the User-data section as is. Or you can customize if you’re familiar with cloud-init and its #cloud-config syntax.


Once you’re ready, press the “CREATE SERVER” button, and your cloud instance is built:


Soon, you’ll see a screen like this. Make note of the IP address — it’s the number after “Fedora 25” in the dark black box. You’ll need that to connect.


Now bring up a terminal window, or your favorite SSH client, if you’re not running Fedora already. At the prompt, type:

ssh fedora@NN.NN.NN.NN

Replace the NNs with the numbers from above. Of course, use yours, not the ones that appear in this example. (You can copy and paste them from your web browser.)

You’ll be prompted to accept a key fingerprint. Unfortunately there’s currently no way to validate that. So you’ll have to accept the unlikely probability of someone spoofing the brand new host in this exact second. Type yes and hit Enter, and you’re in!


You have access to sudo without an additional prompting. So you can do things like sudo dnf install httpd to set up a web server — or anything else you want.

Other details

This service is hosted on Digital Ocean. The operating system image is Fedora Cloud Base, a minimal take on Fedora plus cloud-init for configuration. To convert to the batteries-included Fedora Server Edition, run:

sudo dnf -y install convert-to-edition
sudo convert-to-edition -p -e server

Among other things, this command installs and configures a firewall. We’re hoping to have Fedora Atomic Host available in Digital Ocean and Dply soon.

Please note, we don’t endorse or have a sponsorship relationship with Dply. We just think this is cool, and a neat way to get your hands on Fedora Cloud with little effort. If this doesn’t work for you, you can instead launch the Fedora Cloud Base image in Amazon EC2 or download for other platforms. See this mailing list post for more information.

by Matthew Miller at December 05, 2016 04:23 PM

December 01, 2016

Fedora Magazine

Bitcoin on Fedora with Electrum

Bitcoin is a decentralized digital currency, that has no central authority and not tied to any banks. The system is peer-to-peer and transactions take place between users directly. Before diving into the world of Bitcoin, it is a good idea to read the getting started guide on bitcoin.org. One of the important pieces of software required when using Bitcoins is a Bitcoin Wallet. On Fedora, there is a new Bitcoin wallet called Electrum that you can use to send and receive Bitcoins.

Installing Electrum

Electrum is fast, secure and easy to use, and you can install it via GNOME Software or dnf on Fedora 25:

$ sudo dnf install electrum

Create your first wallet with Electrum

After you have installed Electrum, start the Application, and you will be greeted by a startup wizard, stepping you through the basic setup. In this example, follow the steps in the screenshots below to create a Standard Electrum Bitcoin wallet. Be sure to write down the generation seed with a pen on a paper, do not store it on your computer. Do it now, before you receive any Bitcoins!

01-install-wizard-connect-to-sever 02-install-wizard-wallet-type 03-install-wizard-keystore 04-install-wizard-generation-seed 05-install-wizard-password

Receiving Bitcoins

You can buy bitcoins with national currencies from a private seller or through an exchange. When buying or receiving bitcoins, you will need to provide the other person/system with your Bitcoin address, which is in the Receive tab in the main Electrum window

Electrum receive

Sending Bitcoin

You can also send bitcoins, which is done via the Send tab in electrum. When sending Bitcoins, you will need the receiver’s Bitcoin address, which can be text, a Bitcoin url or QR-image.

Electrum send

You might want to adjust the fee depending on the priority of the transaction, I selected the lowest fee since transfer time was not important.

Have some feedback?

We are happy to hear your experiences with Bitcoin on Fedora. Did you experience any difficulties? What wallet(s) do you use? Anything else regarding Electrum or Bitcoin?

Image courtesy of Jason Benjamin




by Jonny Heggheim at December 01, 2016 08:00 AM

November 29, 2016

Fedora Magazine

Fedora 25 available in DigitalOcean

Last week the Fedora Project released Fedora 25. This week Fedora Project community members have worked with the DigitalOcean team to make Fedora 25 available on their platform. If you’re not familiar with DigitalOcean already, it’s a dead simple cloud hosting platform that’s great for developers.

Important notes

The image has some specific differences from others that Fedora ships. You may need to know about these differences before you use the image.

  • Usually Fedora Cloud images have you log in as user fedora. But as with other DigitalOcean images, log into the Fedora 25 DigitalOcean cloud image with your ssh key as root.
  • Similar to our last few Fedora releases, Fedora 25 also has SELinux enabled by default. Not familiar with SELinux yet? No problem. Read more about it here.
  • In these images there’s no firewall on by default. There’s also no cloud provided firewall solution. We recommend that you secure your system immediately after you log in.
  • Fedora 25 should be available in all datacenters across the globe.
  • If you have a problem you think is Fedora specific, email us at , or ping us in #fedora-cloud on Freenode. You can also let the team know if you just want to say you’re enjoying using the F25 image.

Visit the DigitalOcean Fedora landing page and spin one up today!


Digital Ocean provides Fedora Cloud Base, a minimal image with cloud-init for configuration. To convert to the “batteries-included” Fedora Server edition, run:

sudo dnf -y install convert-to-edition
sudo convert-to-edition -p -e server

Among other changes, this will install and enable firewalld.

by Dusty Mabe at November 29, 2016 08:43 PM

November 28, 2016

Fedora Magazine

Jose Bonilla: How do you Fedora?

We recently interviewed Jose Bonilla on how he uses Fedora. This is part of a series on the Fedora Magazine. The series profiles Fedora users and how they use Fedora to get things done. Contact us on the feedback form to express your interest in becoming a interviewee.

Who is Jose Bonilla?

Jose Bonilla is a database programmer and an adjunct mathematics instructor by day. By night, Jose likes to draw comic book characters and anime. Bonilla’s childhood interest in comic books came as no surprise, but his choice of heroes did. “My heroes would be Darkwing Duck and Spider-Man.” He continued, “Two of the most flawed characters ever, who also use heroism to overcome their weakness.”

Jose Bonilla Comic

Bonilla’s favorite food is yellow rice and beans with chicken. The Matrix and Back to the Future are his two favorite movies. In his spare time, Jose likes to game, draw and tinker with things. He values patience, fairness, kindness, knowledge and humor.

Jose initially switched from Windows 7 to Elementary OS, but has been using Fedora since Fedora 22. He switched to Linux out of a desire to expand his skills in new areas. Linux offered an untapped wealth of knowledge. He has made progress at work with open source since converting to Fedora. “I have been able to implement a number of open source initiatives at work, such as Gitlab and Observium,” said Bonilla.

Fedora community

Bonilla first got involved in the Fedora community when he was studying for the RHCSA (Red Hat Certified System Administrator) exam. He felt using Fedora was the best way to prepare for the exam. “One criteria I use when choosing any open sourced software is to examine the community.” Jose looks at the number of users, forums, blog posts, and issue resolution all as part of the community. The Fedora community exceeds all his expectations.

Jose would like to see more development of Cockpit. “I feel that web-based server administration tools are the future and perhaps the gateway for new interest in Linux administration.” Bonilla did not credit any single person for influencing his decision to contribute to Fedora. It was a “multitude of people and their stances,” he said. Bonilla commented that his “goal is to convince people, by example, that open source projects such as the Fedora Project are important and viable solutions to anyone’s computing needs.”

When asked about metaphors, Bonilla compared open source software to a supermarket:

“Supermarket vs. restaurant meals can be much like open source vs. closed source. When you order food from a restaurant, you typically are provided with everything you need to enjoy your meal, including the service. But when your meal isn’t to your liking, you are prohibited from entering the kitchen and changing things for yourself. Whereas with supermarket shopping, you are free to create the type of meal you want. You can create the meal to your liking by following a recipe and the recipe can be thought of as the source code for the meal. While more effort and skill are needed, the outcome is more enjoyable and less expensive.”

What hardware and software?

Bonilla’s primary workstation is an OptiPlex 7040 with an Intel Core i7 with 16GB of RAM and a 256GB SSD drive. He also uses a Precision 5510 to run a Fedora Server in an LXC configuration on Proxmox. When Jose needs to connect to a remote machine, he uses Remmina for both his SSH and RDP sessions.

bonilla screens

As an instructor, he makes use of a 128GB USB 3.0 flash drive with Fedora 24 installed. The flash drive is loaded with all the software he needs to give lectures. It is paired with a Wacom Intuos 3 graphics tablet and projector. When asked about the setup, Jose said, “I was surprised how everything just worked with the projector and graphics tablet. No further installation or configuration needed.” To create lectures he uses LibreOffice and exports the final copies to PDF. Xournal is then used to open the PDF documents. Annotations are made using the Wacom tablet. When the lecture is done, he emails the annotated PDF documents to his students. “I can be more mobile than if I had to carry a laptop or tablet with me. It’s a rather seamless process.”

by Charles Profitt at November 28, 2016 08:00 AM

November 23, 2016

Fedora Magazine

SQL Server in a Fedora Docker Container

You might have seen the Magazine’s previous article on running SQL Server v.Next on Fedora.  That post talks about how to install it directly in to your Fedora installation. However, containers are an incredibly popular way to deploy apps especially if you just want to try it out.  Read on for how to run the SQL Server public preview in a Docker container on Fedora.


First you need to get docker installed. In short, run these commands:

sudo dnf install docker
sudo systemctl start docker

By default, you’ll need to run docker as root or with sudo, but you can change that if desired. Check out the Fedora Developer page on docker for more details and more elaborate setups. You may also be interested in other things you can do with docker and Fedora based on one of my past posts.

Setting up SQL Server

To pull the Docker image with SQL Server, run this command:

docker pull langdon/fedora-mssqlserver

You will see it download all the layers. The process goes faster if you’ve pulled a Fedora docker image in the past. To run it, use this command (copy and paste makes this easier):

docker run -d -t -p 1433:1433 -v $DATADIR:/var/opt/mssql/data:rw,z -v $LOGDIR:/var/opt/mssql/log:rw,z -e ACCEPT_EULA=$ACCEPT_EULA -e SA_PASSWORD=$SA_PASSWORD langdon/fedora-mssqlserver

To explain this long command a bit:

  • -p 1433:1433 — This is the port exposed from the container to connect to SQL Server. This command binds 1433 on your machine to the container port. You can also use an arbitrary port by just using -P if you’re using 1433 for something else.
  • $DATADIR — Either replace this with a local directory, or set an environment variable for where SQL Server should store its data.
  • $LOGDIR — Just like $DATADIR except for logs.
  • $ACCEPT_EULA — You need to accept the Microsoft license agreement to use this software.
  • $SA_PASSWORD — The default admin user in SQL Server is SA and this is where you set its password. Probably better to replace this than set an environment variable.

Technically speaking, you don’t need to pull the image first. I believe it makes the explanation simpler. I also have a handy script you can run to make this easier, but you still have to provide the password.

Check to ensure your container is running:

docker ps

There should be an entry similar to this:

381a922c2a3e langdon/fedora-mssqlserver "/start.sh" 3 seconds ago Up 2 seconds>1433/tcp angry_jepsen

Connecting to SQL Server

Finally, you can connect to the container. To get the tools, run these commands:

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
dnf install -y --allowerasing mssql-tools

Note that –allowerasing may be needed depending on your package set. The mssql-tools package requires a different version of unixODBC than is shipped in Fedora.

Now you have a sqlcmd utility you can use to connect like this:

sqlcmd -U sa -P $SA_PASSWORD

For $SA_PASSWORD use the password you provided when you started the container running. Finally, to prove SQL Server is up and working, use these commands:

1> SELECT Name from sys.Databases;


2> GO

You’ll see the default tables. You can read more in this Getting Started from Microsoft.

More information

If you’re looking for more information on SQL Server on Linux, refer to the official website.  If you’re interested in other ways to use Docker, there are several interesting docker posts in Fedora Magazine. I also have this all in a Github repo, including a Vagrantfile to try this process in a controlled environment. Please check it out and submit a pull request if you find any problem.

Image courtesy of Boba Jovanovic — originally posted to Unsplash.

by Langdon White at November 23, 2016 06:04 PM

November 22, 2016


Fedora Magazine

Upgrading Fedora 24 to Fedora 25

Fedora 25 was just officially released. You’ll likely want to upgrade your system to the latest version of Fedora. Fedora offers a command-line method for upgrading Fedora 24 to Fedora 25. The Fedora 24 Workstation also has a graphical method.

Upgrading Fedora 24 Workstation to Fedora 25

Soon after release time, a notification appears to tell you an upgrade is available. You can click the notification to launch the GNOME Software app. Or you can choose Software from GNOME Shell.

Choose the Updates tab in GNOME Software and you should see a window like this:

If you don’t see anything on this screen, try using the reload tool at the top left. It may take some time after release for all systems to be able to see an upgrade available.

Choose Download to fetch the upgrade packages. You can continue working until you reach a stopping point, and the download is complete. Then use GNOME Software to restart your system and apply the upgrade. Upgrading takes time, so you may want to grab a coffee and come back to the system later.

Using the command line

If you’ve upgraded from past Fedora releases, you may be familiar with the dnf upgrade plugin. This method is the recommended and supported way to upgrade from Fedora 24 to Fedora 25. Using this plugin will make your upgrade to Fedora 25 simple and easy.

1. Update software and back up your system

Before you do anything, you will want to make sure you have the latest software for Fedora 24 before beginning the upgrade process. Additionally, make sure you back up your system before proceeding. One popular tool available in Fedora for this purpose is deja-dup. To update your software, use GNOME Software or enter the following command in a terminal.

$ sudo dnf upgrade --refresh

2. Install the DNF plugin

Next, open a terminal and type the following command to install the plugin:

$ sudo dnf install dnf-plugin-system-upgrade

3. Start the update with DNF

Now that your system is up-to-date, backed up, and you have the DNF plugin installed, you can begin the upgrade by using the following command in a terminal:

$ sudo dnf system-upgrade download --releasever=25

This command will begin downloading all of the upgrades for your machine locally to prepare for the upgrade. If you have issues when upgrading because of packages without updates, broken dependencies, or retired packages, add the --allowerasing flag when typing the above command. This will allow DNF to remove packages that may be blocking your system upgrade.

Upgrading to Fedora 25: Starting upgrade

4. Reboot and upgrade

Once the previous command finishes downloading all of the upgrades, your system will be ready for rebooting. To boot your system into the upgrade process, type the following command in a terminal:

$ sudo dnf system-upgrade reboot

Your system will restart after this. In past releases, the fedup tool would create a new option on the kernel selection / boot screen. With the new dnf-plugin-system-upgrade package, your system reboots into the current kernel installed for Fedora 24; this is normal. Shortly after the kernel selection screen, your system begins the upgrade process.

Now might be a good time for a coffee break! Once it finishes, your system will restart and you’ll be able to log in to your newly upgraded Fedora 25 system.

Upgrading Fedora: Upgrade in progress

Upgrading Fedora: Upgrade complete!

Resolving upgrade problems

On occasion, there may be unexpected issues when you upgrade your system. If you experience any issues, please visit the DNF system upgrade wiki page for more information on troubleshooting in the event of a problem.

If you are having issues upgrading and have third-party repositories installed on your system, you may need to disable these repositories while you are upgrading. For support with repositories not provided by Fedora, please contact the providers of the repositories.

Further information

For more detailed instructions on using dnf for upgrading, including a breakdown of other flags, check out the DNF system upgrade wiki article. This page also has frequently asked questions you may have during an upgrade.

Happy upgrades!

by Justin W. Flory at November 22, 2016 03:00 PM

Fedora 25 released!

The Fedora Project is pleased to announce the immediate availability of Fedora 25, the next big step our journey into the containerized, modular future!

Fedora is a global community that works together to lead the advancement of free and open source software. As part of the community’s mission the project delivers three editions, each one a free, Linux-based operating system tailored to meet specific use cases: Fedora 25 Atomic Host, Fedora 25 Server, and Fedora 25 Workstation.

Each edition is built from a common set of base packages, which form the foundation of the Fedora operating system. As with all new versions of Fedora, Fedora 25 provides many bug fixes and tweaks to these underlying components, as well as new and enhanced packages, including:

  • Docker 1.12 for building and running containerized applications
  • Node.js 6.9.1, the latest version of the popular server-side JavaScript engine
  • Support for Rust, a faster and more stable system programming language
  • PHP 7, offering improved performance and reduced memory usage
  • Multiple Python versions — 2.6, 2.7, 3.3, 3.4 and 3.5 — to help run test suites across several Python configurations, as well as PyPy, PyPy3, and Jython

Fedora Workstation

Providing many of the latest open source developer and desktop tools, Fedora 25 Workstation delivers a host of new features, including the long-awaited official debut of the Wayland display server. Replacing the legacy X11 system, Wayland has been under development for several years and seeks to provide a smoother, richer experience for graphical environments and better capabilities for modern graphics hardware. To further enhance ease-of-use, Fedora 25 Workstation also features GNOME 3.22, which offers multiple file renaming, a redesigned keyboard settings tool and additional user interface improvements. Workstation users will also be pleased with the inclusion of decoding support for the MP3 media format.

Fedora 25 Workstation now makes it easier to for Windows and OS X users to get started, with Fedora Media Writer serving as the default download for those operating systems. This tool helps users find and download the current Fedora release and write it to removable media, like a USB stick, allowing potential Fedora users to “test drive” the operating system from that media environment. Fedora can then be installed to their systems with the same process.

For current Fedora users, the upgrade path from Fedora 24 to Fedora 25 has been simplified and streamlined, with typical upgrades taking less than 30 minutes, depending on system configuration and network speed. Upgrades can be started from the command line or from the GNOME Software tool, just like regular security and bugfix updates.

For developers, beyond the new docker engine and language support included in the base Fedora 25 packages, Fedora 25 Workstation introduces improved Flatpak support. This tweak makes it easier to install, update and remove Flatpak software and enables this application packaging standard to be more user friendly at the workstation level.

GNOME Shell extensions are also no longer checked for compatibility with the current version of the Shell. This was originally required because the GNOME interfaces were changing rapidly during the early days of GNOME 3. Now these interfaces have stabilized, and extensions can generally be expected to work with new releases.

Fedora Server

In addition to the flexible multi-role functionality provided by rolekit, Fedora 25 Server now delivers a new SELinux Troubleshooter module for Cockpit. Similar to what is available on Fedora Workstation, the module helps provide suggestions for a user when an SELinux denial is encountered, which otherwise requires log checking and manual workarounds.

Fedora 25 Server also will now display SSH keys in the Cockpit system dashboard to make it easier for administrators to see what keys are connecting to a given machine. Additionally, support is now included for multi-step (including two-factor) authentication services.

The FreeIPA identity management system has also been upgraded to 4.4 series, which offers a set of new features for servers deployed in an identity management role. Some of these enhancements include:

  • Topology management: FreeIPA web UI can now be used to visually manage topology graph for large deployments.
  • DNS sites: DNS management in FreeIPA now supports location-specific placement of services.
  • Subordinate Certificate Authorities: FreeIPA Certificate Authority now is able to create subordinate CAs to issue certificates with a specific scope.
  • Kerberos Authentication Indicators: Kerberos KDC now takes Authentication Indicators into account when issuing service tickets. For example, two-factor authenticated Kerberos credentials can now be required prior to obtaining tickets to a VPN service (supported by OpenConnect Server).

Fedora Atomic

New in Fedora 25 is the addition of Fedora 25 Atomic Host as one of Fedora’s three editions, replacing Fedora Cloud. While a Fedora Cloud Base image will continue to be available for users seeking to run workloads on a general purpose host, Fedora Atomic Host provides an optimized host designed to create and deploy container-based workloads.

Fedora 25 Atomic Host is shipped in several formats, to allow users to spin up virtual machines or install Atomic Host on bare metal. To keep pace with innovations in the world of Linux containers, Fedora Atomic Host is expected to be refreshed on a two-week release cycle (with major releases coinciding with new Fedora versions) and provides an easy upgrade path to accommodate rapid application development.

Fedora will also offer a docker-formatted base image, to be updated monthly along with critical security updates, for use in building Linux containers.

Spins and More

These are not the only parts of Fedora that are seeing changes in the release today. Our KDE spin features new and improved packages for music, video, and personal information management. Xfce includes improvements to the terminal, notifications, and power management. Mate-Compiz features an update to Mate 1.16 and a complete switch to the GTK+3 toolkit.


You can download the new Fedora 25 starting today! Download Fedora 25 from our Get Fedora site:

Or, check out one of our popular variants:


As always, Fedora is available for 32-bit ARM and 64-bit Intel architecture systems, and select Spins are also available for 32-bit x86. We’re also simultaneously releasing for 64-bit ARM, Power (including a little endian variant), and s390x. For these, see:

Of particular note to many enthusiasts, this is the first release where we officially run on the Raspberry Pi (versions 2 and 3). More details are available in this Fedora Magazine Article:


If you’re already running Fedora, you don’t need to download or create a boot image. Instead, start the upgrade process from GNOME Software or using DNF System Upgrade at the command line. For instructions, refer to our Fedora Magazine article:

Documentation and Common Bugs

Read the full release notes for Fedora 25:

Fedora 25 common bugs are documented at:

Thank You!

Fedora would not be possible without the hard work of the very dedicated contributor community. Thanks to the thousands of Fedora contributors and millions of upstream developers who made this release!

by Matthew Miller at November 22, 2016 09:30 AM