WhitewaterFoundry / Pengwin

A Linux distro optimized for WSL based on Debian.
Other
1.48k stars 105 forks source link

No need to run the desktop with Xrdb - Much better perf with Xephyr! #792

Open chuckmarcotte opened 1 day ago

chuckmarcotte commented 1 day ago

Install Xephyr and Xfce4 first.

$ cat ~/launch_desktop.xfce4 

#!/bin/bash
echo "Current DISPLAY=$DISPLAY"
echo "Finding a free DISPLAY number"
for i in $(seq 1 20);
do
    DISPLAY=":$i" xset q >/dev/null 2>/dev/null ; RET=$?
    if [ "$RET" -ne "0" ] ; then
        export NEW_DISPLAY=":$i"
        break;
    fi
done
echo "Starting Xephyr and a new desktop on DISPLAY=$NEW_DISPLAY"
export XEPHYR_ID 
export DISPLAY
{
    Xephyr "$NEW_DISPLAY" -title "XFCE4 Desktop for $USER" -once -screen 2560x1080 -resizeable >/dev/null 2>/dev/null & XEPHYR_ID="$!" 
    DISPLAY="$NEW_DISPLAY" startxfce4 >/tmp/launch_desktop_xfce4.log 2>&1
    kill $XEPHYR_ID 2>/dev/null
} &

Chuck Marcotte

http://[www.linkedin.com/in/charles-marcotte](http://www.linkedin.com/in/charles-marcotte)

chuckmarcotte commented 1 day ago

Better:

#!/bin/bash
echo "Current DISPLAY=$DISPLAY"
echo "Finding a free DISPLAY number"
for i in $(seq 1 20);
do
    DISPLAY=":$i" xset q >/dev/null 2>/dev/null ; RET=$?
    if [ "$RET" -ne "0" ] ; then
        export NEW_DISPLAY=":$i"
        break;
    fi
done
echo "Starting Xephyr and a new desktop on DISPLAY=$NEW_DISPLAY"
export XEPHYR_ID 
export DISPLAY

nohup Xephyr "$NEW_DISPLAY" -title "XFCE4 Desktop for $USER" -once -screen 2560x1080 -resizeable >/dev/null 2>/dev/null & XEPHYR_ID="$!" &
sleep 2
DISPLAY="$NEW_DISPLAY" nohup startxfce4 >/tmp/launch_desktop_xfce4.log 2>&1 &
disown -a