Tag Archives: Debian

Debian 13 Trixie Xfce4 desktop

Restore Xfce4 to default settings

I run Debian 13 (Trixie) with KDE (on Wayland) as my daily driver for Android development on a Lenovo ThinkPad P50, with Xfce4 alongside mainly for tinkering. As with everything you tinker with, things tend to break along the way.

Here is a script that will restore Xfce to it’s default desktop settings for the current user.

#!/bin/bash
pkill -KILL xfconfd xfce4-panel xfce4-session xfsettingsd xfdesktop 2>/dev/null || true
 
rm -rf ~/.config/xfce4
rm -rf ~/.cache/xfce4
rm -rf ~/.config/xfconf
rm -rf ~/.cache/sessions
rm -rf ~/.local/share/xfce4
rm -rf ~/.local/share/xfce4-panel

Save it as restore_xfce.sh, and make it executable:

chmod +x restore_xfce.sh

Log out of your Xfce session and switch to a virtual console using Ctrl + Alt + F3, log in with your username and password, and run:

./restore_xfce.sh

Switch back to GUI by pressing Alt + F2 or Alt + F1.

pulseaudio wasting CPU time because of speech-dispatcher

Disable speech-dispatcher on Debian 12

I’m running Debian 12 “Bookworm” on a HP ProBook x360 G1 EE. This “beast” is serving as a Jenkins node running an automated test suite on attached Android devices for GSM Signal Monitor. It also runs xRDP and XFCE as the desktop environment. I’m remoting into the machine from time to time for device management and configuration using scrcpy.

One thing I noticed when running htop and using Firefox to visit sites such as stackoverflow.com was the abnormal CPU utilization by PulseAudio.

After a bit of research, the issue was pinpointed to speech dispatcher auto spawning on demand when called by certain applications.

I don’t use speech synthesis or software synthesizers on this machine (or anywhere, to be fair) and would rather waste CPU cycles on something more useful—such as running complete regression test suites against GSM Signal Monitor when a build is merged into the dev branch, or pre-release testing on 24 devices attached to the little beast.

To prevent speech-dispatcher from auto-spawning on demand, open a terminal and run:

sudo nano /etc/speech-dispatcher/speechd.conf

Locate the “DisableAutoSpawn” option near the bottom of the file and uncomment it. Save the file and restart speech-dispatcher.

sudo systemctl restart speech-dispatcher

Optionally restart Firefox if it’s running.

Now speech-dispatcher should no longer spawn on demand by applications. You can verify that by navigating to a topic on Stack Overflow, for example.

speech-dispatcher disabled, firefox complaining

Firefox should complain that it can’t use speech synthesis.

Console screen resolution (frame buffer) with NVIDIA drivers on Ubuntu, Debian or Linux Mint

After the installation of the proprietary NVidia graphics drivers on Ubuntu, Debian or Linux Mint your console screen resolution will be messed up. As a developer I use the frame buffer console from time to time and I need it at the resolution of my primary monitor (1680×1050). To address the problem (as it’s almost always with GNU/Linux) we need to edit some configuration files and issue some commands.

First start Konsole or other terminal emulator, login as root by typing:

su

and enter your password when prompted.

Using vim, nano or your favourite command line text editor, open /etc/grub.d/00_header. In the example below we are using Vim.

vim /etc/grub.d/00_header

Search for “set gfxmode=${GRUB_GFXMODE}” and below that line add

set gfxpayload=keep

Save and close the file.

Reboot your system and at the Grub2 screen press ‘C’ and type ‘vbeinfo‘. Take a note on the supported frame buffer resolution and choose the one you like. In my case the chosen resolution was 1680x1050x32. Type ‘exit‘ or reboot your system from the restart button.

Start GNU/Linux again, start a terminal emulator, login as root (by typing su) and open “/etc/default/grub“. Uncomment the line “GRUB_GFXMODE=640×480“, change the value after the = sign to the previously chosen screen resolution. In my case:

GRUB_GFXMODE=1680x1050x32

and add the following line below:

GRUB_GFXPAYLOAD_LINUX=keep

Save and close the file.

Still logged as ‘root’ execute the following commands:

update-grub2
update-initramfs -u

Reboot your system. You should now have a frame buffer console with a decent screen resolution.