Installing on Linux
Complete installation guide for Sigil Auth CLI device on Linux distributions
Installing Sigil Auth on Linux
Complete installation guide for Sigil Auth CLI device (sigil-device) on Linux distributions.
Quick Install
Ubuntu / Debian
# Download and install .deb package
curl -LO https://github.com/sigilauth/cli-device/releases/latest/download/sigil-device_0.1.0_linux_amd64.deb
sudo dpkg -i sigil-device_0.1.0_linux_amd64.deb
# Verify installation
sigil-device --version
Fedora / RHEL / Rocky Linux
# Download and install .rpm package
sudo dnf install https://github.com/sigilauth/cli-device/releases/latest/download/sigil-device-0.1.0-1.x86_64.rpm
# Verify installation
sigil-device --version
Arch Linux
# Via AUR helper (recommended)
yay -S sigil-device
# Or manual AUR build
git clone https://aur.archlinux.org/sigil-device.git
cd sigil-device
makepkg -si
Alpine Linux
# Download and install .apk package
curl -LO https://github.com/sigilauth/cli-device/releases/latest/download/sigil-device_0.1.0_linux_amd64.apk
sudo apk add --allow-untrusted sigil-device_0.1.0_linux_amd64.apk
# Verify installation
sigil-device --version
Any Linux (Binary Tarball)
# Download tarball
curl -LO https://github.com/sigilauth/cli-device/releases/latest/download/sigil-device_0.1.0_linux_amd64.tar.gz
# Extract
tar -xzf sigil-device_0.1.0_linux_amd64.tar.gz
# Install (system-wide)
sudo install -m 755 sigil-device /usr/local/bin/
# Or install (user-local)
mkdir -p ~/.local/bin
install -m 755 sigil-device ~/.local/bin/
# Add ~/.local/bin to PATH if not already there
# Verify
sigil-device --version
Package Signature Verification
TODO: GPG signature verification steps pending Sigil Auth release key publication.
Once available:
# Import Sigil Auth release key
curl https://sigilauth.com/release-key.asc | gpg --import
# Verify package signature
gpg --verify sigil-device_0.1.0_checksums.txt.sig sigil-device_0.1.0_checksums.txt
sha256sum --check sigil-device_0.1.0_checksums.txt
Repository Installation (Future)
TODO: Package repository hosting not yet configured. Manual package installation required for v0.1.0.
Planned for v0.2.0:
- apt repository for Debian/Ubuntu
- dnf repository for Fedora/RHEL/Rocky
- Flathub for universal Flatpak distribution
First Run
After installation, initialize your device identity:
# Generate device keypair (stored in ~/.sigil-device/)
sigil-device init
# Pair with your Sigil server
sigil-device pair --server https://sigil.example.com:8443
# Register for push notifications
sigil-device register --relay https://relay.sigilauth.com
# Listen for authentication requests
sigil-device listen --relay https://relay.sigilauth.com
See man sigil-device for detailed command documentation.
Running as a Service
Enable persistent background listener via systemd:
# Enable service (starts on login)
systemctl --user enable sigil-device.service
# Start service now
systemctl --user start sigil-device.service
# Check status
systemctl --user status sigil-device.service
# View logs
journalctl --user -u sigil-device -f
The service runs sigil-device listen --auto-approve and automatically restarts on failure.
Note: Run init, pair, and register commands manually before enabling the service.
Shell Completion
Tab completion is automatically enabled after package installation for bash, zsh, and fish.
Restart your shell or source the completion file:
# Bash
source /usr/share/bash-completion/completions/sigil-device
# Zsh
autoload -Uz compinit && compinit
# Fish (auto-loaded on next shell start)
Troubleshooting
Command not found
Symptom: sigil-device: command not found after installation
Solutions:
- Tarball install: Ensure
/usr/local/binor~/.local/binis in your$PATHecho $PATH # Should include /usr/local/bin or ~/.local/bin - Package install: Verify package is installed:
# Debian/Ubuntu dpkg -l | grep sigil-device # Fedora/RHEL rpm -qa | grep sigil-device # Arch pacman -Q sigil-device
Permission denied accessing ~/.sigil-device/
Symptom: Error: Permission denied (os error 13) when running commands
Solution: Files created with wrong ownership. Reset permissions:
sudo chown -R $USER:$USER ~/.sigil-device
chmod 700 ~/.sigil-device
chmod 600 ~/.sigil-device/*.json ~/.sigil-device/*.txt
No D-Bus session
Symptom: Error: Cannot connect to D-Bus session bus
Solution: Ensure D-Bus session is running (required for desktop integration):
# Check D-Bus session
echo $DBUS_SESSION_BUS_ADDRESS
# If empty, start via systemd (if available)
systemctl --user start dbus.service
Workaround: CLI device does not strictly require D-Bus. This warning can be ignored for server/headless use.
libsecret not found (future)
Symptom: error while loading shared libraries: libsecret-1.so.0
Solution: Install libsecret (required for desktop app, not CLI):
# Debian/Ubuntu
sudo apt install libsecret-1-0
# Fedora/RHEL
sudo dnf install libsecret
# Arch
sudo pacman -S libsecret
Systemd service fails to start
Symptom: systemctl --user status sigil-device shows “failed” status
Diagnosis:
# View detailed logs
journalctl --user -u sigil-device -n 50
# Common causes:
# 1. Device not initialized: run `sigil-device init` first
# 2. Missing config: run `pair` and `register` before enabling service
# 3. Relay unreachable: check network connectivity
WebSocket connection refused
Symptom: Error: Connection refused when running listen command
Solutions:
- Verify relay URL is correct and reachable:
curl -I https://relay.sigilauth.com/health - Check firewall allows outbound WebSocket (port 443)
- Ensure device is registered with relay:
sigil-device register --relay https://relay.sigilauth.com
Tab completion not working
Symptom: <TAB> key doesn’t complete sigil-device commands
Solutions:
- Bash: Ensure bash-completion package installed:
# Debian/Ubuntu sudo apt install bash-completion # Fedora/RHEL sudo dnf install bash-completion - Restart shell: Completions load on shell startup
exec bash # or exec zsh, exec fish
Man page not found
Symptom: man sigil-device shows “No manual entry”
Solution:
-
Package install: Man page should be included. Verify:
ls -la /usr/share/man/man1/sigil-device.1* -
Tarball install: Man pages not included in tarball. View online: https://github.com/sigilauth/cli-device/blob/main/docs/man/sigil-device.1
-
Rebuild man database (if file exists but not indexed):
sudo mandb
Uninstallation
Ubuntu / Debian
sudo apt remove sigil-device
# Or completely purge including config
sudo apt purge sigil-device
Fedora / RHEL / Rocky
sudo dnf remove sigil-device
Arch Linux
sudo pacman -R sigil-device
# Or with dependencies
sudo pacman -Rs sigil-device
Alpine
sudo apk del sigil-device
Manual / Tarball
# Remove binary
sudo rm /usr/local/bin/sigil-device
# Remove user data (optional)
rm -rf ~/.sigil-device
ARM Support
ARM64 packages are available for all distros:
# Ubuntu/Debian ARM64
curl -LO https://github.com/sigilauth/cli-device/releases/latest/download/sigil-device_0.1.0_linux_arm64.deb
# Fedora/Rocky ARM64
sudo dnf install https://github.com/sigilauth/cli-device/releases/latest/download/sigil-device-0.1.0-1.aarch64.rpm
# Alpine ARM64
curl -LO https://github.com/sigilauth/cli-device/releases/latest/download/sigil-device_0.1.0_linux_arm64.apk
# Arch ARM64
curl -LO https://github.com/sigilauth/cli-device/releases/latest/download/sigil-device-0.1.0-1-aarch64.pkg.tar.zst
# Tarball ARM64
curl -LO https://github.com/sigilauth/cli-device/releases/latest/download/sigil-device_0.1.0_linux_arm64.tar.gz
Further Reading
- CLI Reference:
man sigil-deviceor GitHub README - Protocol Documentation: https://sigilauth.com/docs/protocol
- Troubleshooting: https://sigilauth.com/docs/troubleshooting
- GitHub Issues: https://github.com/sigilauth/cli-device/issues
Getting Help
- Documentation: https://sigilauth.com/docs
- GitHub Issues: https://github.com/sigilauth/cli-device/issues
- Community: https://sigilauth.com/community (TODO)
License
Sigil Auth CLI Device is licensed under AGPL-3.0-or-later.
API specifications are licensed under Apache-2.0.
See https://github.com/sigilauth/cli-device/blob/main/LICENSE