LOADING

加载过慢请开启缓存 浏览器默认开启

Lumorian's Blog

永恒的紫罗兰

风花雪月本闲, 而扰攘者自冗

我的 Arch + Niri 全安裝及配置

2025/10/14

ArchLinux 安裝

网络配置

首先检查网络连接状态, 查看网络连接, 如出现 ip 地址则说明连接

ip a

ping 一下网址看是否正常连接

ping baidu.com

连接 wifi

# 进入 wifi 连接模式
iwctl

# 连接你的 wifi, 回车后输入 wifi 密码后再次回车
station wlan0 connect <你的 wifi 名称>

# 退出
exit

同步时间

timedatectl set-ntp true

硬盘分区

列出详细的硬盘信息, 记住你的设备名称, 我这边是 /dev/nvme0n1

lsblk -pf

分区, 上下左右进选择
New -> Partition size: 1g -> Type -> EFI System
New -> Partition size: <你剩下的所有空间> -> Write -> Quite

cfdisk /dev/nvme0n1

再次列出详细的硬盘信息

lsblk -pf
# NAME             FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% # MOUNTPOINTS
# /dev/nvme0n1
# ├─/dev/nvme0n1p1 vfat   FAT32       EFF6-F931                             659.2M    #35% /boot
# └─/dev/nvme0n1p2 btrfs              14ea5817-05e1-4798-bdec-8f98f9cb0a5a  206.4G    #13% /home

格式化启动分区

mkfs.fat -F 32 /dev/nvme0n1p1

格式化 BTRFS 根目录

mkfs.btrfs /dev/nvme0n1p2

创建 BTRFS 分区子卷, 先挂载根分区, 再创建子卷

mount -t btrfs -o compress=zstd /dev/nvme01n1p2 /mnt && \
btrfs subvolume create /mnt/@ && \
btrfs subvolume create /mnt/@home && \
btrfs subvolume create /mnt/@swap

取消挂载

umount /mnt

正式挂载

mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme0n1p2 /mnt && \
mount --mkdir -t btrfs -o subvol=/@home,compress=zstd /dev/nvme0n1p2 /mnt/home && \
mount --mkdir -t btrfs -o subvol=/@swap,compress=zstd /dev/nvme0n1p2 /mnt/swap && \
mount --mkdir /dev/nvme01np1 /mnt/boot

复查挂载 /mnt /mnt/home /mnt/swap /mnt/boot 存在即可

df -h

更新密钥

pacman -Sy archlinux-keyring

安装系统

pacstrap -K /mnt base base-devel linux linux-firmware btrfs-progs

安装必要软件, 若为 AMD 则将 intel-ucode 换为 amd-ucode

pacstrap /mnt networkmanager nano sudo intel-ucode

创建 swap 文件, 这边以 RedHat 官网文档为参考

系统中的 RAM 量 推荐的 swap 空间 如果允许休眠则推荐使用 swap 空间
⩽ 2 GB RAM 量的 2 倍 RAM 量的 3 倍
> 2 GB – 8 GB 与 RAM 量相等 RAM 量的 2 倍
> 8 GB – 64 GB 至少 4 GB RAM 量的 1.5 倍
> 64 GB 至少 4 GB 不推荐休眠

我的电脑内存为 16GB 但这边我不需要休眠所以只设置 8GB

btrfs filesystem mkswapfile --size 8g --uuid clear /mnt/swap/swapfile

启动 swap

swapon /mnt/swap/swapfile

生成 fstab

genfstab -U /mnt > /mnt/etc/fstab

进入系统

arch-chroot /mnt

设置主机名

nano /etc/hostname

设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

同步时间

hwclock --systohc

设置本地化

nano /etc/locale.gen
- #en_US.UTF-8 UTF-8
+ en_US.UTF-8 UTF-8
- #zh_CN.UTF-8 UTF-8
+ zh_CN.UTF-8 UTF-8

生成区域设置

locale-gen

编辑配置文件

nano /etc/locale.conf
+ LANG=en_US.UTF-8

设置 root 密码, 密码不会显示

passwd

安装引导程序

pacman -S grub efibootmgr os-prober

安装 grub

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<你想要的任何名字>

编辑 grub, 若为 AMD 则将 iTCO_WDT 换为 sp5100_tco

nano /etc/default/grub
- GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quit"
+ GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog modprobe.blacklist=iTCO_WDT"
- #GRUB_DISABLE_OS_PROBER=false
+ GRUB_DISABLE_OS_PROBER=false

生成 grub 配置文件

grub-mkconfig -o /boot/grub/grub.cfg

退出 chroot

exit

重启

reboot

先联网

systemctl enable --now NetworkManager

无线网链接

nmcli dev wifi connect <你的 wifi 名称> password <你的 wifi 密码>

ping 一下确认网络已连接

ping baidu.com

Niri 安装和配置

先上成品图

创建新用户

基本安装和配置

创建新用户

sudo useradd -m -G wheel -s /bin/bash 你的用户名

设置密码

sudo passwd 你的用户名

修改 visudo 默认编辑器, 会用 vi/vim 可跳过这一步

sudo nano ~/.bashrc
VISUAL="nano" ; export VISUAL
EDITOR="$VISUAL" ; export EDITOR

配置 sudo 权限

source ~/.bashrc && sudo visudo
- # %wheel ALL=(ALL) ALL
+   %wheel ALL=(ALL) ALL

国内环境优先配置镜像源, 这边推荐 tuna

sudo echo -e "Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist

更新软件包缓存

sudo pacman -Syyu

安装必要的包, 根据自己需求做删减

sudo pacman -S --needed fuzzel mako niri xwayland-satellite base-devel git yazi fastfetch ffmpeg p7zip nano dms-shell noto-fonts-cjk wqy-microhei wqy-zenhei vlc vlc-plugins-all

安装 paru

git clone https://aur.archlinux.org/paru.git && cd paru && makepkg -si

部分耳熟能详的包名不会列在下面了

软件名 简述
fuzzel 应用程序启动器
mako 轻量级通知管理器
niri 平铺式窗口管理器
xwayland-satellite x11 应用的 Wayland 桥接工具
yazi 文件管理
fastfetch 系统信息获取工具
alacritty-graphics 现代终端模拟器
tlp 电源管理工具

先国际惯例 fastfech 一下

                  -`                     lumorian@Lumorian-Dell
                 .o+`                    ----------------------
                `ooo/                    OS: Arch Linux x86_64
               `+oooo:                   Host: G3 3500
              `+oooooo:                  Kernel: Linux 6.12.58-1-lts
              -+oooooo+:                 Uptime: 9 days, 11 hours, 27 mins
            `/:-:++oooo+:                Packages: 912 (pacman), 9 (flatpak)
           `/++++/+++++++:               Shell: bash 5.3.3
          `/++++++++++++++:              Display (AUOED8F): 1920x1080 in 15", 120 Hz [Built-in]
         `/+++ooooooooooooo/`            Terminal: /dev/pts/0
        ./ooosssso++osssssso+`           CPU: Intel(R) Core(TM) i5-10300H (8) @ 4.50 GHz
       .oossssso-````/ossssss+`          GPU 1: NVIDIA GeForce GTX 1650 Mobile / Max-Q [Discrete]
      -osssssso.      :ssssssso.         GPU 2: Intel UHD Graphics @ 1.05 GHz [Integrated]
     :osssssss/        osssso+++.        Memory: 6.02 GiB / 15.42 GiB (39%)
    /ossssssss/        +ssssooo/-        Swap: 0 B / 8.00 GiB (0%)
  `/ossssso+/:-        -:/+osssso+-      Disk (/): 51.18 GiB / 237.47 GiB (22%) - btrfs
 `+sso+:-`                 `.-/+oso:     Local IP (Mihomo): 198.18.0.1/30
`++:.                           `-/+/    Battery (DELL M4GWP06): 100% [AC Connected]
.`                                 `/    Locale: zh_CN.UTF-8

启用 niri 和 mako

systemctl --user add-wants niri.service mako.service

配置 dms

sudo nano ~/.config/niri/config.kdl

在无任何{}内写入

spawn-at-startup "dms" "run"

配置 nano

sudo nano /etc/nanorc
set autoindent
set tabsize 4
set tabstospaces
set linenumbers
set constantshow
set mouse
set softwrap

bind M-L linenumbers main

set titlecolor bold,white
set numbercolor cyan
set keycolor green
set functioncolor yellow
set statuscolor cyan

include "/usr/share/nano/*.nanorc"
include "/usr/share/nano/extra/*.nanorc"

配置 niri

nano ~/.config/niri/config.kdl

最顶部添加, 不要放进任何{}

prefer-no-csd
\\ 圆角配置段
window-rule {
    geometry-corner-radius 12
    clip-to-geometry true
}

安装和配置 alacritty

通过 aur 安装 alacritty-graphics, 不选择 alacritty 是因为 yazi 的预览图片功能在 alacritty 会有问题

paru -S alacritty-graphics
nano ~/.config/niri/config.kdl
window-rule {
  match app-id="Alacritty"
  draw-border-with-background false
  opacity 0.8
}

安装和配置 rime

sudo pacman -S fcitx5 fcitx5-rime

配置主题, 想自己搭配的也可以试试这个网站

paru -S fcitx5-skin-ori-git

默认简体中文 + 半角标点

touch ~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml && nano ~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml
patch:
  switches:
    - name: simplification
      reset: 1
      states: [ 漢字, 汉字 ]
    - name: full_shape
      reset: 0
      states: [ 半角, 全角 ]
  punctuator:
    half_shape:
      "!": "!"
      "\"": "\""
      "#": "#"
      "$": "$"
      "%": "%"
      "&": "&"
      "'": "'"
      "(": "("
      ")": ")"
      "*": "*"
      "+": "+"
      ",": ","
      "-": "-"
      ".": "."
      "/": "/"
      ":": ":"
      ";": ";"
      "<": "<"
      "=": "="
      ">": ">"
      "?": "?"
      "@": "@"
      "[": "["
      "\\": "\\"
      "]": "]"
      "^": "^"
      "_": "_"
      "`": "`"
      "{": "{"
      "|": "|"
      "}": "}"
      "~": "~"
    full_shape:
      "!": "!"
      "\"": """
      "#": "#"
      "$": "$"
      "%": "%"
      "&": "&"
      "'": "'"
      "(": "("
      ")": ")"
      "*": "*"
      "+": "+"
      ",": ","
      "-": "-"
      ".": "。"
      "/": "/"
      ":": ":"
      ";": ";"
      "<": "<"
      "=": "="
      ">": ">"
      "?": "?"
      "@": "@"
      "[": "["
      "\\": "\"
      "]": "]"
      "^": "^"
      "_": "_"
      "`": "`"
      "{": "{"
      "|": "|"
      "}": "}"
      "~": "~"

使配置生效

方法 1: 通过 Fcitx5 界面

  1. 右键点击 Fcitx5 输入法图标
  2. 选择 重新部署Rime重新部署

方法 2:

rime_deployer --build ~/.local/share/fcitx5/rime ~/.local/share/fcitx5/rime/build

安装和配置 flameshot

sudo pacman -S flameshot
nano ~/.config/niri/config.kdl
\\ 设置 flameshot 快捷键 -c 参数是让你截取完后按下 enter 就能直接复制
binds {
  Alt+A { spawn "flameshot" "gui" "-c"; }
}

安装和配置 tlp, 笔记本专用

sudo pacman -S tlp
sudo nano /etc/tlp.d/00-template.conf 
START_CHARGE_THRESH_BAT0="70"
STOP_CHARGE_THRESH_BAT0="80"
\\ 如果你有第二块电池的话
START_CHARGE_THRESH_BAT1="70"
STOP_CHARGE_THRESH_BAT1="80"

安装配置 ly

sudo pacman -S ly
systemctl enable ly@tty2.service && systemctl disable getty@tty2.service

设置主题, 这边推荐我很喜欢的主题, 点击这里下载

sudo nano /etc/ly/config.ini
- animation = none
+ animation = dur_file
- dur_file_path = /etc/ly/example.dur
+ dur_file_path = /path/to/your/durl/file

安装配置 OBS

sudo pacman -S obs-studio

安装音视频固件

sudo pacman -S pavucontrol sof-firmware alsa-ucm-conf alsa-firmware

安装, 启动 Pipewire

sudo pacman -S pipewire wireplumber pipewire-pulse pipewire-alsa pipewire-jack
systemctl --user --now enable pipewire pipewire-pulse wireplumber
sudo nano ~/.config/niri/config.kdl

在无任何{}内写入

spawn-sh-at-startup "dbus-update-activation-enviroment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=niri & /usr/lib/xdg-desktop-portal-gnome"
阅读全文

搭建 Fabric + MCDR 生电服务器 (更新中~)

2025/9/28

从 0 开始教你搭建属于自己的生电服务器,分享自己踩过的坑和遇到的问题

前言

本篇教程运行环境为 Debian/Ubuntu 系 GNU/linux, 如果使用 Windows、Mac 或是其他的 GNU/Linux 发行版本教程中的部分命令可能不适用, 如有需要可自选搜索替换

整篇教程目前规划是以下四个部分

  1. Fabric 端
  2. 模组/数据包/材质包/光影推荐
  3. Fabric + MCDR (进阶)
  4. MCDR 插件推荐

一、安装 Fabric 核心

1.安装依赖

sudo apt install openjdk-21-jdk

若 Debian 软件源不包含 OpenJDK 21, 则从 Oracle 下载适用于 Linux 的 deb 包

sudo apt install wget
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb
sudo dpkg -i jdk-21_linux-x64_bin.deb

若安装过程存在依赖关系问题, 则执行下面的命令或自行上网搜索解决

sudo apt-get install -f

2.下载并运行 Fabric Installer

创建目录

mkdir Minecraft-Server
cd Minecraft-Server

下载 (这里获取最新的 Fabric Installer 下载链接, 如有需要自行替换)

wget -o installer.jar https://maven.fabricmc.net/net/fabricmc/fabric-installer/1.1.0/fabric-installer-1.1.0.jar

运行

# -mcversion 后面为你想要下载的版本, 这边以 1.21.4 为例
java -jar installer.jar server -mcversion 1.21.4 -downloadMinecraft

3.启动 Fabric 核心和修改一些配置

java -jar fabric-server-launch.jar nogui

第一次启动的时候后会生成一些文件, 以及会启动失败并提示你

You need to agree to the EULA in order to run the server. Go to eula.txt for more info

按照提示修改 eula.txt

- eula=false
+ eula=true

以下是我的 server.properties, 有需要的可以参考下, 一些配置选项写了注释可以看一看, 没写注释的选项在不明白有何作用前不要改动

accepts-transfers=false
allow-flight=false
allow-nether=true
broadcast-console-to-ops=true
broadcast-rcon-to-ops=true
bug-report-link=
# 游戏难度, 生电建议 hard
difficulty=hard    
enable-command-block=false
enable-jmx-monitoring=false
enable-query=false
enable-rcon=false
enable-status=true
enforce-secure-profile=false
enforce-whitelist=false
entity-broadcast-range-percentage=100
force-gamemode=false
function-permission-level=3
# 默认的模式
gamemode=survival   
generate-structures=true
generator-settings={}
hardcore=false
hide-online-players=true
initial-disabled-packs=
initial-enabled-packs=vanilla
level-name=world
level-seed=
level-type=minecraft\:normal
log-ips=true
max-chained-neighbor-updates=1000000
# 设置同时可进入的玩家数量, 一般不做限制, 这里改成这样只是为了好玩
max-players=114514    
max-tick-time=60000
max-world-size=29999984
# 服务器标语 https://minecraft.tools/en/motd.php 这个网站可以自定义并生成属于你的 motd
motd=§d世界上最大的男同俱乐部    
network-compression-threshold=256
# 正版验证
online-mode=true    
# 默认是 4 但如果你需要给别人 op 同时又不放心给予最高权限则可修改 https://www.mcmod.cn/item/587226.html
op-permission-level=2    
pause-when-empty-seconds=60
player-idle-timeout=0
prevent-proxy-connections=false
pvp=true
query.port=25565
rate-limit=0
rcon.password=
rcon.port=25575
region-file-compression=deflate
require-resource-pack=false
resource-pack=
resource-pack-id=
resource-pack-prompt=
resource-pack-sha1=
server-ip=
# 服务器端口, 一般不做改动
server-port=25565    
simulation-distance=10
spawn-animals=true
spawn-monsters=true
spawn-npcs=true
spawn-protection=16
sync-chunk-writes=true
text-filtering-config=
text-filtering-version=0
use-native-transport=true
# 服务器视距, 一般不动, 如果服务器性能差可调小
view-distance=10    
# 服务器白名单, 如果是私下朋友间玩强烈建议打开, 避免出现陌生人破坏服务器的情况
white-list=true    

修改好后再次启动

java -jar fabric-server-launch.jar nogui

此时如果配置没有问题的话, 你会看到类似下面输出

那么… 恭喜你开设了一个属于你的 MC 服务器, 搭配公网 ip 或是内网穿透 (挖个坑吧, 可能写也可能不写) 后就可以和你的朋友一起在服务器里面玩了

二、模组/数据包/材质包/光影推荐

绝大部分的 MC 资源你都能在 ModrinthCurseForge 上找到, 当然也有极少数资源可能只出现在 Github 或是其他的一些平台

我会尽可能的贴出资源的网站

模组

服务端 客户端 服务端或客户端 服务端和客户端
C2ME 优化 Chat Heads 辅助 Appel Skin 辅助 MagicLib 依赖
Carpet 辅助 Cull Leaves 优化 Cloth Config API 依赖 Syncmatica 辅助
Carpet-Extra Carpet 拓展 Enhanced Block Entities 优化 Collective 依赖
Carpet-Org-Addition Carpet 拓展 Entity Culling 优化 Fabric API
Carpet-tis-Addision Carpet 拓展 Exordium 优化 Fabric Language Kotlin 依赖
GugleCarpetAddition Carpet 拓展 Freelook 辅助 FerriteCore 优化
Let Me Click And Send for Server ImmediatelyFast 优化 Krypton 优化
Polymer 依赖 ImmediatelyFast 优化 Lithium 优化
Quick Right-Click 辅助 Inventory Profiles Next 辅助 Placeholder 依赖
Servux 依赖 Iris Shaders 光影
Shulker Drops Two 辅助 Item Scroller 辅助
lazy-language-loader 优化
Let Me Click And Send
libIPN 依赖
Litematica 辅助
MaLiLib 依赖
MiniHUD 辅助
Mod Menu 辅助
ReplayMod 辅助
3D Skin Layers
Sodium 优化
Sodium Extra 优化
Tweakeroo 辅助
TweakerMore 辅助
VoxelMap 辅助
WI Zoom 辅助

数据包

材质包

光影

三、MCDR 安装和配置

什么是 MCDR

MCDReforged (MCDR, 下同) 是一个管理 Minecraft 服务器的工具,拥有自定义插件系统。完全无需修改 Minecraft 服务器本身

游戏内计算器,玩家高亮,计分板操作,结构文件管理,备份/回档… 你可以用 MCDR 和其插件控制整个 Minecraft 服务器

安装

MCDR 用 Python 3 编写和运行。确保你的 Python 版本至少为 3.9,并且安装了 pip 或 pipx

MCDR 版本 Python 依赖
< 2.10 >= 3.6
>= 2.10 >= 3.8
>= 2.15 >= 3.9

使用 pip 安装

pip3 install mcdreforged

# 升级
pip3 install mcdreforged -U

使用 pipx 安装

pipx install mcdreforced

# 升级
pipx upgrade mcdreforged

加速安装

无魔法可以使用 PyPI 镜像来加速 pip 和 pipx. 例如使用 TUNA

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pipx config set pipx.index_url https://pypi.tuna.tsinghua.edu.cn/simple

设置好后返回执行上面的安装命令

验证安装是否成功

$ mcdreforged
MCDReforged v2.15.4

暂时先写到这, 什么时候才能不熬夜呢 O.o

阅读全文

自托管音乐服务器

2025/9/28

用 Subsonic 搭建一个音乐服务器

阅读全文

录制渲染设置分享 (OBS & Vegas)

2025/9/27

前言

此套录制设置可以让低端机也能录制出高清晰高帧率的视频

目前尝试过的最低配置为 E3 1230v3 + GTX660

更低配置的情况不做保证 (应该不会有人打机配置比这个还低了吧 O.o)

阅读全文
1 ... 2