Xfce Forum

Sub domains
 

You are not logged in.

#1 2025-07-18 20:48:40

Jakob77
Member
Registered: 2022-11-03
Posts: 69
LinuxFirefox 140.0

Xfce health check performed by AI script

The script below is made for Xfce testing (at the moment mostly for MX-Linux) by:
https://chat.openai.com
.. and me a little.

I don't know much about the coding (or the output. lol). It is still under development and way over my level, so therefore I can at the moment only recommend it to be used on a test computer.
However I made the AI work hard for a long time so I hope it can end up with something useful.

If someone is curious enough and do a test I will naturally like to see some discussion about the output.

I wish you all a very good week-end. :-)



#!/bin/bash

# Xfce Diagnose Script for MX Linux
# Built for detailed, non-destructive analysis of the desktop environment
# Language: English | Compatibility: Xfce 4.x / MX Linux / Live or installed

# ========== Setup ==========
USER_HOME="$HOME"
LIVE_MODE=false
[[ "$(grep -i 'boot=live' /proc/cmdline)" ]] && LIVE_MODE=true

# Terminal formatting
bold=$(tput bold)
normal=$(tput sgr0)
green="${bold}✅${normal}"
yellow="${bold}⚠️${normal}"
red="${bold}❌${normal}"

echo "-----------------------------------------"
echo "🔎 ${bold}Xfce Desktop Diagnostic – MX Linux${normal}"
echo "All checks are non-destructive and provide suggestions."
echo "Live Mode: $([ "$LIVE_MODE" = true ] && echo "Yes" || echo "No")"
echo "-----------------------------------------"

# ========== 1. Panel Status ==========
echo
echo "[1] Panel Status:"
if pgrep xfce4-panel > /dev/null; then
    echo "$green xfce4-panel is running."
    plugin_count=$(xfconf-query -c xfce4-panel -p /panels -l 2>/dev/null | wc -l)
    if [[ $plugin_count -lt 2 ]]; then
        echo "$yellow Very few panel components detected – possibly incomplete panel setup."
    fi
else
    echo "$red xfce4-panel is NOT running."
    echo "   ➤ Suggestion: Run 'xfce4-panel &' or reset panel config:"
    echo "     mv ~/.config/xfce4/panel ~/.config/xfce4/panel.bak && xfce4-panel &"
fi

# ========== 2. xfdesktop status ==========
echo
echo "[2] Desktop Handler (xfdesktop):"
if pgrep xfdesktop > /dev/null; then
    echo "$green xfdesktop is running."
else
    echo "$red xfdesktop is NOT running – no desktop icons or right-click menu expected."
    echo "   ➤ Suggestion: Start manually with 'xfdesktop &'"
fi

# ========== 3. Thunar check ==========
echo
echo "[3] File Manager (Thunar):"
if command -v thunar >/dev/null; then
    if thunar --daemon --quit 2>/dev/null; then
        echo "$green Thunar responded correctly."
    else
        echo "$yellow Thunar is installed but not responding normally."
        echo "   ➤ Suggestion: Try 'thunar --daemon &' or reset config:"
        echo "     mv ~/.config/Thunar ~/.config/Thunar.bak"
    fi
else
    echo "$red Thunar is not installed!"
fi

# ========== 4. Autostart Analysis ==========
echo
echo "[4] Autostart Applications:"
autostart_dir="$USER_HOME/.config/autostart"
if [ -d "$autostart_dir" ]; then
    broken=0
    for file in "$autostart_dir"/*.desktop; do
        grep -q "^Exec=" "$file" || { echo "$yellow Missing Exec in: $(basename "$file")"; ((broken++)); }
    done
    if [[ $broken -eq 0 ]]; then
        echo "$green All autostart entries have valid Exec lines."
    fi
else
    echo "$yellow No custom autostart directory found."
fi

# ========== 5. Session Files ==========
echo
echo "[5] Session Management:"
session_dir="$USER_HOME/.cache/sessions"
if [ -d "$session_dir" ]; then
    file_count=$(find "$session_dir" -type f | wc -l)
    if [[ $file_count -gt 0 ]]; then
        echo "$green Session files found: $file_count"
    else
        echo "$yellow Session directory exists but is empty."
    fi
else
    echo "$yellow Session directory not found."
fi

# ========== 6. Theme & Icons ==========
echo
echo "[6] Theme and Icon Sets:"
theme=$(xfconf-query -c xsettings -p /Net/ThemeName 2>/dev/null)
icons=$(xfconf-query -c xsettings -p /Net/IconThemeName 2>/dev/null)
echo "   Current theme: $theme"
echo "   Icon theme:    $icons"

[[ -d /usr/share/themes/$theme ]] && echo "$green Theme exists." || echo "$red Theme '$theme' is missing."
[[ -d /usr/share/icons/$icons ]] && echo "$green Icon theme exists." || echo "$red Icon theme '$icons' is missing."

# ========== 7. Compositor ==========
echo
echo "[7] Compositor Check:"
if xfconf-query -c xfwm4 -p /general/use_compositing | grep -q true; then
    running=$(pgrep -l zcompton || pgrep -l picom || true)
    if [[ "$running" != "" ]]; then
        echo "$yellow Compositing enabled, but other compositor detected: $running"
        echo "   ➤ Possible conflict with Xfwm4 built-in compositor."
    else
        echo "$green Xfwm4 compositor is active and no conflicts detected."
    fi
else
    echo "$yellow Compositing is disabled."
fi

# ========== 8. D-Bus Status ==========
echo
echo "[8] D-Bus Check:"
if dbus-send --session --dest=org.freedesktop.DBus --type=method_call / org.freedesktop.DBus.ListNames >/dev/null 2>&1; then
    echo "$green D-Bus session is active."
else
    echo "$red D-Bus session is NOT active."
    echo "   ➤ Suggestion: Reboot or ensure session started via proper login manager (e.g. lightdm)"
fi

# ========== 9. xsession-errors ==========
echo
echo "[9] Session Log Errors:"
log="$USER_HOME/.xsession-errors"
if [ -f "$log" ]; then
    errors=$(grep -Ei "(error|failed|critical)" "$log" | tail -n 5)
    if [[ "$errors" != "" ]]; then
        echo "$yellow Detected recent issues:"
        echo "$errors"
    else
        echo "$green No critical errors found in xsession log."
    fi
else
    echo "$yellow No .xsession-errors log found."
fi

# ========== Summary ==========
echo
echo "-----------------------------------------"
echo "🧾 ${bold}Xfce diagnostic complete.${normal}"
echo "Please review any ${yellow}warnings${normal} or ${red}errors${normal} listed above."
echo "This script does not modify your system – all actions must be taken manually."
echo "-----------------------------------------"

Offline

#2 2025-07-20 06:10:02

Jakob77
Member
Registered: 2022-11-03
Posts: 69
LinuxFirefox 140.0

Re: Xfce health check performed by AI script

AI estimated compatibility with other major distros.

Distribution Compatibility (%):

MX Linux Xfce 100% ✅ Primary target audience

Xubuntu 95% ✅ Very tight structure, but different default themes/autostarts

Linux Mint Xfce 90–95% ✅ Small differences in session names and log files

Manjaro Xfce 85–90% ⚠️ Possible naming differences in .desktop and use of picom/kwin

Debian Xfce 85–90% ⚠️ Depends on installation method

Arch Linux (Xfce) 80–90% ⚠️ Minimal base + many variations in user setup

Fedora Xfce Spin 75–85% ⚠️ Typically uses slightly different session management

Garuda, EndeavourOS 60–75% ⚠️ Wayland/Hyprland/picom etc. often preinstalled, broken from standard Xfce

💡 Important: In all non-MX cases it will still work, but you should expect false warnings or some checks to miss (especially session, autostarts, compositor and .xsession-errors).

Offline

#3 Yesterday 11:45:43

asterix
Member
Registered: 2025-09-15
Posts: 6
UnknownOpera 95.0

Re: Xfce health check performed by AI script

The Linux Mint Xfce that was used in the previous post, was it the LMDE version or the Ubunutu based version?

Offline

#4 Yesterday 13:16:09

Jakob77
Member
Registered: 2022-11-03
Posts: 69
LinuxFirefox 142.0

Re: Xfce health check performed by AI script

asterix wrote:

The Linux Mint Xfce that was used in the previous post, was it the LMDE version or the Ubunutu based version?

That is maybe a very good question, that it can be great if you ask the AI directly and bring the result here.
Just ask how compatible the script below is with this and that, and then paste it the whole script.

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 553.46 KiB (Peak: 554.3 KiB) ]