详细编写了wayfire和awesome的安装以及使用
包含有一系列的基础和必要软件的安装和使用方法,以及一些重要服务的配置
Wayfire
Wayfire is a wayland compositor based on wlroots. It aims to create a customizable, extendable and lightweight environment without sacrificing its appearance.
Wayfire是一个基于wlroots的wayland合成器。它旨在创建一个可定制的、可扩展的、轻量级的环境,且不牺牲其外观。
官网 Wayfire
Github Wayfire
我的dotfiles文件(github)
我的dotfiles
连网
sudo systemctl enable --now NetworkManager
nmcli dev wifi list
nmcli dev wifi connect $WIFI-SSID password $WIFI-PASSWD
nmcli dev wifi connect $WIFI-SSID password $WIFI-PASSWD hidden yes #连接隐藏wifi
开启 32 位支持库
编译pacman.conf
去掉[multilib]
一节中两行的注释,来开启 32 位库支持。
sudo vim /etc/pacman.conf
安装 yay
wget https://lvu.moichi.cn/res/yay-bin.pkg.tar.zst
sudo pacman -U yay-bin.pkg.tar.zst
安装Wayfire
注意wayfire与wayfire-git的不同情况下的选择
yay -S wayfire wayfire-plugin-extra
yay -S wayfire-lily-git #archlinuxcn 依云
安装必要软件
yay -S qt6-wayland
yay -S qt5-wayland
yay -S xorg-xwayland #xwayland
yay -S xdg-desktop-portal-wlr
sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei #安装几个开源中文字体 一般装上文泉驿就能解决大多wine应用中文方块的问题
sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra #安装谷歌开源字体及表情
sudo pacman -S alsa-utils pipewire pipewire-alsa pipewire-jack wireplumber pipewire-pulse pavucontrol pamixer #pipewire声音及音量控制
sudo pacman -S alsa-utils pulseaudio pulseaudio-alsa pavucontrol pulseaudio-bluetooth pavucontrol #pluse声音及音量控制
sudo pacman -S brightnessctl #屏幕背光控制
sudo pacman -S ntfs-3g #识别NTFS格式的硬盘
sudo pacman -S ark p7zip unrar unarchiver lzop lrzip #解压工具
sudo pacman -S git wget kate bind #一些工具
以下的包不在下面的合集中
yay -S wl-gammactl #gamma,亮度,对比度
sudo pacman -S bluez bluez-utils bluez-libs bluez-qt bluez-tools blueman bluedevil #蓝牙
复制所有
yay -S qt6-wayland qt5-wayland xorg-xwayland adobe-source-han-serif-cn-fonts wqy-zenhei ntfs-3g noto-fonts-cjk noto-fonts-emoji noto-fonts-extra alsa-utils pipewire pipewire-alsa pipewire-jack wireplumber pipewire-pulse pavucontrol brightnessctl git wget kate bind ark p7zip unrar unarchiver lzop lrzip
一些刚需软件
sudo pacman -S fcitx5-im #基础包组
sudo pacman -S fcitx5-chinese-addons #官方中文输入引擎
sudo pacman -S fcitx5-material-color #主题
yay -S kitty python-pillow #kitty 在wayland下支持ranger预览文件
yay -S waybar #bar
yay -S grim slurp #截图
yay -S wl-clipboard #剪贴板
yay -S mako #通知
yay -S wpaperd #壁纸。 可自动切换同路径下随机壁纸
yay -S swaylock #锁屏
yay -S wlogout #wlogout 可用来帐户登出,关机重启等操作
yay -S kanshi #屏幕
yay -S thunar gvfs gvfs-mtp thunar-archive-plugin file-roller #文件管理器
yay -S ranger ttf-nerd-fonts-symbols-mono highlight atool #终端文件管理器
yay -S greetd greetd-tuigreet #登录管理器
以下的包不在下面的合集中
yay -S mpvpaper #视频壁纸
复制所有
yay -S fcitx5-im fcitx5-chinese-addons fcitx5-material-color kitty python-pillow waybar grim slurp wl-clipboard mako swaylock wlogout kanshi thunar gvfs gvfs-mtp thunar-archive-plugin file-roller ranger ttf-nerd-fonts-symbols-mono highlight atool wpaperd greetd greetd-tuigreet
其他软件
yay -S clash-meta-bin #clash
yay -S aria2 #aria2服务
yay -S chromium gtk4 firefox vivaldi #chromium firefox
yay -S linuxqq-nt-bwrap telegram-desktop-bin #QQ telegram
yay -S youtube-music-bin #youtube-music带各种实用插件
yay -S mpv nomacs kate okular #视频播放 图片查看 文本编辑 pdf查看器
yay -S obs-studio wlrobs-hg #OBS
yay -S refind #引导工具
yay -S scrcpy #投屏软件
yay -S android-tools #adb工具
yay -S gamemode steam #Steam
yay -S dxvk-bin vkd3d vkd3d-proton-bin #dx9,10,11,12 to vulkan
yay -S vbam-wx fceux melonds-bin citra-qt-bin ffmpeg4.4 yuzu-mainline-bin #GBA FC NDS 3DS SWITCH 模拟器
yay -S virtualbox virtualbox-host-dkms virtualbox-guest-iso #virtualbox
yay -S virtualbox-ext-oracle
以下的包不在下面的合集中
yay -S mesen2-git desmume-git ryujinx-bin #另可选FC和NDS模拟器 不推荐
yay -S retroarch retroarch-assets-ozone retroarch-assets-xmb libretro-nestopia-git libretro-vba-next-git libretro-desmume-git #retroarch 包含很多常见游戏平台的模拟器
yay -S genymotion #安卓环境基于vbox,建议添加arm_translation以支持arm转换
yay -S v2raya-bin v2ray #v2raya
复制所有
yay -S clash-meta-bin aria2 chromium gtk4 firefox vivaldi linuxqq-nt-bwrap telegram-desktop-bin youtube-music-bin mpv nomacs kate obs-studio wlrobs-hg refind scrcpy android-tools gamemode steam dxvk-bin vkd3d vkd3d-proton-bin vbam-wx fceux melonds-bin citra-qt-bin ffmpeg4.4 yuzu-mainline-bin virtualbox virtualbox-host-dkms virtualbox-guest-iso virtualbox-ext-oracle
arm转译包
arm_translation
显卡驱动
英特尔核芯显卡
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel
Nvidia显卡驱动
sudo pacman -S nvidia-settings nvidia-utils lib32-nvidia-utils nvidia-dkms nvidia-prime opencl-nvidia lib32-opencl-nvidia vulkan-headers vulkan-icd-loader lib32-vulkan-icd-loader cuda
视频加速
yay -S libva libva-intel-driver libva-mesa-driver libva-nvidia-driver libva-utils
复制所有
yay -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel nvidia-settings nvidia-utils lib32-nvidia-utils nvidia-dkms nvidia-prime opencl-nvidia lib32-opencl-nvidia vulkan-headers vulkan-icd-loader lib32-vulkan-icd-loader cuda libva libva-intel-driver libva-mesa-driver libva-nvidia-driver libva-utils
yay -S libva-vdpau-driver-wayland #与libva-nvidia-driver冲突
设置早期KMS启动并启用DRM
添加内核参数
修改
/etc/default/grub
找到 GRUB_CMDLINE_LINUX_DEFAULT这一项在后面加入 nvidia-drm.modeset=1
GRUB_CMDLINE_LINUX_DEFAULT="nvidia-drm.modeset=1”
更改完成后执行,下面命令,会重新生成grub.cfg。
sudo grub-mkconfig -o /boot/grub/grub.cfg
添加 initramfs 模块
在
/etc/mkinitcpio.conf
中找到 MODULES=这一行在括号的后面加入intel_agp i915 nvidia nvidia_modeset nvidia_uvm nvidia_drm。
MODULES=(intel_agp i915 nvidia nvidia_modeset nvidia_uvm nvidia_drm)
别忘了重新生成一下 initramfs 执行
sudo mkinitcpio -P
创建nvidia hook
创建
/etc/pacman.d/hooks/nvidia.hook
内容为
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia-dkms
Target=linux-zen
# Change the linux part above and in the Exec line if a different kernel is used
[Action]
Description=Update Nvidia module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux) exit 0; esac; done; /usr/bin/mkinitcpio -P'
添加全局变量调用nvidia (如果你要用awesome, 就不要加入)
sudo vim /etc/environment
__NV_PRIME_RENDER_OFFLOAD=1
__GLX_VENDOR_LIBRARY_NAME="nvidia"
__VK_LAYER_NV_optimus="NVIDIA_only"
各软件的配置
设置环境变量
编辑environment
在/etc/environment
加入以下内容
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
INPUT_METHOD=fcitx
GLFW_IM_MODULE=ibus
greetd配置
编缉
/etc/greetd/config.toml
[default_session]
command = "tuigreet --cmd wayfire"
user = "$USER"
kitty配置
cd ~/.config/kitty
ln -s ./kitty-themes/themes/Material.conf ~/.config/kitty/theme.conf
在
kitty.conf
里添加内容
include ./theme.conf
ranger配置
git clone https://github.com/alexanderjeurissen/ranger_devicons ~/.config/ranger/plugins/ranger_devicons
echo "default_linemode devicons" >> $HOME/.config/ranger/rc.conf
wpaperd配置
定时自动切换壁纸
wpaperd可以针对不同屏幕设置不同的壁纸以及不同定时的自动切换壁纸
以下为2块屏幕的相同定时时读取同一路径下随机壁纸的例子
[eDP-1]
path = "~/wallpaper/"
apply-shadow = true
duration = "6m"
[HDMI-A-1]
path = "~/wallpaper/"
apply-shadow = true
duration = "6m"
zsh主题-powerlevel10k
echo 'source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme' >> ~/.zshrc
vbox配置
sudo usermod -a -G vboxusers $USER
refind配置
refind-install #安装refind
sudo cp -r $theme /efi/EFI/refind/ #复制主题 推荐rEFInd-minimal
sudo su
echo 'include themes/rEFInd-minimal/theme.conf' >> /efi/EFI/refind/refind.conf #应用主题
aria2配置
编辑 aria2.service
sudo vim /etc/systemd/user/aria2.service
[Unit]
Description=Aria2 Daemon
[Service]
ExecStart=/usr/bin/aria2c --conf-path=~/.config/aria2/aria2.config
[Install]
WantedBy=default.target
生成服务所需文件
touch ~/.config/aria2/aria2.session
vim ~/.config/aria2/aria2.config
启动服务
systemctl --user enable --now aria2 #非root服务自启
config可以在网上找一份,也可以改一改我的
yuzu配置
放置yuzu key
运行yuzu需要key
把以下文件解压覆盖到
~/.local/share/yuzu/`
key文件
YUZU_KEY
Chromium 开启Google Chrome同步
其他文章
本站跳转
Chrome wayland (不建议)
让Chrome在wayland下运行
把--gtk-version=4
添加到每一个Exec的未尾
在chrome上打开chrome://flags
Preferred Ozone platform 换成 wayland
以支持fcitx5在chrome在wayland下运行
sudo vim /usr/share/applications/google-chrome.desktop
Waydroid (不推荐)
yay -S waydroid waydroid-image
sudo waydroid init
sudo waydroid init -s GAPPS -f
systemctl start waydroid-container.service
waydroid session start
waydroid show-full-ui
sudo mount --bind <source> ~/.local/share/waydroid/data/media/0/<target> #共享文件夹
Awesome
sudo pacman -S xorg-server xorg-xinit xterm
paru -S awesome-git picom-git playerctl pamixer numlockx
paru -S feh flameshot rofi
paru -S ttf-roboto-mono-nerd ttf-roboto
echo "exec awesome" > ~/.xinitrc
启动awesome
启动时,需要在greetd里F2更改命令为startx
定时自动切换壁纸
先写一个sh让它开机时自动运行
sh里就写上feh设置随机壁纸的循环
vim ~/wallpaper/readom.sh
6m自动切换一次
while true; do
feh --bg-fill --randomize --no-fehbg ~/wallpaper/*
sleep 6m
done