Sin kdeglobals Qt caía al tema de iconos hicolor (vacío) ⇒ dolphin pelado. Ahora siembra [Icons]Theme=breeze + QT_QPA_PLATFORMTHEME=kde ⇒ aplica iconos + estilo Breeze + colores. El motor SVG (libqsvgicon/libqsvg/libQt6Svg) ya estaba hidratado. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
53 lines
2.6 KiB
Bash
Executable File
53 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
# nested-app.sh — corre una app KDE hidratada como VENTANA ANIDADA en el compositor mirada actual
|
|
# (WAYLAND_DISPLAY=/run/mirada-wayland), vía bwrap overlay (alpine+kde-rootfs como /). NO toca la GPU
|
|
# como master (es cliente wayland; renderiza por renderD128/iris). Seguro sobre una sesión viva.
|
|
# APP=konsole SECS=20 scripts/kde/nested-app.sh
|
|
set -u
|
|
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"; cd "$ROOT"
|
|
R="${RFS:-$ROOT/work/kde-rootfs}"; A="$ROOT/.dev-fs/alpine"
|
|
APP="${APP:-konsole}"; SECS="${SECS:-20}"
|
|
HOST_WL="${HOST_WL:-/run/mirada-wayland}"
|
|
exec bwrap --overlay-src "$A" --overlay-src "$R" --tmp-overlay / \
|
|
--dev-bind /dev /dev --proc /proc --bind /sys /sys --tmpfs /tmp --tmpfs /run \
|
|
--bind "$HOST_WL" "$HOST_WL" \
|
|
--uid 0 --gid 0 \
|
|
--setenv PATH /usr/bin:/bin:/usr/sbin:/sbin \
|
|
--setenv LD_LIBRARY_PATH /usr/lib64:/usr/lib/qt6:/usr/lib:/lib \
|
|
--setenv QT_PLUGIN_PATH /usr/lib64/qt6/plugins:/usr/lib/qt6/plugins \
|
|
--setenv QML2_IMPORT_PATH /usr/lib64/qt6/qml:/usr/lib/qt6/qml \
|
|
--setenv QML_IMPORT_PATH /usr/lib64/qt6/qml:/usr/lib/qt6/qml \
|
|
--setenv XDG_DATA_DIRS /usr/share --setenv XDG_RUNTIME_DIR /run/user/0 \
|
|
--setenv XDG_CONFIG_HOME /run/cfg --setenv XDG_CACHE_HOME /run/cache --setenv HOME /root \
|
|
--setenv LIBGL_DRIVERS_PATH /usr/lib/dri --setenv LIBGL_DRIVERS_PATH /usr/lib/dri \
|
|
--setenv QT_QPA_PLATFORM wayland --setenv WAYLAND_DISPLAY "$HOST_WL" \
|
|
--setenv QT_QPA_FONTDIR /usr/share/fonts/dejavu \
|
|
--setenv QT_QPA_PLATFORMTHEME kde \
|
|
--setenv SHELL /bin/sh \
|
|
--setenv QT_LOGGING_RULES 'qt.qpa.wayland=false' \
|
|
sh -c '
|
|
mkdir -p /run/user/0 /run/dbus /run/cfg /run/cache /root/.config /etc; chmod 700 /run/user/0
|
|
# kdeglobals: sin esto Qt cae al tema de iconos "hicolor" (vacío) ⇒ dolphin pelado. Con el plugin
|
|
# KDEPlasmaPlatformTheme (QT_QPA_PLATFORMTHEME=kde) esto aplica estilo breeze + iconos + colores.
|
|
cat > /run/cfg/kdeglobals <<EOF
|
|
[Icons]
|
|
Theme=breeze
|
|
|
|
[General]
|
|
ColorScheme=BreezeLight
|
|
widgetStyle=Breeze
|
|
|
|
[KDE]
|
|
widgetStyle=Breeze
|
|
EOF
|
|
[ -s /etc/machine-id ] || cat /proc/sys/kernel/random/uuid | tr -d - > /etc/machine-id
|
|
export DBUS_SESSION_BUS_ADDRESS=$(dbus-daemon --session --fork --print-address 2>/dev/null)
|
|
echo "dbus=${DBUS_SESSION_BUS_ADDRESS:-VACIO} wl='"$HOST_WL"' app='"$APP"'"
|
|
timeout '"$SECS"' /usr/bin/'"$APP"' >/tmp/nested-'"$APP"'.log 2>&1 &
|
|
PID=$!
|
|
sleep 6
|
|
echo "=== proceso vivo? ==="; kill -0 $PID 2>/dev/null && echo " ✓ '"$APP"' corriendo (PID $PID) — mirá tu pantalla" || echo " ✗ murió"
|
|
echo "=== log (tail) ==="; tail -15 /tmp/nested-'"$APP"'.log
|
|
wait $PID 2>/dev/null
|
|
'
|