Trick To Stop XFCE4 From Taking Control of the Desktop

Moderator: Forum moderators

Post Reply
l0wt3ch
Posts: 70
Joined: Thu Jul 16, 2020 1:51 pm
Has thanked: 19 times
Been thanked: 48 times

Trick To Stop XFCE4 From Taking Control of the Desktop

Post by l0wt3ch »

If one installs any part of XFCE4, he runs a risk of xfdesktop trying to take over his desktop. Suddenly the wallpaper changes, you can't see your icons or drives, and you feel like you have to exchange rox-filer (and all of its Puppy customizations, which are important) for XFCE4, which has its own drive management etc., that compete with Puppy's. The moment xfdesktop is installed, which is part of XFCE4, you may experience this problem. You might have only wanted xfce4-panel, and now you have a mess.

An easy way to stop xfdesktop from controlling the desktop without permission is to take its permissions away, and make the binary non-executable:

Code: Select all

chmod -x /usr/bin/xfdesktop

Then you can continue to use the rox pinboard, eventmanager for the drives, rox-filer, etc., even if you install all of the XFCE4 packages, and xfdesktop won't cause any more trouble. Only foreseeable problem is that it might be overwritten in an upgrade and become executable again. If you're running a Debian-based distro like BookwormPup64, we can prevent that by making a 'hook' for APT.

Code: Select all

geany /usr/local/bin/post-apt-xfdesktop.sh

Add this:

Code: Select all

#!/bin/bash
# Remove executable permissions from xfdesktop if it exists
if [ -x /usr/bin/xfdesktop ]; then
    chmod -x /usr/bin/xfdesktop
fi

Make it executable:

Code: Select all

chmod +x /usr/local/bin/post-apt-xfdesktop.sh

Create the hook file:

Code: Select all

geany /etc/apt/apt.conf.d/99disable-xfdesktop

Add:

Code: Select all

DPkg::Post-Invoke { "if [ -x /usr/local/bin/post-apt-xfdesktop.sh ]; then /usr/local/bin/post-apt-xfdesktop.sh; fi"; };

Close the file. Test it:

Code: Select all

apt install --reinstall xfdesktop

Check to see if the permissions have been removed:

Code: Select all

ls -l /usr/bin/xfdesktop

It should no longer have the x (executable) permission.

Canis intrat et circumspectat.

Post Reply

Return to “Tips & Tweaks”