-
Notifications
You must be signed in to change notification settings - Fork 8
Troubleshooting
This guide helps you diagnose and resolve common issues with Pacsea. If you encounter a problem, follow these steps to gather information and find a solution.
Related guides:
- Installation — Installation and prerequisites
- How to use Pacsea — Usage instructions and workflows
- Configuration — Configuration settings and customization
IMPORTANT: Always run Pacsea with debug logging enabled when reporting issues. This provides crucial diagnostic information.
Method 1: Using the verbose flag (recommended)
pacsea --verbose
# or short form:
pacsea -vMethod 2: Using log-level flag
pacsea --log-level debugMethod 3: Using environment variable
RUST_LOG=pacsea=debug pacseaFor very detailed tracing (preflight operations):
PACSEA_PREFLIGHT_TRACE=1 pacsea --log-level tracePacsea writes logs to:
~/.config/pacsea/logs/pacsea.log
To view the latest log entries:
tail -f ~/.config/pacsea/logs/pacsea.log
# or view the entire log:
cat ~/.config/pacsea/logs/pacsea.logWhen troubleshooting, it's often helpful to filter the log file for warnings and errors only. Here are several methods:
Method 1: Using grep (recommended)
# Extract all warnings and errors
grep -E "(WARN|ERROR|error|warn)" ~/.config/pacsea/logs/pacsea.log
# Case-insensitive search
grep -iE "(warn|error)" ~/.config/pacsea/logs/pacsea.log
# Show context (5 lines before and after each match)
grep -E "(WARN|ERROR|error|warn)" -A 5 -B 5 ~/.config/pacsea/logs/pacsea.log
# Extract only from the last 1000 lines (most recent)
tail -1000 ~/.config/pacsea/logs/pacsea.log | grep -E "(WARN|ERROR|error|warn)"Method 2: Extract warnings and errors separately
# Extract only warnings
grep -i "warn" ~/.config/pacsea/logs/pacsea.log > warnings.txt
# Extract only errors
grep -i "error" ~/.config/pacsea/logs/pacsea.log > errors.txt
# View both files
cat warnings.txt errors.txtMethod 3: Using awk (for more control)
# Extract lines containing WARN or ERROR (case-insensitive)
awk '/[Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr]/' ~/.config/pacsea/logs/pacsea.log
# Extract with timestamps
awk '/[Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr]/ {print}' ~/.config/pacsea/logs/pacsea.logMethod 4: Save filtered output to a file
# Save all warnings and errors to a separate file for easy sharing
grep -E "(WARN|ERROR|error|warn)" ~/.config/pacsea/logs/pacsea.log > pacsea-errors-warnings.txt
# Then you can easily share this file when reporting issues
cat pacsea-errors-warnings.txtMethod 5: Real-time monitoring of errors/warnings
# Watch for new warnings/errors as they occur
tail -f ~/.config/pacsea/logs/pacsea.log | grep --line-buffered -E "(WARN|ERROR|error|warn)"Example output:
2024-01-15 10:23:45.123 [WARN] failed to open log file; using stderr
2024-01-15 10:23:46.456 [ERROR] Failed to execute pacman -Fl package-name: No such file or directory
2024-01-15 10:23:47.789 [WARN] AUR search failed: timeout
Pro tip: When reporting issues, include the filtered warnings/errors output along with a brief description of what you were doing when the issue occurred.
When reporting issues, please include:
- Warnings and errors from logs (see Extracting Warnings and Errors from Logs section above)
- Your Pacsea version (
pacsea --versionor check AUR package) - Your distribution and version
- Terminal emulator and display server (Wayland/X11)
- Steps to reproduce the issue
- Relevant log sections if needed (use the extraction methods above to filter)
Symptoms:
- You expect a fingerprint prompt, but Pacsea never progresses.
- You see password prompts that don’t accept input, or authentication appears stuck.
What to know:
- Pacsea can either pipe a password to the privilege tool (
auth_mode = prompt) or hand off auth to the terminal (auth_mode = interactive). - Fingerprint auth is handled by PAM (e.g.
pam_fprintd) and typically works best with interactive mode.
Fix:
- Edit
~/.config/pacsea/settings.confand set:auth_mode = interactive - If you prefer
doas, also set:and ensure OpenDoas is configured appropriately (often withprivilege_tool = doaspersistin/etc/doas.conf) so you don’t get reprompted for every sub-command.
Symptoms:
- You see a warning before install/update/remove/downgrade about possible re-authentication pauses.
- Long AUR builds or update flows pause and ask for auth again.
What to know:
- Pacsea now performs a readiness check for long-running privileged operations.
- If your tool/policy likely expires credentials mid-run, a one-time warning appears so you can decide whether to continue.
Fix options:
-
For sudo: configure credential cache timeout in a dedicated sudoers drop-in:
sudo visudo -f /etc/sudoers.d/99-pacsea-timestamp # example line: # Defaults timestamp_timeout=30 sudo chmod 0440 /etc/sudoers.d/99-pacsea-timestamp
-
For doas: configure a
persistpolicy in/etc/doas.conf(and PAM/fingerprint stack if used on your system). - Open the built-in helpers:
- Options → Optional Deps →
sudo_timestamp_setup - Options → Optional Deps →
doas_persist_setup
- Options → Optional Deps →
Symptoms:
- The
doas_persist_setuphelper still shows warnings after you editeddoas.conf.
Checks:
- Confirm syntax and ordering in
/etc/doas.conf:doas -C /etc/doas.conf
- Confirm your intended rule includes
persistand matches your user/group and command scope. - Re-test from terminal:
doas -n true # non-interactive check doas true # interactive auth check
- Restart terminal sessions if your PAM/fingerprint stack was changed.
If still failing:
- Run Pacsea with debug logs (
pacsea --verbose) and inspect~/.config/pacsea/logs/pacsea.logfor readiness-check hints.
Symptoms:
- BlackArch packages never appear in search, or the [BlackArch] chip is absent from the Results title bar while you expect BlackArch on your system.
What to know:
- Pacsea only consumes an already-configured BlackArch mirror. It does not add
[blackarch]to/etc/pacman.confor install keys.
Checks:
-
Repo enabled in pacman
grep -E '^\[blackarch\]' /etc/pacman.confIf there is no
[blackarch]section, follow BlackArch’s install instructions first. -
Database sync and list output
sudo pacman -Sy pacman -Sl blackarch | headIf this prints nothing (or errors), Pacsea’s official index merge has no BlackArch data—fix mirror/sync issues with pacman first.
-
Case and name
- Pacsea recognizes the repository name
blackarch(matching is case-insensitive). Custom section names that are not the expected repo id may not be classified as BlackArch.
- Pacsea recognizes the repository name
-
Debug logging
RUST_LOG=pacsea=debug pacsea --dry-run
Then search for a known BlackArch package and inspect
~/.config/pacsea/logs/pacsea.logif results still look wrong.
Expected behavior once configured:
- BlackArch packages appear alongside other official repos, labeled BlackArch, with a clickable [BlackArch] filter chip (default: visible/on, like other optional official filters).
Symptoms:
- You queued an AUR package, but
paru/yaybuilt or installed from a sync repo instead (e.g. Chaotic-AUR ships the same pkgname). - After enabling a new repo,
pacman -Syuor helpers want to replace an AUR build with a repo build and you are unsure it is safe. - Overlap or “reopen Repositories” behavior seems stuck after a failed sudo step.
What to know:
- Pacsea forces AUR-only queue segments to use
paru/yay -S --aur(when those helpers are used) so the helper does not satisfy the request from sync databases. Official/sync names still go throughpacmanas before. - If the same name appears as both an AUR row and a sync row in the current results, Pacsea shows a one-shot warning before continuing the AUR install path.
- After Repositories → Apply, a foreign overlap wizard may appear when
pacman -Qmnames intersect the new repo’spacman -Sllist—optional migration is always explicit (see How to use Pacsea — Custom repositories). - A failed privileged finish clears pending overlap and “resume Repositories” state so you do not get ghost wizards.
Checks:
- Confirm helper and pacman are on
PATH(which paru yay pacman). - Reproduce with
pacsea --dry-runto inspect printed commands. - Inspect
~/.config/pacsea/repos.confand/etc/pacman.d/pacsea-repos.confafter apply (and pacman.conf Include markers) if sync behavior surprises you.
Symptoms:
- No AUR packages appear in search results
- Error messages about AUR connectivity
- Timeout errors when searching
Solutions:
-
Check your network connection:
ping aur.archlinux.org curl -I https://aur.archlinux.org
-
Verify AUR helper is installed:
which paru # or: which yayIf neither is found, install one:
# Install paru git clone https://aur.archlinux.org/paru.git cd paru && makepkg -si # Or install yay git clone https://aur.archlinux.org/yay.git cd yay && makepkg -si
-
Test AUR helper directly:
paru -Ss package-name # or: yay -Ss package-name -
Check firewall/proxy settings:
- Ensure port 443 (HTTPS) is not blocked
- If behind a proxy, configure it in your environment
-
Clear Pacsea cache:
pacsea --clear-cache
-
Run with debug logging to see detailed error messages:
pacsea --verbose # Check ~/.config/pacsea/logs/pacsea.log for specific errors
Symptoms:
- Nothing happens when pressing Enter to install
- No terminal window opens
- Installation commands don't execute
Solutions:
-
Verify terminal emulator is installed: Pacsea tries these terminals in order:
-
alacritty,kitty,ghostty,xterm -
gnome-terminal,konsole,xfce4-terminal,tilix,mate-terminal - If no terminal emulator is found, Pacsea attempts to execute commands directly via
bash, but this may not work properly if you're not already in a terminal environment
Install at least one terminal emulator:
sudo pacman -S alacritty # or your preferred terminal -
-
Set preferred terminal in config: Edit
~/.config/pacsea/settings.conf:preferred_terminal = alacrittyChanges to
preferred_terminaltake effect automatically (settings are read fresh from disk). For theme changes, pressCtrl+Rto reload. -
Test sudo access:
sudo -v
If you use
doas, test it instead:doas -n true # passwordless check (will fail if a prompt would be required) doas true # interactive auth
If this fails, configure sudo properly:
# Add your user to wheel group (if not already) sudo usermod -aG wheel $USER # Log out and back in for changes to take effect
-
Verify sudoers configuration: Ensure your user can run sudo without password (optional but recommended). Pacsea supports passwordless sudo for install, update, and downgrade: when configured, no password prompt is shown for those operations. Remove operations always ask for a password for safety. You must also enable passwordless sudo in Pacsea settings: set
use_passwordless_sudo = trueinsettings.conf(Config → Settings), or it will not be used. See Configuration and How to use Pacsea for details. If you want fingerprint/PAM prompts, preferauth_mode = interactive(see above).sudo visudo # Add line: yourusername ALL=(ALL) NOPASSWD: ALL -
Check terminal permissions: Ensure the terminal binary is executable:
ls -l $(which alacritty) # or your terminal
-
Run with debug logging:
pacsea --verbose # Look for terminal-related errors in ~/.config/pacsea/logs/pacsea.log
Symptoms:
- Installation starts but fails mid-process
- Dependency errors
- Permission denied errors
Solutions:
-
Verify disk space:
df -h
-
Check for conflicting packages:
sudo pacman -Syu # Update system first -
Review package dependencies:
- Use the Preflight modal (if
skip_preflight = falseinsettings.conf) - Check for dependency conflicts before installing
- Use the Preflight modal (if
-
For AUR packages:
- Ensure
base-develgroup is installed:sudo pacman -S --needed base-devel
- Check PKGBUILD for special requirements
- Review AUR comments for known issues
- Ensure
-
Run installation manually to see detailed errors:
# For official packages: sudo pacman -S package-name # For AUR packages: paru -S package-name # or: yay -S package-name
Symptoms:
- Config changes don't take effect
- Errors about unknown config keys
- Theme/colors not applying
- Import operations fail with invalid package names
Solutions:
-
Reload configuration:
-
Theme (
theme.conf): PressCtrl+Rin Pacsea to explicitly reload theme colors and styling -
Settings (
settings.conf): Changes take effect automatically — no reload needed (settings are read fresh from disk) -
Keybinds (
keybinds.conf): Changes take effect automatically — no reload needed (keybinds are read fresh from disk) - For complete configuration documentation, see Configuration
-
Theme (
-
Check config file locations:
ls -la ~/.config/pacsea/ # Should show: settings.conf, theme.conf, keybinds.conf
-
Validate config syntax:
- Ensure
key = valueformat (spaces around=) - Check for typos in key names
- Verify color formats:
#RRGGBBorR,G,B(0-255)
- Ensure
-
Reset to defaults:
# Backup current config cp -r ~/.config/pacsea ~/.config/pacsea.backup # Remove config files (Pacsea will recreate defaults) rm ~/.config/pacsea/settings.conf rm ~/.config/pacsea/theme.conf rm ~/.config/pacsea/keybinds.conf # Restart Pacsea
-
Check config file permissions:
ls -l ~/.config/pacsea/*.conf # Should be readable/writable by your user
-
Package import validation: Enhanced input validation in import modals now provides better error messages for invalid package names. If importing packages fails:
- Check that package names are valid (no special characters, proper format)
- Ensure one package name per line in import files
- Comments (lines starting with
#) are automatically ignored - Invalid entries are now caught earlier with clearer error messages
-
Theme file incomplete, empty, or colors fail at startup:
- Current behavior: Before the first theme draw, Pacsea migrates legacy layouts when needed, then repairs the active theme file: missing palette colors are appended from built-in defaults; a missing or zero-byte file gets the full default skeleton. The path rules match normal loading (see Configuration and Startup: migration and automatic key completion).
- Open
theme.confafter a repair—you may see a trailing section starting with# Missing theme keys added automatically. You can edit those lines or replace them with your own theme; pressCtrl+Rafterward to reload the theme in the TUI. - If problems continue, the file may contain duplicates, invalid colors, or permission issues. Check
ls -l ~/.config/pacsea/theme.conf, free disk space, and runpacsea --verbose(orRUST_LOG=pacsea=debug pacsea) while reading~/.config/pacsea/logs/pacsea.log. The config loader reports line numbers for parse errors—fix those manually; they are not auto-corrected.
Symptoms:
- UI doesn't render correctly
- Colors look wrong
- Terminal size issues
- Mouse clicks not working
Solutions:
-
Check terminal size:
echo $COLUMNS $LINES # Minimum recommended: 80x24
-
Verify terminal supports required features:
- True color support
- Mouse reporting
- Unicode characters
-
Test with different terminal: Try running Pacsea in a different terminal emulator to isolate the issue.
-
Check display server:
echo $XDG_SESSION_TYPE # Should show: wayland or x11
-
For Wayland-specific issues:
- Ensure
wl-clipboardis installed for clipboard features - Some terminals may have limited mouse support
- Ensure
-
For X11-specific issues:
- Ensure
xclipis installed for clipboard features - Verify X server is running:
echo $DISPLAY
- Ensure
Symptoms:
- Slow search results
- UI lag/freezing
- High CPU/memory usage
Solutions:
-
Clear cache:
pacsea --clear-cache
-
Check system resources:
htop # or: top -
Reduce search scope:
- Use more specific search terms
- Narrow results with repository chips in the Results title bar (core/extra/multilib/AUR and optional badges such as [BlackArch] when that repo is indexed)
-
Disable unnecessary features: Edit
~/.config/pacsea/settings.conf:show_recent_pane = false show_keybinds_footer = false
-
Check network latency:
ping aur.archlinux.org
Symptoms:
- Scans don't run
- Scanner tools not found
- VirusTotal API errors
Solutions:
-
Install required scanner tools: Use the TUI Optional Deps modal (Options → Optional Deps) or install manually:
sudo pacman -S clamav trivy semgrep-bin shellcheck
-
Configure VirusTotal API key:
- Open Optional Deps modal (Options → Optional Deps)
- Navigate to "Security: VirusTotal API"
- Press Enter to configure your API key
- Or edit
~/.config/pacsea/settings.conf:virustotal_api_key = your-api-key-here
-
Verify scanner tools are in PATH:
which clamscan trivy semgrep shellcheck
-
Check scanner permissions: Some scanners may require specific permissions or database updates:
sudo freshclam # Update ClamAV database
Symptoms:
- Preflight modal doesn't appear
- Can't access security scans
- Modal blocks UI unexpectedly
Solutions:
-
Enable Preflight modal: Edit
~/.config/pacsea/settings.conf:skip_preflight = falseChanges to
skip_preflighttake effect automatically (settings are read fresh from disk). For theme changes, pressCtrl+Rto reload. For details about the Preflight modal, see How to use Pacsea and Configuration. -
Modal navigation:
- Use Tab/Shift+Tab to navigate
- Press
Sto open Scan Configuration - Press Enter to confirm actions
- Press Esc to cancel
-
If modal blocks UI:
- This is intentional to prevent accidental actions
- Press Esc to close the modal
- Complete or cancel the current operation first
Symptoms:
- Mirror update fails
- Wrong mirror tool used
- Update commands don't execute
Solutions:
-
Verify distro detection: Pacsea auto-detects your distribution. Check detection:
cat /etc/os-release
-
Install correct mirror tool:
-
Arch:
sudo pacman -S reflector -
Manjaro:
sudo pacman -S pacman-mirrors -
EndeavourOS:
sudo pacman -S eos-rankmirrors -
CachyOS:
sudo pacman -S cachyos-rate-mirrors
-
Arch:
-
Configure mirror settings: Edit
~/.config/pacsea/settings.conf:selected_countries = Switzerland, Germany, Austria mirror_count = 20
-
Test mirror tool manually:
# Arch sudo reflector --country Switzerland --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist # Manjaro sudo pacman-mirrors --geoip
-
Enhanced error handling: Pacsea now provides improved error messages and recovery for mirror index operations. If you encounter issues, check the logs for detailed error information:
pacsea --verbose # Check ~/.config/pacsea/logs/pacsea.log for mirror-related errors
If none of the above solutions resolve your issue:
-
Gather diagnostic information:
# Run with debug logging pacsea --verbose > pacsea-output.txt 2>&1 # Collect system information echo "=== System Info ===" > diagnostic.txt uname -a >> diagnostic.txt cat /etc/os-release >> diagnostic.txt pacsea --version >> diagnostic.txt echo "=== Warnings and Errors ===" >> diagnostic.txt grep -iE "(warn|error)" ~/.config/pacsea/logs/pacsea.log >> diagnostic.txt echo "=== Last 100 Log Lines ===" >> diagnostic.txt tail -100 ~/.config/pacsea/logs/pacsea.log >> diagnostic.txt
-
Check existing issues:
-
Create a new issue:
- Include the diagnostic information gathered above
- Describe steps to reproduce
- Mention what you've already tried
-
For security issues:
- Email: firstpick1992@proton.me
- Subject: "[Pacsea Security]"
- See SECURITY.md for details
# Enable debug logging
pacsea --verbose
# View live log output
tail -f ~/.config/pacsea/logs/pacsea.log
# Extract warnings and errors from logs
grep -iE "(warn|error)" ~/.config/pacsea/logs/pacsea.log
# Extract warnings/errors from recent logs only
tail -1000 ~/.config/pacsea/logs/pacsea.log | grep -iE "(warn|error)"
# Save warnings/errors to file
grep -iE "(warn|error)" ~/.config/pacsea/logs/pacsea.log > pacsea-errors-warnings.txt
# Clear cache
pacsea --clear-cache
# Check version
pacsea --version
# Test AUR connectivity
curl -I https://aur.archlinux.org
# Test terminal
which alacritty kitty xterm gnome-terminal
# Test sudo
sudo -v
# Check config files
ls -la ~/.config/pacsea/
cat ~/.config/pacsea/settings.conf