Skip to content

Linux Installation

Dan Ravensloft edited this page Mar 17, 2019 · 28 revisions

NOTE: If you build your own kernels, ckb-next requires the uinput flag to be enabled. It is located under Device Drivers -> Input Device Support -> Miscellaneous devices -> User level driver support. If you don't know what this means, you can safely ignore this.

Distro-specific packages

Official

  • Fedora (28+)
    • ckb-next - based on latest release

Unofficial

NOTE: we are looking for maintainers to support other Linux distributions. Open an issue if you are willing to help.

Build from source

ckb-next uses CMake during the build process. See CMake Options for the list of available options.

Install the required (cmake, glibc, Qt5, libudev, zlib) and optional (libpulse, libappindicator, quazip) packages:

  • Arch Linux: sudo pacman -S base-devel cmake libsystemd qt5-base zlib libappindicator-gtk2 quazip libpulse

  • Ubuntu (14.04): sudo apt-get install build-essential cmake3 libudev-dev qt5-default zlib1g-dev libappindicator-dev libpulse-dev (quazip5 is available through WITH_SHIPPED_QUAZIP CMake switch)

  • Ubuntu (16.04+): sudo apt-get install build-essential cmake libudev-dev qt5-default zlib1g-dev libappindicator-dev libpulse-dev libquazip5-dev

  • Fedora: sudo dnf install gcc gcc-c++ make cmake glibc zlib-devel qt5-qtbase-devel quazip-qt5-devel libappindicator-devel systemd-devel pulseaudio-libs-devel

    If the above returns nothing provides pkgconfig, make sure exclude=xorg-x11* is commented or removed in /etc/dnf/dnf.conf

  • openSUSE: sudo zypper install gcc gcc-c++ make cmake linux-glibc-devel zlib-devel libqt5-qtbase-devel libappindicator-devel systemd-devel libpulse-devel quazip-qt5-devel libudev-devel

Install git and clone the repository, or download the zip archive.

git clone https://github.com/ckb-next/ckb-next.git
cd ckb-next

Then run the quickinstall script.

./quickinstall

Uninstallation

Use a package manager to uninstall if you are using a distro-specific package.

Otherwise, ckb-next provides uninstall target, but it's a bit tricky. You should recall all -DOPTION=VALUE flags you have used when generating the configuration for installation, build install target and then build uninstall target. For example:

cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DSAFE_INSTALL=ON -DSAFE_UNINSTALL=ON -DWITH_GUI=OFF -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBEXECDIR=lib
cmake --build build --target all -- -j
sudo cmake --build build --target install
sudo cmake --build build --target uninstall

The compilation and installation steps are required because install target generates an install manifest that later allows to determine which files to remove and what is their location.

NOTE: this method works only with ckb-next >=0.2.9.

NOTE: this method is the preferred and supported way to remove ckb-next.

NOTE: this method will not remove any of the files which belong to ckb-next <=0.2.9 or ckb <=0.2.7 if they are not overlapping with ckb-next >=0.3.0. It will only ensure it is safe to remove any ckb-related files, whatever the version would be, and only remove ckb-next >=0.3.0 components.

If you have been using ckb-next <=0.2.9 (with old ckb and ckb-daemon binaries) or even ckb <=0.2.7 (by ccMSC), you will have to remove files manually. First of all, you must terminate the GUI and stop the daemon. If you don't know how to do it, just repeat the process as above with minimal configuration:

cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DSAFE_INSTALL=ON -DSAFE_UNINSTALL=ON
cmake --build build --target all -- -j
sudo cmake --build build --target install
sudo cmake --build build --target uninstall

This will ensure that it is safe to remove ckb and/or ckb-next files. While executing the first command above you will see:

...
-- <init> detected
...

where <init> is one of:

  • systemd
  • Upstart
  • OpenRC

Uninstallation of ckb-next < 0.3.0:

  1. Remove the GUI:

    sudo rm /usr/bin/ckb
  2. Remove the daemon's service file:

    • systemd:
      sudo rm /usr/lib/systemd/system/ckb-daemon.service
    • Upstart:
      sudo rm /etc/init/ckb-daemon.conf
    • OpenRC:
      sudo rm /etc/init.d/ckb-daemon
  3. Remove the daemon:

    sudo rm /usr/bin/ckb-daemon
  4. Remove animations:

    sudo rm -rf /usr/bin/ckb-animations
    sudo rm -rf /usr/lib/animations
  5. Remove .desktop file:

    sudo rm /usr/share/applications/ckb.desktop
    sudo rm /usr/local/share/applications/ckb.desktop
  6. Remove the icon:

    sudo rm /usr/share/icons/hicolor/512x512/apps/ckb.png
    sudo rm /usr/local/share/icons/hicolor/512x512/apps/ckb.png
You can’t perform that action at this time.