This guide covers all methods for installing and running RingBuffer.
- Quick Start (No Installation)
- Desktop Integration
- System Requirements
- Permissions Setup
- Building from Source
- Troubleshooting
The fastest way to run RingBuffer - no installation required:
# Download the AppImage
curl -L -o RingBuffer-x86_64.AppImage \
https://github.com/The-OffSec-Desk/ringbuffer/releases/latest/download/RingBuffer-x86_64.AppImage
# Make executable
chmod +x RingBuffer-x86_64.AppImage
# Run
./RingBuffer-x86_64.AppImageThat's it! RingBuffer will launch with all dependencies bundled.
For a proper desktop experience with menu entry and icon:
# Download both files
curl -L -o RingBuffer-x86_64.AppImage \
https://github.com/The-OffSec-Desk/ringbuffer/releases/latest/download/RingBuffer-x86_64.AppImage
curl -L -o install-icon.sh \
https://github.com/The-OffSec-Desk/ringbuffer/releases/latest/download/install-icon.sh
# Make executable
chmod +x RingBuffer-x86_64.AppImage
# Run installer
bash install-icon.shThe installer will:
- ✅ Extract and install the application icon
- ✅ Create a desktop entry (
~/.local/share/applications/ringbuffer.desktop) - ✅ Add RingBuffer to your application menu
- ✅ Update system icon and desktop caches
After installation, search for "RingBuffer" in your application launcher.
If you prefer manual setup:
# Create directories
mkdir -p ~/.local/share/icons/hicolor/256x256/apps
mkdir -p ~/.local/share/applications
# Extract and install icon
./RingBuffer-x86_64.AppImage --appimage-extract usr/share/icons/hicolor/256x256/apps/ringbuffer.png
cp squashfs-root/usr/share/icons/hicolor/256x256/apps/ringbuffer.png \
~/.local/share/icons/hicolor/256x256/apps/
rm -rf squashfs-root
# Get absolute path to AppImage
APPIMAGE_PATH=$(readlink -f RingBuffer-x86_64.AppImage)
# Create desktop entry
cat > ~/.local/share/applications/ringbuffer.desktop << DESKTOP
[Desktop Entry]
Type=Application
Name=RingBuffer
Comment=Real-time Kernel Log & Telemetry Analyzer
Exec=env RINGBUFFER_ICON="$HOME/.local/share/icons/hicolor/256x256/apps/ringbuffer.png" "$APPIMAGE_PATH" %F
Icon=$HOME/.local/share/icons/hicolor/256x256/apps/ringbuffer.png
Terminal=false
Categories=System;
StartupNotify=true
DESKTOP
# Make desktop entry executable
chmod +x ~/.local/share/applications/ringbuffer.desktop
# Update caches
gtk-update-icon-cache ~/.local/share/icons/hicolor/ 2>/dev/null || true
update-desktop-database ~/.local/share/applications/ 2>/dev/null || trueTo remove RingBuffer:
# Remove desktop integration
rm ~/.local/share/applications/ringbuffer.desktop
rm ~/.local/share/icons/hicolor/256x256/apps/ringbuffer.png
# Update caches
gtk-update-icon-cache ~/.local/share/icons/hicolor/
update-desktop-database ~/.local/share/applications/
# Remove AppImage
rm RingBuffer-x86_64.AppImage- Operating System: Linux x86_64 (any modern distribution)
- Kernel Version: 4.x or newer (for kernel log access)
- Architecture: 64-bit (x86_64)
- RAM: 256 MB minimum, 512 MB recommended
- Disk Space: 200 MB for AppImage + runtime space
RingBuffer has been tested on:
- ✅ Fedora 38+
- ✅ Ubuntu 20.04+
- ✅ Debian 11+
- ✅ Arch Linux
- ✅ openSUSE Leap 15+
- ✅ Linux Mint 20+
Should work on any modern Linux distribution with:
- Kernel 4.x or newer
- glibc 2.28+
- FUSE support (for AppImage)
- X11 or Wayland display server
If AppImage won't run, you may need FUSE:
# Fedora/RHEL/CentOS
sudo dnf install fuse
# Debian/Ubuntu
sudo apt install fuse
# Arch Linux
sudo pacman -S fuse2
# openSUSE
sudo zypper install fuseRingBuffer reads kernel logs from /dev/kmsg (via dmesg) or systemd journal (via journalctl), which requires appropriate permissions.
sudo ./RingBuffer-x86_64.AppImagePros: Immediate access Cons: Not recommended for regular use, security implications
# Add your user to the systemd-journal group
sudo usermod -aG systemd-journal $USER
# Verify the change
groups $USER
# Log out and log back in for changes to take effectAfter logging back in, you can run RingBuffer without sudo.
# Create kmsg group
sudo groupadd -f kmsg
# Add your user
sudo usermod -aG kmsg $USER
# Create udev rule
sudo tee /etc/udev/rules.d/99-kmsg.rules << 'RULE'
KERNEL=="kmsg", GROUP="kmsg", MODE="0640"
RULE
# Reload udev rules
sudo udevadm control --reload-rules
sudo udevadm trigger
# Log out and log back inRingBuffer includes a permission checker. From the Settings menu:
- Menu → Settings → Check Permissions
This will show which log sources are available and working.
# Install Python 3.10+
python3 --version # Should show 3.10 or higher
# Install pip
sudo dnf install python3-pip # Fedora
sudo apt install python3-pip # Ubuntu/Debian
# Install PySide6 (Qt for Python)
pip3 install PySide6
# Install development tools (optional, for building extensions)
sudo dnf install gcc python3-devel # Fedora
sudo apt install build-essential python3-dev # Ubuntu/Debian# Clone repository
git clone https://github.com/The-OffSec-Desk/ringbuffer.git
cd ringbuffer
# The application uses only standard library modules plus PySide6
# No additional dependencies required for basic functionality# Run application directly
python3 main.pyAppImage building requires additional tools and is typically done by maintainers. The AppImage includes:
- Python 3.13 runtime
- PySide6 Qt libraries
- All required system libraries
- The complete RingBuffer application
Error: cannot execute binary file
Solution: Make sure the file is executable
chmod +x RingBuffer-x86_64.AppImageError: AppImage cannot be mounted
Solution: Install FUSE (see Installing FUSE)
Error: fuse: failed to exec fusermount
Solution:
# Make sure FUSE is properly installed
which fusermount
sudo chmod u+s /usr/bin/fusermountError: Permission denied: '/dev/kmsg' or dmesg: read kernel buffer failed: Operation not permitted
Solution: See Permissions Setup section
Error: journalctl: permission denied
Solution: Check if you're in the correct group
groups | grep -E "systemd-journal|kmsg"Error: Qt/GUI related errors Solution:
- Ensure you have a display server running (X11 or Wayland)
- Try running with different Qt platform:
export QT_QPA_PLATFORM=xcb ./RingBuffer-x86_64.AppImage # Force X11
export QT_QPA_PLATFORM=wayland ./RingBuffer-x86_64.AppImage # Force WaylandError: Python/import errors Solution: The AppImage should be self-contained. If running from source:
pip3 install PySide6Problem: No kernel events in the table Solution:
- Check permissions (see above)
- Verify kernel log sources are available:
# Test dmesg access
dmesg | tail -5
# Test journalctl access
journalctl -k -n 5- Check status bar in RingBuffer - it shows the active source
- Try running with
sudoto test permissions
Problem: Icon doesn't show in application menu Solution:
# Re-run the install script
bash install-icon.sh
# Manually update caches
gtk-update-icon-cache ~/.local/share/icons/hicolor/
update-desktop-database ~/.local/share/applications/
# Log out and log back inProblem: Generic icon in taskbar Solution: This is usually fixed by logging out and back in after installation
Problem: High CPU usage or slow UI Solution:
- Enable more restrictive filters to reduce event volume
- The polling interval is fixed at 150ms - no user configuration available
- Close other resource-intensive applications
If you encounter issues not covered here:
- Check existing GitHub Issues
- Search GitHub Discussions
- Open a new issue with:
- Your Linux distribution and version (
cat /etc/os-release) - Kernel version (
uname -r) - Error messages (full output from terminal)
- Steps to reproduce
- Whether you're using AppImage or running from source
- Your Linux distribution and version (
You can place the AppImage anywhere:
# Install to /opt (system-wide)
sudo mv RingBuffer-x86_64.AppImage /opt/
sudo chmod 755 /opt/RingBuffer-x86_64.AppImage
# Create system-wide desktop entry
sudo cp ~/.local/share/applications/ringbuffer.desktop /usr/share/applications/You can run multiple versions side-by-side:
mv RingBuffer-x86_64.AppImage RingBuffer-v1.0.0.AppImage
# Download new version
curl -L -o RingBuffer-latest.AppImage ...Each AppImage is self-contained and won't conflict.
RingBuffer respects these environment variables:
RINGBUFFER_ICON: Path to custom icon fileQT_QPA_PLATFORM: Force Qt platform (xcb/wayland)DISPLAY: X11 display (if using X11)
- Read the User Manual to learn how to use RingBuffer
- Explore Plugin Development to extend functionality
Need help? Open an issue on GitHub