Skip to content

A multi-platform, Qt-based frontend for systemd's journalctl command. Accepting local as well as remote (SSH) data sources.

License

Notifications You must be signed in to change notification settings

pentix/qjournalctl

Repository files navigation

QJournalctl v0.6.2 Build Status

A Qt-based Graphical User Interface for systemd's journalctl command

About QJournalctl

systemd provides journalctl to display and analyze its journal. Think of the journal as a giant log file for the whole system. Different programs (like e.g. different software/services on your system, but also the kernel) write their log entries into systemd's journal. journalctl supports a few flags/parameters to specify what should be displayed. QJournalctl is just a graphical user interface which displays the journal and lets the user simply change the parameters to check the log quickly for specific reports or errors.

Maybe you want to checkout the Changelog.

QJournalctl for Linux

ArchLinux and Manjaro

QJournalctl is available in the community repository for the Archlinux and Manjaro Distributions:

sudo pacman -S qjournalctl

For other distributions, it is required to build it from sources.

Build Dependencies

  • Make sure your compiler supports (at least) C++11 (E.g. g++ ≥ 4.8.1, clang ≥ 3.3)
  • QJournalctl relies on Qt5, please ensure to have the Qt5 development libaries (E.g. qtbase5-dev for Debian/Ubuntu) installed, when compiling!
  • To access remote hosts QJournalctl heavily relies on libssh0.8.7

Build Dependencies (Old Distros)

Your distribution's supplied version of libssh might be too old for a successful build. You need to build and install libssh yourself (< 2 minutes!)

sudo apt-get install qtbase5-dev cmake

wget https://www.libssh.org/files/0.9/libssh-0.9.3.tar.xz

tar xf libssh-0.9.3.tar.xz ; cd libssh-0.9.3

mkdir build ; cd build

cmake .. && sudo make install

cd ../..

Building QJournalctl

  1. Download the source code and extract it
  2. Run ./autogen.sh
  3. Run make -j5 to compile qjournalctl

QJournalctl for Windows

Build Dependencies

To buuild QJournalctl for Windows, it is needed

  • Visual Studio 2019 Community
    • MSVC C++ Build Tools for x64/x86 >= v141
  • Qt Open-Source >= 5.14.1
  • vcpkg >= 2020.01 (https://github.com/microsoft/vcpkg)
    • Note Install following the Install the QJournalctl Dependencies instructions

Install the QJournalctl Dependencies

  1. Download the source code and extract it
  2. Download the vcpkg tool in the same folder where the QJournalctl repository is cloned
  3. Get the libssh dependencies for the target needed:
vcpkg install libssh:x64-windows

Now, the libssh binaries as well as its dependencies can be found at <repository_root>/vcpkg/packages/

Building QJournalctl

Considering that the Install the QJournalctl Dependencies steps are already performed 0. Adjust the QTDIR variable which points to your msvc tooling folder at your Qt Installation path in the autogen_and_build.bat:

set QTDIR=C:\Qt\Qt5.14.1\5.14.1\msvc2017_64
  1. Adjust the VCPKG_FOLDER variable pointing to the directory where the repository is downloaded
qmake qjournalctl.pro CONFIG+=release CONFIG+=x86_64 VCPKG_FOLDER=.
  1. Open a new *Visual Studio Developer Command prompt by running
<visual_studio_install_path>\2019\Community\VC\Auxiliary\Build\vcvarsall.bat x64
  1. Run autogen_and_build.bat

The application can be found at release/ folder.

Note The process can be repeated by modifying the autogen_and_build.bat script in the commented sections

Screenshots

Use the ssh feature to connect to remote hosts and read their logs; Save frequently used connections and benefit from password or (encrypted) keyfile support

Use the ssh feature to connect to remote hosts and read their logs

Use the filter option and regular expressions to find what you are looking for

Use the filter option and regular expressions to find what you are looking for

Finally found the interesting log entries? Directly export your selection!

Finally found the interesting log entries? Directly export your selection!

Search the journal while it keeps itself up-to-date

Searching the journal in realtime

The current boot is not enough? Search the entire (!) journal of all boots or select a previous boot

Show all saved boot logs or the complete journal