ArchLinux 双系统安装 及 Niri 桌面合成器环境配置Q&A

ArchLinux 双系统安装 及 Niri 桌面合成器环境配置Q&A

主要记录一下,再一次从零开始在装了Windows上安装Archlinux及折腾Niri桌面这个过程中遇到的问题及一些配置。
在这里插入图片描述

安装

整个基础的安装过程,依旧是照着archlinux简明指南来的。
然后遇到的问题就是关于Windows系统默认的启动分区大小只有100M,需不需要扩大?
一开始怕不够,使用gundisk软件扩大了一下,但发现按照wiki的4.1节,如果将efi挂载到/efi路径,其他照原来的来就可以,不需要扩大。需要注意的是在安装archlinux成功后,不要再使用gundisk,否则会损坏efi盘里的内容,需要再用安装媒介走一下grub-mkconfig -o /boot/grub/grub.cfg

grub

主要是配置主题和将grub配置为默认的启动器。
grub作为默认启动器,需要修改Bios配置,将快速启动取消,然后将grub配置为默认,这里我是单硬盘,双硬盘会怎么样还不清楚。
主题使用的是gnome-look下的(Elegant-forest-window-grub-themes)[https://www.gnome-look.org/p/2206111]

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME="/usr/share/grub/themes/Elegant-forest-window-grub-themes/left-dark-1080p/Elegant-forest-window-left-dark/theme.txt

Sddm

默认/etc目录下没有配置文件,需要用sddm --example-config > /etc/sddm.conf来生成,主题使用的是aur包里的sddm-astronaut-theme。

[Theme]
# Current theme name
Current=sddm-astronaut-theme

App

主要的App都是参考(这位大佬的的Wiki)[https://github.com/prasanthrangan/hyprdots/wiki/Installation#packages]来安装的App来安装的。这个Hyprland的配置移动到了(HyDE)[https://github.com/Hyde-project/hyde]里,但Wiki还留在原仓库,我觉得不愿意折腾但是可以解决网络问题的可以直接执行HyDE里的安装脚本。这个Hyprland的配置之前看就相当的酷炫。但这次主要为了自己尝试,而且HyDE的配置在我看来已经比较复杂了,需要足够的耐心去搞懂。返回头来说,这次安装的应用。
如果有nvidia显卡,那么还需要另行研究一下,或者跑一下HyDE的安装脚本。
nvidia

  • linux-headers for main kernel (script will auto detect from /usr/lib/modules/) 没在意
  • linux-zen-headers for zen kernel (script will auto detect from /usr/lib/modules/) 没在意
  • linux-lts-headers|for lts kernel (script will auto detect from /usr/lib/modules/) 没在意
  • nvidia-dkms|nvidia drivers (script will auto detect from lspci -k | grep -A 2 -E “(VGA|3D)”) 没在意
  • nvidia-utils nvidia utils (script will auto detect from lspci -k | grep -A 2 -E “(VGA|3D)”) 没在意
    amd显卡看上去简单的多,对于这台电脑来说就是直接照着(archlinux简明指南的显卡篇)[https://arch.icekylin.online/guide/rookie/graphic-driver.html],安装amd的开源驱动。
sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon

system

  • pipewire audio/video server 必装
  • pipewire-alsa pipewire alsa client 必装
  • pipewire-audio pipewire audio client 必装
  • pipewire-jack pipewire jack client 必装
  • pipewire-pulse pipewire pulseaudio client 必装
  • gst-plugin-pipewire pipewire gstreamer client 必装
  • wireplumber pipewire session manager 必装
  • pavucontrol pulseaudio volume control 必装
  • pamixer pulseaudio cli mixer 必装
  • networkmanager network manager 必装
  • network-manager-applet network manager system tray utility 必装
  • bluez bluetooth protocol stack 必装
  • bluez-utils bluetooth utility cli 必装
  • blueman bluetooth manager gui 必装
  • brightnessctl screen brightness control 必装
    额外装了一下power-profiles-daemon
    login
  • sddm display manager for KDE plasma 必装
  • qt5-quickcontrols for sddm theme ui elements 必装
  • qt5-quickcontrols2 for sddm theme ui elements 必装
  • qt5-graphicaleffects for sddm theme effects 必装
    hypr
  • hyprland wlroots-based wayland compositor 装的niri
  • dunst notification daemon 装的mako
  • rofi-lbonn-wayland-git application launcher 装的fuzzel
  • waybar system bar 必装
  • swww wallpaper 装的swaybg
  • swaylock-effects-git lock screen 装的swaylock-effect
  • wlogout logout menu 必装
  • grimblast-git screenshot tool niri自带
  • hyprpicker-git color picker 没有装
  • slurp region select for screenshot/screenshare 没有装
  • swappy screenshot editor 没有装
  • cliphist clipboard manager 没有装
    dependency
  • polkit-kde-agent authentication agent 必装
  • xdg-desktop-portal-hyprland xdg desktop portal for hyprland 装的xwayland-sitelite
  • pacman-contrib for system update check 必装
  • python-pyamdgpuinfo for amd gpu info 必装
  • parallel for parallel processing 必装
  • jq for json processing 必装
  • imagemagick for image processing 必装
  • qt5-imageformats for dolphin image thumbnails 必装
  • ffmpegthumbs for dolphin video thumbnails 必装
  • kde-cli-tools for dolphin file type defaults 必装
    theme
  • nwg-look gtk configuration tool 必装额外装了lxapperance kde-gtk-git等工具
  • qt5ct qt5 configuration tool 必装
  • qt6ct qt6 configuration tool 必装
  • kvantum svg based qt theme engine 必装
  • qt5-wayland wayland support in qt5 必装
  • qt6-wayland wayland support in qt6 必装
    apps
  • firefox browser 必装chromium也装了一下
  • kitty terminal 装的alacritty
  • dolphin kde file manager 必装
  • ark kde file archiver 必装
  • vim terminal text editor 随意了
  • visual-studio-code-bin IDE text editor 必装开源的vs codium少了许多功能,推荐装aur里的。
    另外视频播放使用的是mpv和它的前端celluloid

Cursor

Cursor直接安装aur包里的bibata-extra-cursor-theme,然后应该是可以设置XCURSOR_THEME的环境变量,这里直接更改了/usr/share/icon/default/index.theme如下。
在这里插入图片描述

░▒▓   …/share/icons/default   13:44 
❯ cat index.theme
[Icon Theme]
Inherits=Bibata-Modern-DodgerBlue

░▒▓   …/share/icons/default   13:44 
❯ pwd
/usr/share/icons/default

Theme

这节是KDE(QT)和GTK的主题配置和尝试统一的问题。KDE使用kvantum manager配置,图形化配置就可以,使用nwg-look来设置gtk的主题,kvantum主题从(kde store)[https://store.kde.org/browse?cat=123&ord=latest]下载,gtk主题从(gnome-look)[https://www.gnome-look.org/browse?cat=135&ord=latest]下载,自行安装。这里都设置成了WhiteSurDark,图标也是一样的配置。
在这里插入图片描述
在这里插入图片描述
QT 需要额外设置一些环境变量
QT_IM_MODULE “fcitx”
QT_QPA_PLATFORM “wayland”
QT_QPA_PLATFORMTHEME “qt6ct”
QT_WAYLAND_DISABLE_WINDOWDECORATION “1”
QT_AUTO_SCREEN_SCALE_FACTOR “1”
然后因为标题栏始终统一不了,所以通过niri配置尽可能的把标题栏去掉了。

Dolphin

这里dolphin有两个问题。
一个是默认应用制定不生效的问题。
参考(archlinux wiki)[https://wiki.archlinux.org/title/XDG_MIME_Applications]的4.6章节。
在这里插入图片描述

    XDG_MENU_PREFIX "arch-"
    XDG_DATA_DIRS "/var/lib/flatpak/exports/share:/home/$USER/.local/share/flatpak/exports/share:/usr/share:/usr/local/share:$XDG_DATA_DIRS"

另一个是全局主题不生效,明明通过kvantum配置了主题,但却应用不到dolphin上。手动创建了kdeglobals文件就可以了。
在这里插入图片描述

Fuzzle

Fuzzle的主题直接使用了(Dracula)[https://draculatheme.com/fuzzel]

Fcitx5

安装过程参考archlinux简明指南,然后是需要配置一些环境变量,以使它可以在xwayland和其他一些奇怪的应用里可以使用。

    ELECTRON_OZONE_PLATFORM_HINT "wayland"
    GTK_IM_MODULE "fcitx"
    SDL_IM_MODULE "fcitx"
    XMODIFIERS "@im=fcitx"

Electron/Chromium

Fcitx5需要向Electron应用和Chromium传入额外的参数,在~/.config/路径下,创建electron-flags.conf和chromium-flags.conf,写入以下内容。

--enable-features=UseOzonePlatform
--ozone-platform=wayland
--enable-wayland-ime
--wayland-text-input-version=3
--force-device-scale-factor=1.0
--gtk-version=4
--enable-features=WaylandPerSurfaceScale,WaylandUiScale
--enable-features=UseOzonePlatform
--ozone-platform=wayland
--enable-wayland-ime
--wayland-text-input-version=3

在这里插入图片描述
vscode不知道为什么明明是electron应用,但开源的code这样子就可以了,官方的vscode没搞懂,在它的desktop文件里,把Exec改了可以了,后来更新了一版,需要在code-flags.conf里添加相关内容。
在这里插入图片描述

Xwayland

在使用xwayland-sitelit时,遇上了xorg相关的问题
一个是.Xauthority文件,不知道为什么,没有自动生成,需要自己创建然后通过xauth add :1 MIT-MAGIC-COOKIE-1 $(mcookie)添加认证。
然后DISPLAY的环境变量需要自己配置,一开始配的:1,更新了几次,:1突然不行了,需要配成:0。不知道是为什么。

DISPLAY ":1"

Niri && Sway && Waybar

niri 对比 Hyprland和Sway生态还相当的不成熟,像壁纸、锁屏、空闲管理这种都借用了sway的生态。
壁纸使用的swaybg直接固定了一张图

spawn-at-startup "swaybg" "-i" "/home/whihig/.config/sway/background/furien.jpg" "-m" "fill"

锁屏用的swaylock-effect,主题直接使用的draco的相应主题
熄屏用的swayidle,感觉还可以。

spawn-at-startup "swayidle" "-w" "timeout" "900" "swaylock" "timeout" "1800" "niri msg action power-off-monitors" "resume" "niri msg action power-on-monitors" "before-sleep" "swayidle"

waybar和mako参考的(这篇配置)[https://github.com/woioeow/hyprland-dotfiles]。
退出菜单使用了wlogout,主题直接使用(catppuccin的主题)[https://github.com/catppuccin/wlogout]。
在这里插入图片描述

Scale

指应用的缩放问题。主要是一些QT的应用,需要在/usr/share/application/里修改.desktop文件,或其他地方的执行命令,加入QT_SCALE_FACTOR参数来进行手动的缩放,例如在沙盒里运行的微信。

Niri

基本没怎么动默认的配置文件,只是加了一下output的分辨率,修改了一下layout的gap,开启了focus-ring,取消了prefer-no-csd的注释,加了默认的启动项,修改了一下环境变量。总体来说功能为主,好不好看就是另一回事了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值