Memo for Debian GNOME Installation and Configuration

This document serves as a summary of the experience of installing and configuring Debian GNOME, intended for future self-reference.

The hardware configuration summarized in this document is as follows.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
       _,met$$$$$gg.          root@debian 
    ,g$$$$$$$$$$$$$$$P.       ----------- 
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 12 (bookworm) x86_64 
 ,$$P'              `$$$.     Host: MS-TZZ H610ITX 2.5G E2.0G 
',$$P       ,ggs.     `$$b:   Kernel: 6.1.0-20-amd64 
`d$$'     ,$P"'   .    $$$    Uptime: 11 mins 
 $$P      d$'     ,    $$P    Packages: 2619 (dpkg), 17 (flatpak) 
 $$:      $$.   -    ,d$$'    Shell: bash 5.2.15 
 $$;      Y$b._   _,d$P'      Terminal: gnome-terminal 
 Y$$.    `.`"Y$$$$P"'         CPU: 12th Gen Intel i3-12100F (8) @ 5.500GHz 
 `$$b      "-.__              GPU: NVIDIA GeForce RTX 3060 Lite Hash Rate 
  `Y$$                        Memory: 2733MiB / 64144MiB 
   `Y$$.
     `$$b.                                            
       `Y$$b.                                         
          `"Y$b._
              `"""

Installation

Firstly, during storage configuration, it’s important to note:

Create three partitions:

1
2
3
1024 EFI
1024 ext2 /boot
max btrfs /

Then proceed with NO YES.

zRAM Installation

Since I opted for “No” for swap, after booting, zRAM should be installed first. Referencing fernvenue’s article Using zRAM instead of Swap, I suggest reading the original article. Here, I’ll outline my own approach.

1
apt install systemd-zram-generator

Then edit /etc/systemd/zram-generator.conf

1
vim /etc/systemd/zram-generator.conf

Using fernvenue’s example:

1
2
3
4
[zram0]
compression-algorithm = zstd
zram-size = ram / 2
swap-priority = 100

Save and then:

1
2
systemctl daemon-reload
systemctl start systemd-zram-setup@zram0

Network Configuration

Next, referring to fernvenue’s article Some WireGuard Tips

Download and install:

1
apt update && apt install wireguard

Then create a configuration file under /etc/wireguard/.

1
vim /etc/wireguard/wg0.conf

Start:

1
2
systemctl enable wg-quick@wg0 --now
systemctl status wg-quick@wg0

Graphics Card Driver

As my NVIDIA card is nonfree, modify the source to nonfree. I edited /etc/apt/sources.list file.

1
vim /etc/apt/sources.list

TUNA Debian Software Source

1
2
3
4
apt install nvidia-detect
# Then
nvidia-detect
# It will assist you in selecting the required driver
  • For my computer, I also needed to download and install nvidia-driver to use the graphics card properly.

Snapshot

Referencing fernvenue’s article Taking Snapshots via Btrfs

In brief:

1
2
~# lsblk
# Check the current partition situation to choose the partition to snapshot

As my partitioning is the same as fernvenue’s, I can directly replicate:

1
2
# Mount operation
mount /dev/nvme0n1p3 /mnt
1
2
# ls /mnt
@rootfs # This @rootfs is the mounted subvolume
1
btrfs subvolume snapshot /mnt/@rootfs /mnt/@example # @example is the name you want for the snapshot
1
2
# Unmount mnt
umount /mnt

Software Applications

Most applications can be installed via Flatpak. If Flatpak is not available, download and install it first.

Refer to the download link, here’s the link for Debian

For those with needs for Windows software, if you’re an advanced user, I recommend configuring Wine yourself. Of course, there are also many software packages based on Wine with preset configurations ready to use.

You can use Bottles for this purpose. For Chinese settings, you need to install two fonts, allfonts and cjkfonts, from dependencies.

~~Use WeChat ~~ WeChat is now available on Flathub, you can directly search and install it.

Gaming

You can use Heroic

Music

For the Apple Music client, you can use Cider

For the Spotify client, you can directly download it via Flatpak.

Plugin Manager

Also available on Flathub, the Plugin Manager

Some plugins used: Input Method Panel, Internet Speed Monitor, OpenWeather, RunCat, Transparent Top Bar, Systemd Status, easyeffects, MissionCenter. You can directly search and download them using the Plugin Manager.

Input Method

I followed fernvenue’s guide Configuring Fcitx 5 with Rime Input Method Engine

Here’s a quick operation. For detailed information, refer to fernvenue’s blog.

1
apt update && apt install --install-recommends fcitx5 fcitx5-chinese-addons
1
apt install fcitx5-rime
1
mkdir ~/.local/share/fcitx5 && cd ~/.local/share/fcitx5
1
rime_deployer --add-schema luna_pinyin
1
vim ./luna_pinyin.custom.yaml
1
2
patch:
  translator/dictionary: personal
1
vim ./personal.dict.yaml 
1
2
3
4
5
6
7
8
9
---
name: personal
version: "20240214"
sort: by_weight
use_preset_vocabulary: true
import_tables:
  - luna_pinyin
  - zhwiki
...

You can also referto the official download method.

Here are the luna dictionary repository and zhwiki dictionary

Waydroid

Refer to the official documentation

Here’s a magic script for installing Google Play and Aurora Store on Waydroid.

Here’s a configuration recommended by fernvenue to enable independent windows for opening Android apps. However, the official documentation provides more detailed instructions; here, I’m just providing a simple reference.

1
waydroid prop set persist.waydroid.multi_windows true

For Waydroid’s network, refer to the official documentation

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Install adb tool
apt install android-sdk-platform-tools

# Connect to adb
adb connect

# Use adb shell
adb shell

# Set network proxy for Waydroid
settings put global http_proxy "xx.xx.xx.xx:1080"

Reference links: