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 17th October, 2020, KST.

Note that I’m using Raspberry Pi 4 B 8GB and Argon One Raspberry Pi 4 Case, Argon One Raspbery Pi 4 Power Supply, 15.6-inch portable HDMI monitor, Jun-Electron Camera Module, TP-Link Archer T2U Plus, Sandisk MicroSDXC Extreme Pro UHS-I U3 V30 A1 64GB, additional 256GB SDXC micro SD card, 32GB USB OTG, externel HDD, Raspberry Pi official keyboard and mouse, 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.

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 eneble Camera module. Also update Raspberry Pi Linux Kernel, copy some configurations from USB, install rtl8812au driver, and reboot Pi.

sudo nano /boot/config.txt
# uncomment i2c_arm and i2s, spi
# disable dtparam=audio,
# add in [pi4],
# add in [all],
sudo BRANCH=next rpi-update -y && cd usb_dir && sudo cp sysctl.conf /etc && sudo cp raspi-config /etc/init.d
Install rtl8812au driver
sudo reboot

Now, remove default user pi and update softwares, remove old unused kernel. Current Raspberry Pi Linux Kernel is 5.9.y so the old version isn’t needed.

sudo userdel -r pi && sudo apt -y update && sudo apt -y full-upgrade && sudo rm -r /lib/modules/4* /lib/modules.bak/4*

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 remove rp-bookshelf mousepad thonny vim-tiny dillo vlc libvlc-bin realvnc-vnc-server chromium-browser chromium-codecs-ffmpeg-extra && sudo apt -y remove leafpad && sudo apt -y autoremove && sudo rm -r /etc/chromium* /etc/dillo && sudo apt -y install mage ibus ibus-hangul fonts-unfonts-core fonts-noto-cjk 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 gnucash gimp mypaint-brushes gmic webp parallel imagemagick mesa-vulkan-drivers vulkan-utils mesa-utils alsa-firmware-loaders audacious calf-plugins qt5-default libqt5svg5-dev libasound2-dev libjack-jackd2-dev portaudio19-dev librtmidi-dev libstk0-dev libqcustomplot-dev libvorbis-dev libogg-dev libflac-dev opus-tools lame picard kdenlive 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 npm apache2 php mariadb-server wordpress safeeyes redshift aria2 rpi-imager krename

While Raspberry Pi installs the libraries, I will set a desktop preference and copy the necessary files and manually install the Argon One script, 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)
  • Add CPU Usage Monitor+CPU Temperature Monitor+Minimize All Windows
  • LXTerminal preferences: fontsize 16, background #282a36, foreground #f8f8f2
  • Copy HomeSetFiles Docs Works Dropbox-Uploader Ren’Py Twine Markdown-Editor Zsign Polyphone Piskel Fonts Soundfonts fre:ac GitHub-Clones
  • Install Min Waveform Collective DEC Carla GX Dexed Helm TAL Vex Oxe Zynaddsubfx VoxelShop IzPack Jellyfin

Well done. configure the basic UFW firewall and install 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 && 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 --use-feature=2020-resolver && cd /usr/lib/vst && sudo rm Hi* Juce* ReF* Stereo* && sudo cp ~/Documents/doc/*.desktop /usr/share/applications && cd ~/Documents/doc && ./

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
  • Always run vwebp for WebP format
  • Always run gpicview for JPG and PNG format
  • Always run omxplayer for all video formats
  • Install writer2pub plugin to Libreoffice Writer