Skip to content

Fedora Workstation Installation Guide

Richard Harmonson edited this page Mar 28, 2018 · 36 revisions

Fedora Workstation Installation Guide


Update: March 28,2018; Remote Desktop (& Wayland)

Update: March 9, 2018; Gnome Screensaver settings

Update: March 1, 2018; Google Chrome Repo & additional programs

Update: February 27, 2018; gnome-initial-setup


Project Details

Purpose

I recently completed a sudo dnf update -y && sudo reboot on my development laptop which resulted in a broken grub2 installation. After successfully recovering my encrypted data, I began hunting for my installation notes. I didn't find them.

The purpose of this article is to document and preserve my installation notes of Fedora 26 Workstation. Hopefully, others will find it useful, too!

Prerequisites

Supported Intel or AMD Laptop or desktop computer.

Time

You will need 60 to 120 minutes to complete installation.

Assumptions

I am using Fedora 26 Workstation with the Gnome Desktop (default) and Developer Tools installation groups. I will, also, be using RPMFusion repositories.

Install Fedora

Complete the installation of Fedora using CD/DVD or USB drive with the NetInstall or Live media. Select additional software as desired. I, generally, install developer tools which can be installed later using sudo dnf groupinstall 'Development Tools'. If using a laptop, it is advisable to select "Encryption" during the installation in the "Installation Destination" dialogue. If using the Live media, sudo dnf update -y && sudo reboot before continuing.

Touchpad

Enable tap to click.

  1. Select 'Super' key also known as the 'Windows' key
  2. Type "Settings" and select Settings
  3. Open "Mouse & Touchpad"
  4. Enable "Tap to Click"
  5. Close the window
  6. Done

Automatic Brightness

Disable Automatic brightness feature for its broken; flickering.

  1. Select 'Super' key
  2. Type "Settings" and select Settings
  3. Open "Power"
  4. Disable "Automatic brightness"
  5. Close the window
  6. Done

Gnome Arc Theme & Moka Icon Theme

  1. Select 'Super' key
  2. Type "Terminal" and select Terminal
  3. Enter `sudo dnf install -y arc-theme moka-icon-theme
  4. Complete the installation
  5. Done

Arc Icon Theme

In addition, set up arc-icon-theme. Alternatively, you could just use the Moka icons which is less work. Moka icons are a dependency for the Arc icons.

Install the build dependencies using sudo dnf install autoconf automake libtool then clone and build as follows:

$ mkdir gitcode
$ cd gitcode
$ git clone https://github.com/horst3180/arc-icon-theme --depth 1

Results

Cloning into 'arc-icon-theme'...
remote: Counting objects: 3579, done.
remote: Compressing objects: 100% (2605/2605), done.
remote: Total 3579 (delta 662), reused 3555 (delta 648), pack-reused 0
Receiving objects: 100% (3579/3579), 4.68 MiB | 6.78 MiB/s, done.
Resolving deltas: 100% (662/662), done.

Build

$ cd arc-icon-theme
$ ./autogen.sh --prefix=/usr

Results

autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:9: installing './install-sh'
configure.ac:9: installing './missing'
autoreconf: Leaving directory `.'
configure: loading site script /usr/share/config.site
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile

Install icons using sudo make install into /usr/share/icons/Arc then reboot.

Gnome Tweak Tool

  1. Select 'Super' key
  2. Type "tweak" and select "Gnome Tweak Tool"
  3. Select "Install"
  4. Complete the installation and launch

Alternatively,

  1. Open "Terminal"
  2. sudo dnf install gnome-tweak-tool
  3. gnome-tweak-tool& to launch

After launching, I set these items:

  1. Appearance --> GTK+ = Arc-Dark
  2. Appearance --> Icons = Arc (alternatively, Moka)
  3. Extensions --> Application menu
  4. Fonts --> Scaling Factor = 1.20
  5. Keyboard and Mouse --> Show All Input Sources = enabled; I use multiple input devices
  6. Top Bar --> Clock = enable date

Adobe Flash

Flash is evil but I still use sites using it, so setup Adobe's 64-bit x86_64 repository then install flash-plugin.

$ sudo rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
$ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
$ sudo dnf install flash-plugin alsa-plugins-pulseaudio libcurl

Results

================================================================================
 Package         Arch      Version                  Repository             Size
================================================================================
Installing:
 flash-plugin    x86_64    27.0.0.130-release       adobe-linux-x86_64    8.6 M

Transaction Summary
================================================================================
Install  1 Package

Total download size: 8.6 M
Installed size: 20 M
Is this ok [y/N]: 

Alternatively, use a web browser and specifiy 'yum' to download from:

Google Chrome

Google's application packages found at the URL below will setup its repository on installation.

Begin with importing Google's public signing key.

$ wget https://dl.google.com/linux/linux_signing_key.pub
$ sudo rpm --import linux_signing_key.pub

Install 'lsb' dependency.

$ sudo dnf install -y lsb

Results

================================================================================
 Package                        Arch     Version                Repository
                                                                           Size
================================================================================
Installing:
 redhat-lsb                     x86_64   4.1-34.fc26            fedora     28 k
Installing dependencies:
 at                             x86_64   3.1.20-3.fc26          fedora     77 k
 ed                             x86_64   1.14.1-2.fc26          fedora     79 k
 gdbm-devel                     x86_64   1.13-1.fc26            fedora     62 k
 libdb-devel                    x86_64   5.3.28-24.fc26         updates    43 k
 libpng12                       x86_64   1.2.57-1.fc26          fedora    157 k
 perl-Algorithm-Diff            noarch   1.1903-6.fc26          fedora     50 k
 perl-Archive-Tar               noarch   2.26-1.fc26            fedora     77 k
 perl-B-Lint                    noarch   1.20-8.fc26            fedora     23 k
 perl-CPAN                      noarch   2.16-1.fc26            fedora    552 k
 perl-CPAN-Meta                 noarch   2.150010-2.fc26        fedora    189 k
 perl-CPAN-Meta-Requirements    noarch   2.140-7.fc26           fedora     35 k
 perl-CPAN-Meta-YAML            noarch   0.018-367.fc26         fedora     32 k
 perl-Class-ISA                 noarch   0.36-1019.fc26         fedora     13 k
 perl-Compress-Bzip2            x86_64   2.26-1.fc26            fedora     70 k
 perl-Data-Section              noarch   0.200006-8.fc26        fedora     28 k
 perl-Devel-Size                x86_64   0.81-1.fc26            updates    32 k
 perl-ExtUtils-CBuilder         noarch   1:0.280225-366.fc26    fedora     46 k
 perl-ExtUtils-Command          noarch   7.24-3.fc26            updates    17 k
 perl-ExtUtils-Install          noarch   2.04-367.fc26          fedora     44 k
 perl-ExtUtils-MM-Utils         noarch   7.24-3.fc26            updates    14 k
 perl-ExtUtils-MakeMaker        noarch   7.24-3.fc26            updates   295 k
 perl-ExtUtils-Manifest         noarch   1.70-366.fc26          fedora     35 k
 perl-ExtUtils-ParseXS          noarch   1:3.31-368.fc26        fedora     81 k
 perl-File-CheckTree            noarch   4.42-298.fc26          fedora     21 k
 perl-File-HomeDir              noarch   1.00-13.fc26           fedora     60 k
 perl-File-Which                noarch   1.21-3.fc26            fedora     22 k
 perl-IO-Zlib                   noarch   1:1.10-393.fc26        updates    73 k
 perl-IPC-Cmd                   noarch   1:0.98-1.fc26          fedora     41 k
 perl-IPC-System-Simple         noarch   1.25-12.fc26           fedora     41 k
 perl-JSON-PP                   noarch   2.94000-1.fc26         fedora     65 k
 perl-Locale-Codes              noarch   3.42-2.fc26            fedora    301 k
 perl-Locale-Maketext           noarch   1.28-2.fc26            fedora     97 k
 perl-Locale-Maketext-Simple    noarch   1:0.21-393.fc26        updates    71 k
 perl-Module-Build              noarch   2:0.42.24-1.fc26       fedora    270 k
 perl-Module-CoreList           noarch   1:5.20170821-1.fc26    updates    81 k
 perl-Module-Load               noarch   1:0.32-366.fc26        fedora     17 k
 perl-Module-Load-Conditional   noarch   0.68-2.fc26            fedora     23 k
 perl-Module-Metadata           noarch   1.000033-2.fc26        fedora     43 k
 perl-Module-Pluggable          noarch   2:5.2-4.fc26           fedora     32 k
 perl-Net-Ping                  noarch   2.43-393.fc26          updates    88 k
 perl-Params-Check              noarch   1:0.38-366.fc26        fedora     22 k
 perl-Perl-OSType               noarch   1.010-4.fc26           fedora     27 k
 perl-Pod-Checker               noarch   4:1.73-2.fc26          fedora     31 k
 perl-Pod-Html                  noarch   1.22.01-393.fc26       updates    80 k
 perl-Pod-LaTeX                 noarch   0.61-299.fc26          fedora     39 k
 perl-Pod-Parser                noarch   1.63-367.fc26          fedora    106 k
 perl-Pod-Plainer               noarch   1.04-4.fc26            fedora     12 k
 perl-Software-License          noarch   0.103012-4.fc26        fedora    126 k
 perl-Sys-Syslog                x86_64   0.35-2.fc26            fedora     47 k
 perl-Test-Harness              noarch   3.39-1.fc26            fedora    276 k
 perl-Test-Simple               noarch   1:1.302086-1.fc26      fedora    427 k
 perl-Text-Diff                 noarch   1.44-3.fc26            fedora     43 k
 perl-Text-Glob                 noarch   0.11-1.fc26            fedora     16 k
 perl-Text-Soundex              x86_64   3.05-4.fc26            fedora     29 k
 perl-Text-Template             noarch   1.47-1.fc26            fedora     66 k
 perl-XML-LibXML                x86_64   1:2.0129-2.fc26        updates   368 k
 perl-XML-NamespaceSupport      noarch   1.11-20.fc26           fedora     22 k
 perl-XML-SAX                   noarch   0.99-18.fc26           fedora     63 k
 perl-XML-SAX-Base              noarch   1.09-1.fc26            fedora     33 k
 perl-autodie                   noarch   2.29-367.fc26          fedora     96 k
 perl-devel                     x86_64   4:5.24.2-393.fc26      updates   576 k
 perl-inc-latest                noarch   2:0.500-6.fc26         fedora     23 k
 perl-local-lib                 noarch   2.000023-1.fc26        fedora     72 k
 python3-pyparsing              noarch   2.1.10-3.fc26          fedora    140 k
 qt3                            x86_64   3.3.8b-69.fc26         fedora    3.4 M
 redhat-lsb-core                x86_64   4.1-34.fc26            fedora     42 k
 redhat-lsb-cxx                 x86_64   4.1-34.fc26            fedora     20 k
 redhat-lsb-desktop             x86_64   4.1-34.fc26            fedora     24 k
 redhat-lsb-languages           x86_64   4.1-34.fc26            fedora     22 k
 redhat-lsb-printing            x86_64   4.1-34.fc26            fedora     20 k
 redhat-lsb-submod-multimedia   x86_64   4.1-34.fc26            fedora     19 k
 redhat-lsb-submod-security     x86_64   4.1-34.fc26            fedora     19 k
 spax                           x86_64   1.5.3-8.fc26           fedora    211 k
 systemtap-sdt-devel            x86_64   3.1-5.fc26             fedora     71 k
 util-linux-user                x86_64   2.30.2-1.fc26          updates    90 k

Transaction Summary
================================================================================
Install  76 Packages

Total download size: 10 M
Installed size: 29 M
Is this ok [y/N]: 

Download Chrome from

then install

$ sudo dnf install -y google-chrome-stable_current_x86_64.rpm

Results

================================================================================
 Package                  Arch       Version             Repository        Size
================================================================================
Installing:
 google-chrome-stable     x86_64     61.0.3163.100-1     @commandline      62 M
Installing dependencies:
 libXScrnSaver            x86_64     1.2.2-11.fc26       fedora            27 k

Transaction Summary
================================================================================
Install  2 Packages

Total size: 62 M
Total download size: 27 k
Installed size: 261 M
Is this ok [y/N]: 

Alternatively, create a Google Chrome repository and install.

# vi /etc/yum.repos.d/google-chrome.repo

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
================================================================================
 Package                 Arch      Version               Repository        Size
================================================================================
Installing:
 google-chrome-stable    x86_64    64.0.3282.186-1       google-chrome     49 M
Installing dependencies:
 libXScrnSaver           x86_64    1.2.2-13.fc27         fedora            28 k

Transaction Summary
================================================================================
Install  2 Packages

Total download size: 49 M
Installed size: 178 M
Is this ok [y/N]: 

RPMFusion Repositories

Red Hat, thus Fedora does not ship with any software that is not Open Source. As a consequence, many audio and video codecs are not included. A nuisance but RPMFusion's Non-free repository provides the missing biniaries and libraries. RPMFusions's Free repository is a dependency so setup both.

$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Reference: https://rpmfusion.org/Configuration/

Video Playback

I install the following common codecs from Fedora and RPMFusion repositories:

$ sudo dnf install -y gstreamer1-libav gstreamer1-plugins-bad-free-extras gstreamer1-plugins-bad-freeworld gstreamer1-plugins-good-extras gstreamer1-plugins-ugly ffmpeg libmpg123 lame-libs

Results

================================================================================
 Package           Arch   Version                  Repository              Size
================================================================================
Installing:
 ffmpeg            x86_64 3.3.4-1.fc26             rpmfusion-free-updates 1.5 M
 gstreamer1-libav  x86_64 1.12.2-1.fc26            rpmfusion-free-updates 256 k
 gstreamer1-plugins-bad-free-extras
                   x86_64 1.12.2-1.fc26            updates                236 k
 gstreamer1-plugins-bad-freeworld
                   x86_64 1.12.2-1.fc26            rpmfusion-free-updates 187 k
 gstreamer1-plugins-good-extras
                   x86_64 1.12.2-1.fc26            updates                 31 k
 gstreamer1-plugins-ugly
                   x86_64 1.12.2-1.fc26            rpmfusion-free-updates 196 k
Installing dependencies:
 GraphicsMagick    x86_64 1.3.26-3.fc26            updates                1.4 M
 OpenEXR-libs      x86_64 2.2.0-6.fc26             fedora                 628 k
 clang-libs        x86_64 4.0.1-5.fc26             updates                 12 M
 compiler-rt       x86_64 4.0.1-1.fc26             updates                1.6 M
 faad2-libs        x86_64 1:2.7-9.fc26             rpmfusion-free         153 k
 ffmpeg-libs       x86_64 3.3.4-1.fc26             rpmfusion-free-updates 6.3 M
 fribidi           x86_64 0.19.7-3.fc26            fedora                  69 k
 game-music-emu    x86_64 0.6.1-2.fc26             fedora                 154 k
 hwloc-libs        x86_64 1.11.5-2.fc26            fedora                 1.6 M
 ilmbase           x86_64 2.2.0-8.fc26             fedora                 104 k
 libass            x86_64 0.13.4-2.fc26            fedora                  95 k
 libavdevice       x86_64 3.3.4-1.fc26             rpmfusion-free-updates  85 k
 libbs2b           x86_64 3.1.0-17.fc26            fedora                  27 k
 libchromaprint    x86_64 1.2-6.fc26               fedora                  51 k
 libclc            x86_64 0.2.0-7.git1cb3fbf.fc26  updates                7.9 M
 libdca            x86_64 0.0.5-10.fc26            rpmfusion-free         105 k
 libde265          x86_64 1.0.2-5.fc26             rpmfusion-free         283 k
 libkate           x86_64 0.4.1-9.fc26             fedora                  56 k
 libmfx            x86_64 1.21-1.fc26              fedora                  32 k
 libmms            x86_64 0.6.4-4.fc26             rpmfusion-free          52 k
 libmodplug        x86_64 1:0.8.9.0-1.fc26         fedora                 168 k
 libmpeg2          x86_64 0.5.1-12.fc26            rpmfusion-free          74 k
 libofa            x86_64 0.9.3-29.fc26            fedora                  65 k
 librtmp           x86_64 2.4-8.20160224.gitfa8646d.fc26
                                                   rpmfusion-free          76 k
 libstdc++-devel   x86_64 7.2.1-2.fc26             updates                1.9 M
 libva             x86_64 1.8.3-1.fc26             updates                 82 k
 libwmf-lite       x86_64 0.2.8.4-53.fc26          updates                 72 k
 mjpegtools-libs   x86_64 2.1.0-6.fc26             rpmfusion-free         161 k
 ocl-icd           x86_64 2.2.11-2.fc26            fedora                  48 k
 opencl-filesystem noarch 1.0-5.fc26               fedora                 6.9 k
 opencore-amr      x86_64 0.1.5-1.fc26             rpmfusion-free         175 k
 openjpeg-libs     x86_64 1.5.1-17.fc26            fedora                  88 k
 schroedinger      x86_64 1.0.11-11.fc26           fedora                 330 k
 twolame-libs      x86_64 0.3.13-6.fc26            rpmfusion-free          55 k
 vo-amrwbenc       x86_64 0.1.3-2.fc26             rpmfusion-free          76 k
 x264-libs         x86_64 0.148-20.20170519gitd32d7bf.fc26
                                                   rpmfusion-free         569 k
 x265-libs         x86_64 2.4-1.fc26               rpmfusion-free         1.7 M
 xvidcore          x86_64 1.3.4-3.fc26             rpmfusion-free         263 k
 zbar              x86_64 0.20-1.fc26              updates                153 k
 zvbi              x86_64 0.2.35-2.fc26            fedora                 414 k
Installing weak dependencies:
 beignet           x86_64 1.3.1-3.git20170622.36f6a8b.fc26
                                                   updates                6.6 M
 mesa-libOpenCL    x86_64 17.1.7-1.fc26            updates                595 k
 pocl              x86_64 0.14-2.fc26              fedora                  39 M

Transaction Summary
================================================================================
Install  49 Packages

Total download size: 88 M
Installed size: 376 M
Is this ok [y/N]:

Kodi

I am an avid movie watcher and use Kodi from RPMFusion.

$ sudo dnf install kodi

Results

================================================================================
 Package            Arch   Version                         Repository      Size
================================================================================
Installing:
 kodi               x86_64 17.4-1.fc26                     rpmfusion-free-updates
                                                                           27 M
Installing dependencies:
 crossguid          x86_64 0-0.5.20160908gitfef89a4.fc26   fedora          16 k
 crystalhd-firmware noarch 3.10.0-15.fc26                  fedora         1.1 M
 libcec             x86_64 4.0.2-3.fc26                    fedora         221 k
 libcrystalhd       x86_64 3.10.0-15.fc26                  fedora          57 k
 libmicrohttpd      x86_64 1:0.9.55-1.fc26                 fedora          77 k
 platform           x86_64 2.1.0.1-2.fc26                  fedora          32 k
 python2-olefile    noarch 0.44-2.fc26                     fedora         1.2 M
 python2-pillow     x86_64 4.1.1-1.fc26                    fedora         571 k
 shairplay-libs     x86_64 0.9.0-6.20160101gitce80e00.fc26 fedora          55 k
 tinyxml            x86_64 2.6.2-12.fc26                   fedora          53 k

Transaction Summary
================================================================================
Install  11 Packages

Total download size: 31 M
Installed size: 64 M
Is this ok [y/N]: 

Reference: http://kodi.wiki/view/HOW-TO:Install_Kodi_on_Fedora_26_using_RPMFusion_packages

CMUS

For music playing, I use cmus. However, there is no package available from Fedora nor RPMFusion, so install dependencies and build it. Optional and required dependencies are found here:

Packages

cmus uses ncurses and ./configure will exit abruptly citing ncurses if missing. In my experience, ncurses-devel is not installed even with selecting the Developer Tools installation group.

$ sudo dnf install ncurses ncurses-base ncurses-libs ncurses-devel

Install the remaining packages.

$ sudo dnf install faad2-devel ffmpeg-devel pulseaudio-libs-devel libcue-devel libdiscid-devel alsa-lib-devel flac-devel libao-devel libcdio-paranoia-devel libmad-devel libmodplug-devel libmpcdec-devel libvorbis-devel opusfile-devel wavpack-devel libcddb-devel systemd-devel libmp4v2-devel libsamplerate-devel alsa-lib-devel libao-devel jack-audio-connection-kit-devel

Note that I have not found sndio nor roar development packages. They appear to be unneeded for Fedora.

Results

================================================================================
 Package                Arch   Version                     Repository      Size
================================================================================
Installing:
 alsa-lib-devel         x86_64 1.1.4.1-1.fc26              fedora         981 k
 faad2-devel            x86_64 1:2.7-9.fc26                rpmfusion-free  36 k
 ffmpeg-devel           x86_64 3.3.4-1.fc26                rpmfusion-free-updates
                                                                          854 k
 flac-devel             x86_64 1.3.2-2.fc26                fedora         386 k
 jack-audio-connection-kit-devel
                        x86_64 1.9.10-8.fc26               fedora         211 k
 libao-devel            x86_64 1.2.0-7.fc26                fedora          40 k
 libcddb-devel          x86_64 1.3.2-22.fc26               fedora          24 k
 libcdio-paranoia-devel x86_64 10.2+0.93+1-8.fc26          fedora          18 k
 libcue-devel           x86_64 2.1.0-2.fc26                fedora          11 k
 libdiscid-devel        x86_64 0.6.2-2.fc26                fedora         113 k
 libmad-devel           x86_64 0.15.1b-21.fc26             fedora          18 k
 libmodplug-devel       x86_64 1:0.8.9.0-1.fc26            fedora          24 k
 libmp4v2-devel         x86_64 2.1.0-0.9.trunkREV507.fc26  fedora         464 k
 libmpcdec-devel        x86_64 1.2.6-17.fc26               fedora          16 k
 libsamplerate-devel    x86_64 0.1.8-11.fc26               fedora          13 k
 libvorbis-devel        x86_64 1:1.3.5-2.fc26              fedora          23 k
 opusfile-devel         x86_64 0.9-1.fc26                  updates         33 k
 pulseaudio-libs-devel  x86_64 10.0-4.fc26                 fedora         446 k
 systemd-devel          x86_64 233-6.fc26                  fedora         308 k
 wavpack-devel          x86_64 5.1.0-2.fc26                fedora          26 k
Installing dependencies:
 glib2-devel            x86_64 2.52.3-1.fc26               fedora         452 k
 keyutils-libs-devel    x86_64 1.5.10-1.fc26               fedora          46 k
 krb5-devel             x86_64 1.15.1-28.fc26              updates        523 k
 libcddb                x86_64 1.3.2-22.fc26               fedora          75 k
 libcdio-devel          x86_64 0.94-2.fc26                 fedora         540 k
 libcom_err-devel       x86_64 1.43.4-2.fc26               fedora          35 k
 libdiscid              x86_64 0.6.2-2.fc26                fedora          35 k
 libmp4v2               x86_64 2.1.0-0.9.trunkREV507.fc26  fedora         441 k
 libogg-devel           x86_64 2:1.3.2-6.fc26              fedora          17 k
 libselinux-devel       x86_64 2.6-7.fc26                  updates        197 k
 libsepol-devel         x86_64 2.6-2.fc26                  updates         80 k
 libverto-devel         x86_64 0.2.6-7.fc26                fedora          15 k
 openssl-devel          x86_64 1:1.1.0f-7.fc26             updates        1.9 M
 opus-devel             x86_64 1.2.1-1.fc26                updates        701 k
 opusfile               x86_64 0.9-1.fc26                  updates         49 k
 pcre-devel             x86_64 8.41-1.fc26                 updates        548 k
 pcre-utf32             x86_64 8.41-1.fc26                 updates        180 k
 zlib-devel             x86_64 1.2.11-2.fc26               fedora          56 k

Transaction Summary
================================================================================
Install  38 Packages

Total download size: 9.8 M
Installed size: 54 M
Is this ok [y/N]: 

Reference: https://www.archlinux.org/packages/community/x86_64/cmus/

Build

Clone the repository.

$ mkdir /gitcode
$ cd ~/gitcode
$ git clone https://github.com/cmus/cmus.git

Results

Cloning into 'cmus'...
remote: Counting objects: 10292, done.
remote: Total 10292 (delta 0), reused 0 (delta 0), pack-reused 10292
Receiving objects: 100% (10292/10292), 5.63 MiB | 7.20 MiB/s, done.
Resolving deltas: 100% (6193/6193), done.

Configure

$ cd cmus
$ ./configure

Results

checking for program gcc... /usr/bin/gcc
checking for program gcc... /usr/bin/gcc
checking for C11 (with atomics support)... yes
checking for CFLAGS -pipe -Wall -Wshadow -Wcast-align -Wpointer-arith -Wwrite-strings -Wundef -Wmissing-prototypes -Wredundant-decls -Wextra -Wno-sign-compare -Wformat-security... yes
checking for CFLAGS -Wold-style-definition... yes
checking for CFLAGS -Wno-pointer-sign... yes
checking for CFLAGS -Werror-implicit-function-declaration... yes
checking for CFLAGS -Wno-unused-parameter... yes
checking for CFLAGS -Wno-missing-field-initializers... yes
checking if CC can generate dependency information... yes
checking byte order... little-endian
checking for DL_LIBS (-ldl -Wl,--export-dynamic)... yes
checking for PTHREAD_LIBS (-lpthread)... yes
checking for realtime scheduling... yes
checking for program pkg-config... /usr/bin/pkg-config
checking for NCURSES_LIBS (pkg-config)... -lncursesw -ltinfo 
checking for NCURSES_CFLAGS (pkg-config)... -D_GNU_SOURCE -D_DEFAULT_SOURCE 
checking for working ncurses setup... yes
checking for function resizeterm... yes
checking for function use_default_colors... yes
checking for ICONV_LIBS (-liconv)... no
assuming libc contains iconv
checking for working iconv... yes
checking for header <byteswap.h>... yes
checking for function strdup... yes
checking for function strndup... yes
checking for CDDB_LIBS (pkg-config)... -lcddb 
checking for CDDB_CFLAGS (pkg-config)... 
checking for CDIO_LIBS (pkg-config)... -lcdio_cdda -lcdio -lm 
checking for CDIO_CFLAGS (pkg-config)... -I/usr/include/cdio 
checking for FLAC_LIBS (pkg-config)... -lFLAC 
checking for FLAC_CFLAGS (pkg-config)... 
checking for MAD_LIBS (pkg-config)... -lmad -lm 
checking for MAD_CFLAGS (pkg-config)... 
checking for MODPLUG_LIBS (pkg-config)... -lmodplug 
checking for MODPLUG_CFLAGS (pkg-config)... 
checking for function ModPlug_GetModuleType... yes
checking for header <mpc/mpcdec.h>... no
checking for header <mpcdec/mpcdec.h>... yes
checking for MPC_LIBS (-lmpcdec -lm)... yes
checking for VORBIS_LIBS (pkg-config)... -lvorbisfile 
checking for VORBIS_CFLAGS (pkg-config)... 
checking for OPUS_LIBS (pkg-config)... -lopusfile 
checking for OPUS_CFLAGS (pkg-config)... -I/usr/include/opus 
checking for LIBSYSTEMD_LIBS (pkg-config)... -lsystemd 
checking for LIBSYSTEMD_CFLAGS (pkg-config)... 
checking for WAVPACK_LIBS (pkg-config)... -lwavpack 
checking for WAVPACK_CFLAGS (pkg-config)... 
checking for header <mp4v2/mp4v2.h>... yes
checking for header <neaacdec.h>... yes
checking for MP4_LIBS (-lmp4v2 -lfaad -lm)... yes
checking for header <neaacdec.h>... yes
checking for AAC_LIBS (-lfaad -lm)... yes
checking for FFMPEG_LIBS (pkg-config)... -lavformat -lavcodec 
checking for FFMPEG_CFLAGS (pkg-config)... -I/usr/include/ffmpeg 
checking for header <libavcodec/avcodec.h>... yes
checking for successful build of ffmpeg.c... yes
checking for header <ayemu.h>... no
checking for PULSE_LIBS (pkg-config)... -lpulse 
checking for PULSE_CFLAGS (pkg-config)... -D_REENTRANT 
checking for ALSA_LIBS (pkg-config)... -lasound 
checking for ALSA_CFLAGS (pkg-config)... -I/usr/include/alsa 
checking for JACK_LIBS (pkg-config)... -ljack 
checking for JACK_CFLAGS (pkg-config)... 
checking for SAMPLERATE_LIBS (pkg-config)... -lsamplerate 
checking for SAMPLERATE_CFLAGS (pkg-config)... 
checking for AO_LIBS (pkg-config)... -lao 
checking for AO_CFLAGS (pkg-config)... 
checking for program artsc-config... no
checking for header <sys/soundcard.h>... yes
checking for SNDIO_LIBS (-lsndio)... no
checking for header <sys/audioio.h>... no
checking for ROAR_LIBS (pkg-config)... no
*** Package libroar was not found in the pkg-config search path.
*** Perhaps you should add the directory containing `libroar.pc'
*** to the PKG_CONFIG_PATH environment variable
*** Package 'libroar', required by 'virtual:world', not found
checking for DISCID_LIBS (pkg-config)... -ldiscid 
checking for DISCID_CFLAGS (pkg-config)... 

Make

$ make

Results

   CC     ape.o
   CC     browser.o
   CC     buffer.o
   CC     cache.o
   CC     channelmap.o
   CC     cmdline.o
   CC     cmus.o
   CC     command_mode.o
   CC     comment.o
   CC     convert.lo
   CC     cue.o
   CC     cue_utils.o
   CC     debug.o
   CC     discid.o
   CC     editable.o
   CC     expr.o
   CC     filters.o
   CC     format_print.o
   CC     gbuf.o
   CC     glob.o
   CC     help.o
   CC     history.o
   CC     http.o
   CC     id3.o
   GEN    .version
   CC     input.o
input.c: In function 'ip_load_plugins':
input.c:523:40: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
   snprintf(filename, sizeof(filename), "%s/%s", plugin_dir, d->d_name);
                                        ^~~~~~~
input.c:523:3: note: 'snprintf' output 2 or more bytes (assuming 257) into a destination of size 256
   snprintf(filename, sizeof(filename), "%s/%s", plugin_dir, d->d_name);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   CC     job.o
   CC     keys.o
   CC     keyval.o
   CC     lib.o
   CC     load_dir.o
   CC     locking.o
   CC     mergesort.o
   CC     misc.o
   CC     options.o
   CC     output.o
output.c: In function 'op_load_plugins':
output.c:109:40: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
   snprintf(filename, sizeof(filename), "%s/%s", plugin_dir, d->d_name);
                                        ^~~~~~~
output.c:109:3: note: 'snprintf' output 2 or more bytes (assuming 257) into a destination of size 256
   snprintf(filename, sizeof(filename), "%s/%s", plugin_dir, d->d_name);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   CC     pcm.o
   CC     player.o
   CC     play_queue.o
   CC     pl.o
   CC     rbtree.o
   CC     read_wrapper.o
   CC     search_mode.o
   CC     search.o
   CC     server.o
   CC     spawn.o
   CC     tabexp_file.o
   CC     tabexp.o
   CC     track_info.o
   CC     track.o
   CC     tree.o
   CC     uchar.o
   CC     u_collate.o
   CC     ui_curses.o
   CC     window.o
   CC     worker.o
   CC     xstrjoin.o
   CC     mpris.o
   CC     file.o
   CC     path.o
   CC     prog.o
   CC     xmalloc.o
   LD     cmus
   CC     main.o
   LD     cmus-remote
   CC     ip/cdio.lo
   LD     ip/cdio.so
   CC     ip/flac.lo
   LD     ip/flac.so
   CC     ip/mad.lo
   CC     ip/nomad.lo
   LD     ip/mad.so
   CC     ip/modplug.lo
   LD     ip/modplug.so
   CC     ip/mpc.lo
   LD     ip/mpc.so
   CC     ip/vorbis.lo
   LD     ip/vorbis.so
   CC     ip/opus.lo
   LD     ip/opus.so
   CC     ip/wavpack.lo
   LD     ip/wavpack.so
   CC     ip/wav.lo
   LD     ip/wav.so
   CC     ip/mp4.lo
   LD     ip/mp4.so
   CC     ip/aac.lo
   LD     ip/aac.so
   CC     ip/ffmpeg.lo
ip/ffmpeg.c: In function 'ffmpeg_open':
ip/ffmpeg.c:165:4: warning: 'codec' is deprecated [-Wdeprecated-declarations]
    cc = ic->streams[i]->codec;
    ^~
In file included from ip/ffmpeg.c:30:0:
/usr/include/ffmpeg/libavformat/avformat.h:893:21: note: declared here
     AVCodecContext *codec;
                     ^~~~~
ip/ffmpeg.c: In function 'ffmpeg_fill_buffer':
ip/ffmpeg.c:308:4: warning: 'avcodec_decode_audio4' is deprecated [-Wdeprecated-declarations]
    len = avcodec_decode_audio4(cc, frame, &got_frame, &avpkt);
    ^~~
In file included from ip/ffmpeg.c:29:0:
/usr/include/ffmpeg/libavcodec/avcodec.h:4852:5: note: declared here
 int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame,
     ^~~~~~~~~~~~~~~~~~~~~
   LD     ip/ffmpeg.so
   CC     ip/cue.lo
   LD     ip/cue.so
   CC     op/pulse.lo
   LD     op/pulse.so
   CC     op/alsa.lo
   CC     op/mixer_alsa.lo
   LD     op/alsa.so
   CC     op/jack.lo
   LD     op/jack.so
   CC     op/oss.lo
   CC     op/mixer_oss.lo
   LD     op/oss.so
   CC     op/ao.lo
   LD     op/ao.so
   HOSTCC     Doc/ttman.o
   HOSTLD     Doc/ttman
   MAN    Doc/cmus.1
   MAN    Doc/cmus-remote.1
   MAN    Doc/cmus-tutorial.7

Install

$ sudo make install

Results

INSTALL /usr/local/bin/cmus
INSTALL /usr/local/bin/cmus-remote
INSTALL /usr/local/lib/cmus/ip/cdio.so
INSTALL /usr/local/lib/cmus/ip/flac.so
INSTALL /usr/local/lib/cmus/ip/mad.so
INSTALL /usr/local/lib/cmus/ip/modplug.so
INSTALL /usr/local/lib/cmus/ip/mpc.so
INSTALL /usr/local/lib/cmus/ip/vorbis.so
INSTALL /usr/local/lib/cmus/ip/opus.so
INSTALL /usr/local/lib/cmus/ip/wavpack.so
INSTALL /usr/local/lib/cmus/ip/wav.so
INSTALL /usr/local/lib/cmus/ip/mp4.so
INSTALL /usr/local/lib/cmus/ip/aac.so
INSTALL /usr/local/lib/cmus/ip/ffmpeg.so
INSTALL /usr/local/lib/cmus/ip/cue.so
INSTALL /usr/local/lib/cmus/op/pulse.so
INSTALL /usr/local/lib/cmus/op/alsa.so
INSTALL /usr/local/lib/cmus/op/jack.so
INSTALL /usr/local/lib/cmus/op/oss.so
INSTALL /usr/local/lib/cmus/op/ao.so
INSTALL /usr/local/share/cmus/gruvbox-alt.theme
INSTALL /usr/local/share/cmus/zenburn.theme
INSTALL /usr/local/share/cmus/solarized-dark.theme
INSTALL /usr/local/share/cmus/rc
INSTALL /usr/local/share/cmus/night.theme
INSTALL /usr/local/share/cmus/green-mono-88.theme
INSTALL /usr/local/share/cmus/gruvbox.theme
INSTALL /usr/local/share/cmus/cyan.theme
INSTALL /usr/local/share/cmus/default.theme
INSTALL /usr/local/share/cmus/solarized-light.theme
INSTALL /usr/local/share/cmus/gray-88.theme
INSTALL /usr/local/share/cmus/green.theme
INSTALL /usr/local/share/cmus/xterm-white.theme
INSTALL /usr/local/share/cmus/jellybeans.theme
INSTALL /usr/local/share/man/man1/cmus.1
INSTALL /usr/local/share/man/man1/cmus-remote.1
INSTALL /usr/local/share/man/man7/cmus-tutorial.7
INSTALL /usr/local/share/doc/cmus/examples/cmus-status-display

Reference: https://github.com/cmus/cmus/tree/master

A Very Brief C*MUS Tutorial

C*MUS views are changed by selecting 1 through 7. The available views are:

  • '1': Library
  • '2': Sorted Library
  • '3': Playlist
  • '4': Play Queue
  • '5': Browser (file system)
  • '6': Filters
  • '7': Settings

To add music, enter file system browser by selecting '5' then browse and highlight folders with music to add by selecting 'a'. Note at the bottom left sum of hours:minutes:seconds will grow until complete.

Return to music browser by selecting '1' then use the following keys:

  • 'y' & 'e': add artist, album, or song to playlist or queue
  • 'm': change play mode
  • 'r': repeat
  • 's': shuffle
  • 'ctrl+c': continuous
  • '/[$]': search
  • 'c': pause
  • 'v': stop

Also, cmus like vi can drop to a command mod using ":" for actions like:

  • add
  • delete
  • clear

For example you can :add /path/to/folder_file to add music or :clear the current playlist.

VirtualBox

If using RPMFusion repositories:

$ sudo dnf install VirtualBox

Results

================================================================================
 Package                Arch    Version           Repository               Size
================================================================================
Installing:
 VirtualBox             x86_64  5.1.28-1.fc26     rpmfusion-free-updates  7.5 M
Installing dependencies:
 VirtualBox-kmodsrc     x86_64  5.1.28-1.fc26     rpmfusion-free-updates  799 k
 VirtualBox-server      x86_64  5.1.28-1.fc26     rpmfusion-free-updates   14 M
 akmod-VirtualBox       x86_64  5.1.28-1.fc26     rpmfusion-free-updates   29 k
 akmods                 noarch  0.5.6-10.fc26     updates                  23 k
 elfutils-libelf-devel  x86_64  0.169-1.fc26      fedora                   45 k
 kmodtool               noarch  1-24.fc26         fedora                   16 k

Transaction Summary
================================================================================
Install  7 Packages

Total download size: 23 M
Installed size: 65 M
Is this ok [y/N]: 

If not use RPMFusion repositories, add the VirtualBox repository then install.

$ sudo dnf config-manager --add-repo http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
$ sudo dnf install VirtualBox

For VirtualBox virtual machines, install the following prior to installing VirtualBox Additions (drivers):

$ sudo dnf install dkms kernel-devel

Also, if using VirtualBox's Shared Folders feature, add the users to the vboxsf group and create a symbolic link for ease of use.

$ sudo usermod -a -G vboxsf [username]
$ sudo ln -s /media/sf_Share /home/[userhome]/Share

Jekyll

Jekyll is a static page generator that I use for rharmonson.github.io. It is pretty darn nifty.

Install ruby packages

$ sudo dnf install ruby ruby-devel redhat-rpm-config

Results

================================================================================
 Package                   Arch        Version                Repository   Size
================================================================================
Installing:
 redhat-rpm-config         noarch      63-1.fc26              fedora       61 k
 ruby                      x86_64      2.4.1-79.fc26          fedora       78 k
 ruby-devel                x86_64      2.4.1-79.fc26          fedora      118 k
Installing dependencies:
 dwz                       x86_64      0.12-3.fc26            fedora      105 k
 fedora-rpm-macros         noarch      26-2.fc26              fedora      6.5 k
 fpc-srpm-macros           noarch      1.1-2.fc26             fedora      7.0 k
 ghc-srpm-macros           noarch      1.4.2-5.fc26           fedora      7.7 k
 gnat-srpm-macros          noarch      4-2.fc26               fedora      8.1 k
 go-srpm-macros            noarch      2-8.fc26               fedora      7.7 k
 libyaml                   x86_64      0.1.7-2.fc26           fedora       57 k
 ocaml-srpm-macros         noarch      4-2.fc26               fedora      7.5 k
 perl-srpm-macros          noarch      1-21.fc26              fedora      9.0 k
 python-srpm-macros        noarch      3-20.fc26              fedora      9.2 k
 qt5-srpm-macros           noarch      5.8.0-2.fc26           fedora      8.2 k
 ruby-irb                  noarch      2.4.1-79.fc26          fedora       95 k
 ruby-libs                 x86_64      2.4.1-79.fc26          fedora      2.8 M
 rubygem-io-console        x86_64      0.4.6-79.fc26          fedora       59 k
 rubygem-openssl           x86_64      2.0.3-79.fc26          fedora      176 k
 rubygem-psych             x86_64      2.2.2-79.fc26          fedora       88 k
 rubygems                  noarch      2.6.11-79.fc26         fedora      291 k
 rubypick                  noarch      1.1.1-6.fc26           fedora       10 k
Installing weak dependencies:
 rubygem-bigdecimal        x86_64      1.3.0-79.fc26          fedora       89 k
 rubygem-did_you_mean      x86_64      1.1.0-79.fc26          fedora       81 k
 rubygem-rdoc              noarch      5.1.0-1.fc26           fedora      447 k

Transaction Summary
================================================================================
Install  24 Packages

Total download size: 4.6 M
Installed size: 14 M
Is this ok [y/N]:

Install gems

Install jekyll, bundler, and json_pure gems.

$ sudo gem install jekyll bundler json_pure

Results

Fetching: public_suffix-3.0.0.gem (100%)
Successfully installed public_suffix-3.0.0
Fetching: addressable-2.5.2.gem (100%)
Successfully installed addressable-2.5.2
Fetching: colorator-1.1.0.gem (100%)
Successfully installed colorator-1.1.0
Fetching: rb-fsevent-0.10.2.gem (100%)
Successfully installed rb-fsevent-0.10.2
Fetching: ffi-1.9.18.gem (100%)
Building native extensions.  This could take a while...
Successfully installed ffi-1.9.18
Fetching: rb-inotify-0.9.10.gem (100%)
Successfully installed rb-inotify-0.9.10
Fetching: sass-listen-4.0.0.gem (100%)
Successfully installed sass-listen-4.0.0
Fetching: sass-3.5.1.gem (100%)
Successfully installed sass-3.5.1
Fetching: jekyll-sass-converter-1.5.0.gem (100%)
Successfully installed jekyll-sass-converter-1.5.0
Fetching: listen-3.0.8.gem (100%)
Successfully installed listen-3.0.8
Fetching: jekyll-watch-1.5.0.gem (100%)
Successfully installed jekyll-watch-1.5.0
Fetching: kramdown-1.15.0.gem (100%)
Successfully installed kramdown-1.15.0
Fetching: liquid-4.0.0.gem (100%)
Successfully installed liquid-4.0.0
Fetching: mercenary-0.3.6.gem (100%)
Successfully installed mercenary-0.3.6
Fetching: forwardable-extended-2.6.0.gem (100%)
Successfully installed forwardable-extended-2.6.0
Fetching: pathutil-0.14.0.gem (100%)
Successfully installed pathutil-0.14.0
Fetching: rouge-2.2.1.gem (100%)
Successfully installed rouge-2.2.1
Fetching: safe_yaml-1.0.4.gem (100%)
Successfully installed safe_yaml-1.0.4
Fetching: jekyll-3.6.0.gem (100%)
Successfully installed jekyll-3.6.0
Parsing documentation for public_suffix-3.0.0
Installing ri documentation for public_suffix-3.0.0
Parsing documentation for addressable-2.5.2
Installing ri documentation for addressable-2.5.2
Parsing documentation for colorator-1.1.0
Installing ri documentation for colorator-1.1.0
Parsing documentation for rb-fsevent-0.10.2
Installing ri documentation for rb-fsevent-0.10.2
Parsing documentation for ffi-1.9.18
Installing ri documentation for ffi-1.9.18
Parsing documentation for rb-inotify-0.9.10
Installing ri documentation for rb-inotify-0.9.10
Parsing documentation for sass-listen-4.0.0
Installing ri documentation for sass-listen-4.0.0
Parsing documentation for sass-3.5.1
Installing ri documentation for sass-3.5.1
Parsing documentation for jekyll-sass-converter-1.5.0
Installing ri documentation for jekyll-sass-converter-1.5.0
Parsing documentation for listen-3.0.8
Installing ri documentation for listen-3.0.8
Parsing documentation for jekyll-watch-1.5.0
Installing ri documentation for jekyll-watch-1.5.0
Parsing documentation for kramdown-1.15.0
Installing ri documentation for kramdown-1.15.0
Parsing documentation for liquid-4.0.0
Installing ri documentation for liquid-4.0.0
Parsing documentation for mercenary-0.3.6
Installing ri documentation for mercenary-0.3.6
Parsing documentation for forwardable-extended-2.6.0
Installing ri documentation for forwardable-extended-2.6.0
Parsing documentation for pathutil-0.14.0
Installing ri documentation for pathutil-0.14.0
Parsing documentation for rouge-2.2.1
Installing ri documentation for rouge-2.2.1
Parsing documentation for safe_yaml-1.0.4
Installing ri documentation for safe_yaml-1.0.4
Parsing documentation for jekyll-3.6.0
Installing ri documentation for jekyll-3.6.0
Done installing documentation for public_suffix, addressable, colorator, rb-fsevent, ffi, rb-inotify, sass-listen, sass, jekyll-sass-converter, listen, jekyll-watch, kramdown, liquid, mercenary, forwardable-extended, pathutil, rouge, safe_yaml, jekyll after 20 seconds
Fetching: bundler-1.15.4.gem (100%)
Successfully installed bundler-1.15.4
Parsing documentation for bundler-1.15.4
Installing ri documentation for bundler-1.15.4
Done installing documentation for bundler after 4 seconds
Fetching: json_pure-2.1.0.gem (100%)
Successfully installed json_pure-2.1.0
Parsing documentation for json_pure-2.1.0
Installing ri documentation for json_pure-2.1.0
Done installing documentation for json_pure after 0 seconds
21 gems installed

Documentation Theme

I use "documentation-theme-jekyll" by Tom Johnson. If you like to use it to explore jekyll or as the basis of building your own static website, download and unzip the them from:

Unzip the file to a working directory. My convention is to use a directory called gitcode for code from github.com.

The Documentation theme has the following additional package dependencies:

$ sudo dnf install libxml2-devel libxslt-devel nodejs

Results

================================================================================
 Package               Arch      Version                       Repository  Size
================================================================================
Installing:
 libxml2-devel         x86_64    2.9.4-2.fc26                  fedora     1.1 M
 libxslt-devel         x86_64    1.1.29-1.fc26                 fedora     316 k
 nodejs                x86_64    1:6.11.2-1.fc26               updates    4.6 M
Installing dependencies:
 libgcrypt-devel       x86_64    1.7.8-1.fc26                  updates    140 k
 libgpg-error-devel    x86_64    1.25-2.fc26                   fedora      44 k
 libuv                 x86_64    1:1.11.0-1.fc26               fedora     112 k
 xz-devel              x86_64    5.2.3-2.fc26                  fedora      60 k
Installing weak dependencies:
 npm                   x86_64    1:3.10.10-1.6.11.2.1.fc26     updates    2.5 M

Transaction Summary
================================================================================
Install  8 Packages

Total download size: 8.8 M
Installed size: 37 M
Is this ok [y/N]: 

Install missing gems needed by the theme by entering the theme's directory, documentation-theme-jekyll-gh-pages, and executing:

$ bundle install

Results

$ cd documentation-theme-jekyll-gh-pages/
$ bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Fetching i18n 0.7.0
Installing i18n 0.7.0
Fetching json 1.8.6
Installing json 1.8.6 with native extensions
Fetching minitest 5.10.1
Installing minitest 5.10.1
Fetching thread_safe 0.3.5
Installing thread_safe 0.3.5
Fetching public_suffix 2.0.5
Installing public_suffix 2.0.5
Using bundler 1.15.4
Fetching coffee-script-source 1.12.2
Installing coffee-script-source 1.12.2
Fetching execjs 2.7.0
Installing execjs 2.7.0
Using colorator 1.1.0
Fetching ffi 1.9.17
Installing ffi 1.9.17 with native extensions
Fetching multipart-post 2.0.0
Installing multipart-post 2.0.0
Using forwardable-extended 2.6.0
Fetching gemoji 2.1.0
Installing gemoji 2.1.0
Fetching net-dns 0.8.0
Installing net-dns 0.8.0
Fetching sass 3.4.23
Installing sass 3.4.23
Fetching rb-fsevent 0.9.8
Installing rb-fsevent 0.9.8
Fetching kramdown 1.11.1
Installing kramdown 1.11.1
Fetching liquid 3.0.6
Installing liquid 3.0.6
Using mercenary 0.3.6
Fetching rouge 1.11.1
Installing rouge 1.11.1
Using safe_yaml 1.0.4
Fetching mini_portile2 2.1.0
Installing mini_portile2 2.1.0
Fetching jekyll-paginate 1.1.0
Installing jekyll-paginate 1.1.0
Fetching jekyll-swiss 0.4.0
Installing jekyll-swiss 0.4.0
Fetching minima 2.0.0
Installing minima 2.0.0
Fetching unicode-display_width 1.1.3
Installing unicode-display_width 1.1.3
Fetching tzinfo 1.2.2
Installing tzinfo 1.2.2
Fetching addressable 2.5.0
Installing addressable 2.5.0
Fetching coffee-script 2.4.1
Installing coffee-script 2.4.1
Fetching ethon 0.10.1
Installing ethon 0.10.1
Fetching rb-inotify 0.9.8
Installing rb-inotify 0.9.8
Fetching faraday 0.11.0
Installing faraday 0.11.0
Using pathutil 0.14.0
Using jekyll-sass-converter 1.5.0
Fetching nokogiri 1.6.8.1
Installing nokogiri 1.6.8.1 with native extensions
Fetching terminal-table 1.7.3
Installing terminal-table 1.7.3
Fetching activesupport 4.2.7
Installing activesupport 4.2.7
Fetching jekyll-coffeescript 1.0.1
Installing jekyll-coffeescript 1.0.1
Fetching typhoeus 0.8.0
Installing typhoeus 0.8.0
Fetching listen 3.0.6
Installing listen 3.0.6
Fetching sawyer 0.8.1
Installing sawyer 0.8.1
Fetching html-pipeline 2.5.0
Installing html-pipeline 2.5.0
Using jekyll-watch 1.5.0
Fetching octokit 4.6.2
Installing octokit 4.6.2
Fetching jekyll 3.3.1
Installing jekyll 3.3.1
Fetching github-pages-health-check 1.3.0
Installing github-pages-health-check 1.3.0
Fetching jekyll-gist 1.4.0
Installing jekyll-gist 1.4.0
Fetching jekyll-avatar 0.4.2
Installing jekyll-avatar 0.4.2
Fetching jekyll-default-layout 0.1.4
Installing jekyll-default-layout 0.1.4
Fetching jekyll-feed 0.8.0
Installing jekyll-feed 0.8.0
Fetching jekyll-github-metadata 2.3.1
Installing jekyll-github-metadata 2.3.1
Fetching jekyll-mentions 1.2.0
Installing jekyll-mentions 1.2.0
Fetching jekyll-optional-front-matter 0.1.2
Installing jekyll-optional-front-matter 0.1.2
Fetching jekyll-readme-index 0.0.3
Installing jekyll-readme-index 0.0.3
Fetching jekyll-redirect-from 0.11.0
Installing jekyll-redirect-from 0.11.0
Fetching jekyll-relative-links 0.2.1
Installing jekyll-relative-links 0.2.1
Fetching jekyll-seo-tag 2.1.0
Installing jekyll-seo-tag 2.1.0
Fetching jekyll-sitemap 0.12.0
Installing jekyll-sitemap 0.12.0
Fetching jekyll-theme-architect 0.0.3
Installing jekyll-theme-architect 0.0.3
Fetching jekyll-theme-cayman 0.0.3
Installing jekyll-theme-cayman 0.0.3
Fetching jekyll-theme-dinky 0.0.3
Installing jekyll-theme-dinky 0.0.3
Fetching jekyll-theme-hacker 0.0.3
Installing jekyll-theme-hacker 0.0.3
Fetching jekyll-theme-leap-day 0.0.3
Installing jekyll-theme-leap-day 0.0.3
Fetching jekyll-theme-merlot 0.0.3
Installing jekyll-theme-merlot 0.0.3
Fetching jekyll-theme-midnight 0.0.3
Installing jekyll-theme-midnight 0.0.3
Fetching jekyll-theme-minimal 0.0.3
Installing jekyll-theme-minimal 0.0.3
Fetching jekyll-theme-modernist 0.0.3
Installing jekyll-theme-modernist 0.0.3
Fetching jekyll-theme-primer 0.1.7
Installing jekyll-theme-primer 0.1.7
Fetching jekyll-theme-slate 0.0.3
Installing jekyll-theme-slate 0.0.3
Fetching jekyll-theme-tactile 0.0.3
Installing jekyll-theme-tactile 0.0.3
Fetching jekyll-theme-time-machine 0.0.3
Installing jekyll-theme-time-machine 0.0.3
Fetching jekyll-titles-from-headings 0.1.4
Installing jekyll-titles-from-headings 0.1.4
Fetching jemoji 0.7.0
Installing jemoji 0.7.0
Fetching github-pages 117
Installing github-pages 117
Bundle complete! 1 Gemfile dependency, 74 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from html-pipeline:
-------------------------------------------------
Thank you for installing html-pipeline!
You must bundle Filter gem dependencies.
See html-pipeline README.md for more details.
https://github.com/jch/html-pipeline#dependencies
-------------------------------------------------
Post-install message from minima:

----------------------------------------------
Thank you for installing minima 2.0!

Minima 2.0 comes with a breaking change that
renders '<your-site>/css/main.scss' redundant.
That file is now bundled with this gem as
'<minima>/assets/main.scss'.

More Information:
https://github.com/jekyll/minima#customization
----------------------------------------------

Build the site to review

$ bundle exec jekyll serve

Open a web browser to http://localhost:4000 to review the static website.

Cloning Your Repository

To clone your Github repository, use an existing SSH key or generate a new one.

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

After generating a key pair, $ cat /home/[userhome]/.ssh/is_rsa.pub then add the key to your Github account under your profile, settings, SSH & GPG Keys.

Reference: https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

Example below is for my github.io repository.

$ git clone git@github.com:rharmonson/rharmonson.github.io.git
Cloning into 'rharmonson.github.io'...

Use $ bundle install to install missing ruby gems and $ bundle update to periodically update gems.

Spacewalk

Spacewalk if the upstream project for Satellite 5 also known as Satellite Classic.

$ sudo dnf install dnf-plugin-spacewalk

Results

================================================================================
 Package                   Arch        Version               Repository    Size
================================================================================
Installing:
 dnf-plugin-spacewalk      noarch      2.7.3-2.fc26          fedora        31 k
Installing dependencies:
 newt-python3              x86_64      0.52.20-1.fc26        fedora        59 k
 python3-hwdata            noarch      2.3.5-1.fc26          updates       37 k
 python3-netifaces         x86_64      0.10.6-1.fc26         updates       22 k
 python3-rhnlib            noarch      2.7.5-1.fc26          updates       73 k
 rhn-client-tools          noarch      2.7.15-1.fc26         updates      490 k

Transaction Summary
================================================================================
Install  6 Packages

Total download size: 713 k
Installed size: 3.0 M
Is this ok [y/N]: 
$ sudo dnf install m2crypto rhn-check rhn-client-tools rhn-setup rhnsd

Results

================================================================================
 Package               Arch          Version                Repository     Size
================================================================================
Installing:
 rhn-check             noarch        2.7.15-1.fc26          updates        64 k
 rhn-setup             noarch        2.7.15-1.fc26          updates        99 k
 rhnsd                 x86_64        5.0.29-1.fc26          updates        50 k

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 213 k
Installed size: 1.0 M
Is this ok [y/N]:

Predictable Network Names

I use this for virtual machines for VirtualBox and oVirt (RHEV) to have a consistent naming, eth0, convention for scripting and cloud-init.

During installation, select [tab] and append kernel parameters net.ifnames and biosdevname. This can be done after installation of Fedora, but the procedure is much more complex and can be found at http://unix.stackexchange.com/questions/81834/how-can-i-change-the-default-ens33-network-device-to-old-eth0-on-fedora-19.

vmlinuz .. net.ifnames=0 biosdevname=0

Gnome Sceensaver Settings

If using a home office, the default limit of 15 minutes idle lockout may be undesirable and cannot be set higher than 15 minutes using the GUI. Instead use gsettings.

Timeout for blanking the screen (seconds; 0 = never):

gsettings set org.gnome.desktop.session idle-delay 3600

Timeout for locking the screen after blanking (seconds; 0 = instant):

gsettings set org.gnome.desktop.screensaver lock-delay 10

Remote Desktop

Fedora defaults to Wayland and it does not support remote desktop at this time. However, xorg does. Edit /etc/gdm/custom.conf and remove the # to result with WaylandEnable=false. Reboot and on logon, xorg is in use. To enable remote desktop or "Screen Sharing" open Gnome "Settings" application, select Sharing, and enable Screen Sharing.

Additional Packages

Additional packages I install are:

  • gnucash is a double-entry accounting program
  • tmux which provides similiar functionality to screen
  • virt-viewer which is a remote desktop viewer that supports vnc and spice protocols
  • shutter is a screenshot tool like Windows Snipping tool
  • vlc to check video files prior to adding to Kodi
  • youtube-dl - video snatch and grab
  • rtmpdump to support youtube-dl
$ sudo dnf install gnucash tmux virt-viewer shutter vlc youtube-dl rtmpdump

"To do" for author: verify dnf-plugin-versionlock and dnf-plugin-priorities is installed by default, otherwise, update above.


Done?!

If installing VirtualBox from RPM from Oracl's website, you will need the following packages (and maybe others):

  • SDL
  • qt5-qtx11extras

Hate the Gnome initial setup wizard? I do!

# dnf remove gnome-initial-setup
Clone this wiki locally