39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
LOG_FILE="$HOME/claude-desktop-launcher.log"
|
|
echo "--- Claude Desktop Launcher Start ---" >> "$LOG_FILE"
|
|
echo "Timestamp: $(date)" >> "$LOG_FILE"
|
|
echo "Arguments: $@" >> "$LOG_FILE"
|
|
|
|
if ! command -v electron33 &> /dev/null; then
|
|
echo "Error: electron33 is not installed. Please install it with 'xbps-install -S electron33'" | tee -a "$LOG_FILE"
|
|
exit 1
|
|
fi
|
|
|
|
IS_WAYLAND=false
|
|
if [ ! -z "$WAYLAND_DISPLAY" ]; then
|
|
IS_WAYLAND=true
|
|
echo "Wayland detected" >> "$LOG_FILE"
|
|
fi
|
|
|
|
APP_PATH="/usr/lib/claude-desktop/app.asar"
|
|
if [ ! -f "$APP_PATH" ]; then
|
|
echo "Error: Claude Desktop app.asar not found at $APP_PATH" | tee -a "$LOG_FILE"
|
|
exit 1
|
|
fi
|
|
|
|
ELECTRON_ARGS=("$APP_PATH")
|
|
|
|
if [ "$IS_WAYLAND" = true ]; then
|
|
echo "Adding Wayland flags" >> "$LOG_FILE"
|
|
ELECTRON_ARGS+=("--enable-features=UseOzonePlatform,WaylandWindowDecorations" "--ozone-platform=wayland")
|
|
fi
|
|
|
|
echo "Changing directory to /usr/lib/claude-desktop" >> "$LOG_FILE"
|
|
cd /usr/lib/claude-desktop || { echo "Failed to cd to /usr/lib/claude-desktop" >> "$LOG_FILE"; exit 1; }
|
|
|
|
echo "Executing: electron33 ${ELECTRON_ARGS[*]} $*" >> "$LOG_FILE"
|
|
electron33 "${ELECTRON_ARGS[@]}" "$@" >> "$LOG_FILE" 2>&1
|
|
EXIT_CODE=$?
|
|
echo "Electron exited with code: $EXIT_CODE" >> "$LOG_FILE"
|
|
echo "--- Claude Desktop Launcher End ---" >> "$LOG_FILE"
|
|
exit $EXIT_CODE
|