Fedora Hub

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


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


January 02, 2017


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 23, 2016


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 02, 2016


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 30, 2016


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 25, 2016


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

November 21, 2016

Fedora Magazine

What’s new in Fedora 25 Workstation

Fedora 25 Workstation is the latest release of our free, leading-edge operating system. You can download it from the official website here starting tomorrow. There are several new and noteworthy changes in Fedora Workstation.

GNOME 3.22

The default environment comes courtesy of the GNOME community. They’ve put a great deal of effort into the newest 3.22 release. Examples of improvements include:

  • Multiple file renaming in the Files app
  • Integrated compressed file capabilities in Files
  • New, redesigned keyboard settings tool
  • Revamped landing page in the Software app
  • Easier category browsing in Software
  • Variable speed playback in Videos
  • …and much more!

Wayland display server

Wayland now replaces the old X11 display server by default. Its goal is to provide a smoother, richer experience when navigating Fedora Workstation. Like all software, there may still be some bugs. You can still choose the old X11 server if required. After selecting the login user, use the settings icon to switch. But this newer display server is designed to keep up with the modern OS and hardware.

Fedora Media Writer

The new Fedora Media Writer makes it easier than ever to download and install Fedora Workstation. You can also use it to download and install other Fedora editions, Spins, or Labs. This tool helps you find and download the current Fedora release and write to removable media like a USB stick. You can then “test drive” the OS live. If you like the experience, you can then install Fedora to your system. While Live USB has been around for a while, the Fedora Media Writer is a highly polished and user-friendly experience.

MP3 decoding support

This release includes a plugin for MP3 decoding such as playing music. If you play a MP3 file from your collection, GNOME Software detects it and helps you install the plugin.

Flatpak support

For developers, Fedora 25 Workstation introduces improved Flatpak support. These enhancements now make it easier to install, update and remove Flatpak software. The improvements make this application packaging standard more user friendly.

Extensions don’t expire

Finally, GNOME Shell extensions are no longer compatibility checked against the GNOME Shell version. This check was required in the early days of GNOME 3 because interfaces underneath were changing quickly. Now these interfaces have stabilized. So your extensions will work better from release to release.

Other notes

These are only some of the improvements in Fedora 25. Fedora also gives you access to thousands of software apps our community provides. Many have been updated since the previous release as well.

The Fedora 25 release is scheduled for availability tomorrow, Tuesday November 22!

by Paul W. Frields at November 21, 2016 08:00 AM


November 20, 2016


November 18, 2016

Fedora Magazine

Introducing Fedora Hubs

What is Fedora Hubs?

The goal of the Fedora Hubs project is to provide a consistent contributor experience across all Fedora teams. Hubs serve as an “intranet” for the Fedora Project. The many different projects in Fedora each have different processes and workflows. Hubs will be a single place where contributors can learn about and contribute to these projects in a consistent way.

Hubs is also a social tool for Fedora contributors. It’s designed to help you keep up with everything and everybody across a big open source project in ways that aren’t currently possible. Hubs solves obstacles so new contributors can get in touch with experienced ones.

Do you want to learn more about the history behind Hubs? Fedora Design team lead Máirín Duffy wrote a few blog posts on the progress of Hubs.

Hubs features

Here are some key features in Hubs right now. Development is continuing, so these features will change over time.

Group hubs

The Fedora Project consists of various teams such as Infrastructure, Design, Community Operations, Marketing, Globalization, and more. Group hubs are associated with respective FAS groups.

Screenshot from 2015-12-08 19-23-41
This is a group hub for the Infrastructure team. It lists a feed for the team, as well as their configured widgets. The widgets are listed in the order they were added with their index values. You can see the values in the populate.py file under the infrastructure team.

Using group hubs, anyone can get to know the work of a team and track their progress. Also, it becomes easier to get insights from the other teams on a particular task or project.

User hubs

The user hub page maps to a user’s account in the Fedora Account System (FAS). User hubs are configurable. Again, the hub lists the widgets the user has configured to display on their page.

Screenshot from 2016-03-17 03-28-52

This is the hub for the FAS user devyani7. It lists the widgets configured for this user in the hubs/defaults.py file. Each user can configure their user hub (or profile) as desired to appeal to visitors.

The various sized rectangular cards on a hub page are called widgets. Owners configure a hub page with the widgets they want displayed.

Every user hub page features a Contact-Info widget, for example. This widget lets you know the time zone, contact channels, and other details for the person whose hub you’re viewing. The data is extracted from the FAS information the user has set to be public.

Work-in-progress features

The team is currently working on more features, including:

  • Bookmark: The User hub pages will feature a vertical bookmark bar. Hubs adds the pages the user frequently visits to their bookmarks. We plan to provide the user with the option to re-order the bookmark list as desired. Hubs will offer suggestions based on the frequency of visits to each hub page.
  • Waartaa: Using this widget, a user can chat with developers and not worry about losing logs. We plan to provide an IRC widget that gives users a client in the hub page itself.
  • Badges-Path Widget: Getting a Fedora badge is always a happy occasion, and expresses the experience of the contributor. Here we’ll have a badge contribution pathway to unlock new badges as the user levels up.

Back end infrastructure of Hubs

This diagram explains how Hubs uses messaging on Fedora’s fedmsg bus and other Fedora services to deliver fresh, useful data.


Want to hack on Hubs?

We designed Hubs to be modular, extensible, and reusable. In the future, we hope other open source projects will participate, build on Hubs, and add their own features. So there’s no better time to hack on Hubs than right now!

We wrote a post featured on the Community blog to provide you with tips to help hack your way into the project. We also covered how to get through some common pitfalls. This post also provides a glossary of Hubs-related terms. It even gives you a walk-through of what to expect once you set up Hubs locally.

Getting Help

Of course we have a number of ways you can reach the Hubs team.


IRC helps you get to know and interact with the rest of the Fedora Hubs team. It’s a global communication tool where asynchronous chat happens often. You can say hello or just lurk in #fedora-hubs on irc.freenode.net. We have weekly meetings every Tuesday at 14:00 UTC.

Never used IRC before or a little bit intimidated? Check out this IRC Beginner’s Guide here on Fedora Magazine to get started.

Mailing List

If you’ve got questions, want to have a discussion or get feedback, or just catch up with what people are doing on the team, use our mailing list. The mailing list is a subscription-based tool. You have to subscribe to the list if you want to post. You can subscribe to the Fedora Hubs mailing list at this web page.

Use the Sign In button to login with your FAS account. Or you can use any number of third party accounts like Google, Yahoo, Facebook, Twitter, Github, or an OpenID provider. To subscribe to the list, use any email address you prefer. Just drop us an introduction mail on the list, and we’ll reply back.

Hope to see you soon, hacking on Hubs!

Image courtesy of Jody Claborn — originally uploaded to Flickr as Sun Setting at Seattle Airport.

by Devyani Kota at November 18, 2016 08:00 AM


November 17, 2016

Fedora Magazine

How to run SQL Server v.Next Public Preview on Fedora

No, this headline is not a joke! A decade ago, you probably wouldn’t think of Microsoft when you hear Linux or open source. Just this week, though, Microsoft introduced a public preview of one of their top products, SQL Server, for Linux. The SQL Server v.Next Public Preview is available for free download now. This article shows you how to run it on Fedora 25, which is due to release next week.

Of course, Fedora already offers several full-featured, free and open source relational SQL databases. Both mariadba recent fork of MySQL with active community development, and postgresql are popular worldwide. They’re known for ease of use, features, and stability. But SQL Server has many users as well. This is one more way those users can try new features using Fedora.

This process uses packages Microsoft provides for Red Hat Enterprise Linux 7. These packages seem to work fine so far in testing on Fedora 25 as well. However, it’s a preview release, so the usual caveats apply.

Note for existing database servers

To avoid any software conflict, you need to remove the unixODBC package Fedora provides by default. To remove unixODBC, run this command:

sudo dnf remove unixODBC

Be aware this package is required by some other database servers like mariadb. Maybe you don’t want to remove those database server packages, though. No problem — make a virtual guest machine, and run the rest of this process on the guest.

Installing SQL Server v.Next Public Preview

First install the repository definition files:

sudo su -
curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

Next, install the Microsoft SQL Server v.Next Public Preview packages using dnf:

sudo dnf -y install mssql-server mssql-tools

Open the default port on your firewall:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

Next, run the setup helper for SQL Server. This lets you add a system administrator (SA) password. Do not start the service when prompted.

sudo /opt/mssql/bin/sqlservr-setup

Finally, start the SQL Server service units using systemd:

sudo systemctl start mssql-server mssql-server-telemetry

Optionally, you can enable them for startup at boot time:

sudo systemctl enable mssql-server mssql-server-telemetry

Testing the installation

To test the server is working properly, use the tools installed earlier. The mssql-tools package provides the sqlcmd utility for connecting to the SQL Server. Use this command on the box where you installed both the server and tools:

sqlcmd -S localhost -U SA

You’ll need to provide the system administrator password you set up earlier.

A prompt 1> appears for you to send SQL commands to the server. Here is an example of a command to list the installed system databases. You need to enter both lines. The GO command tells the server to process the previous line.

SELECT Name from sys.Databases;

You should see an output like this:


(4 rows affected)

To quit the sqlcmd session, enter the single command QUIT.

For more information on the SQL Server v.Next Public Preview for Linux, visit the official website.

Featured image contains Database icon by Nancy from the Noun Project

by Paul W. Frields at November 17, 2016 10:48 PM