Personalized Raspberry Pi 4 B Micro Desktop Setting

This article records the my own Raspberry Pi 4 micro-desktop settings, so you don’t have to repeat it.

Last modified on 4th May, 2021, KST.

Note that I’m using Raspberry Pi 4 B 8GB and RasPad 3 that Noctua NF-A4 10 5V 40x10mm Premium Quiet Fan assembled, Sandisk MicroSDXC Extreme Pro UHS-I U3 V30 A1 64GB and 128GB sub, and 64GB backup MicroSDXC, Anker 2in1 USB 3.0 SD Card Reader, TOZO NC9 Hybrid ANC Earbuds, Audio Injector Isolated DAC and ADC Sound Card and XLR preamplifier, Audio Technica AT2035 Condenser Microphone, OneOdio Pro-50 Headphones, AKAI MPK Mini MK3 MIDI Keyboard, and others. I’m waiting for the next Audio Injector Phantom Power preamplifier.

First boot RasPiOS 64Bit, and after finished initial setup I will add my user and set the host, then reboot Pi.

sudo adduser lee-yunseok
sudo nano /etc/systemd/system/autologin@.service (change autologin user)
sudo nano /etc/lightdm/lightdm.conf (change autologin user)
sudo usermod -a -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,gpio,i2c,spi lee-yunseok
sudo nano /etc/sudoers (add permission)
sudo nano /etc/hostname (change hostname)
sudo nano /etc/hosts (change hostname)

Next performance overclock Pi, enable the Audio Injector Isolated Sound Card and update Raspberry Pi Linux Kernel, copy some configurations from USB, and reboot Pi.

sudo nano /boot/config.txt
# uncomment i2c_arm, i2s, spi
# disable dtparam=audio,
# add in [pi4],
# add in [all],
sudo PRUNE_MODULES=1 SKIP_BACKUP=1 rpi-update && cd usb_dir && sudo cp sysctl.conf /etc && sudo cp raspi-config /etc/init.d && sudo reboot

Now, remove default user pi and update softwares.

sudo userdel -r pi && sudo apt -y update && sudo apt -y full-upgrade

I like GNU Nano but I don’t like its default appearance. So I need a little salt there.

sudo nano /etc/nanorc
remove # to linenumbers, softwrap, tabsize and edit tabsize 8 to 4, numbercolor and edit numbercolor to magenta

Good. Now I remove pre-installed components that I am not using and install the software I need.

sudo apt -y purge rp-bookshelf mousepad thonny vim-tiny dillo gpicview omxplayer realvnc-vnc-server chromium-browser chromium-codecs-ffmpeg-extra && sudo apt -y purge leafpad && sudo rm -r /etc/chromium* /etc/dillo && sudo apt -y install mage ibus ibus-hangul onboard mousetweaks fonts-unfonts-core fonts-noto-cjk bluez zip p7zip unrar-free exfat-fuse checkinstall software-properties-common gconf2 gvfs-bin pv libappindicator1 libpango1.0-0 geany-plugin-overview geany-plugin-automark geany-plugin-git-changebar nixnote2 libreoffice-writer libreoffice-calc fbreader gnucash gimp mypaint-brushes gmic webp parallel imagemagick mesa-vulkan-drivers vulkan-utils mesa-utils alsa-firmware-loaders pulseaudio-module-bluetooth audacious calf-plugins qt5-default libqt5svg5-dev qt5-image-formats-plugins libasound2-dev libjack-jackd2-dev portaudio19-dev librtmidi-dev libstk0-dev libqcustomplot-dev libvorbis-dev libogg-dev libflac-dev opus-tools lame picard kdenlive at default-jdk poedit git-lfs git-svn clamav clamav-daemon rkhunter ufw python3-pip python3-liblo python3-pyqt5.qtsvg libgirepository1.0-dev libcairo2-dev cmake ruby-full clang ninja meson npm apache2 php mariadb-server wordpress safeeyes redshift aria2 rpi-imager krename && sudo apt -y autoremove

While Raspberry Pi installs the libraries, I will set my desktop preference and copy the necessary files, softwares that cannot be installed with APT or need the latest. Large projects are stored on external hard drives.

  • Set desktop fontsize(16,14), wallpaper(/usr/share/rpdwallpaper), For medium screen
  • Add Minimize All Windows+Desktop Number/Workspace
  • LXTerminal preferences: fontsize 16, background #282a36, foreground #f8f8f2
  • Copy HomeSetFiles Docs Works Ren’Py Quadplay Twine Markdown-Editor Polyphone Piskel Fonts Soundfonts fre:ac GitHub-Clones
  • Install Min Waveform Collective DEC Carla GX Dexed Helm TAL Vex Oxe Zynaddsubfx qView VoxelShop IzPack Jellyfin MEGAsync RetroPie

Well done. configure the basic UFW firewall and additional required softwares, Python modules, and NodeJS modules. Then remove unnecessary VST plugins.

sudo rkhunter --propupd && sudo ufw allow 22 && sudo ufw allow 80 && sudo ufw allow 8096 && sudo ufw allow from; sleep 60 && sudo ufw --force enable && sudo apt install -y openvpn dialog && sudo pip3 install protonvpn-cli icloudpd bpytop && sudo apt clean all && sudo protonvpn init && cd /usr/lib/nodejs && sudo npm i -g n && sudo n stable && sudo npm i -g node-modules && sudo gem i jekyll bundler && pip install pytinypng && sudo pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 sudo pip3 install -U --ignore-installed pip && cd /usr/lib/vst && sudo rm Hi* Juce* ReF* Stereo* && pactl load-module module-bluetooth-discover

Almost complete. Now configure detailed tuning.

  • Desktop Preferences: Move menubar to bottom+Very large size, Iconify
  • Set iBus, Safeeyes and hide from menubar
  • Set Jellyfin in the Min Browser
  • Bluetooth pair with TOZO NC9 Hybrid ANC Earbuds
  • Always run qView for image formats
  • Always run VLC for video formats
  • Always run fbreader for ePub format
  • Install writer2pub plugin to Libreoffice Writer
  • Create Menu Shortcut for fre:ac, PolyPhone, Ren’Py, RetroPie