Appearance
[[文章索引]]
WARNING
本文目前为草稿状态
低技术含量警告
由于笔者水平所限,本文记叙的内容对你来说可能相当于常识一样的存在,过于低级或者幼稚。
本文记录了在 Apple M1 Max 上安装 Asahi Linux 后配置 Sway 的全部过程。
以下为反链草稿
[[文章索引]]
WARNING
本文目前为草稿状态
低技术含量警告
由于笔者水平所限,本文记叙的内容对你来说可能相当于常识一样的存在,过于低级或者幼稚。
本文记录了在 Apple M1 Max 上安装 Asahi Linux 后配置 Sway 的全部过程。
以下为反链草稿
paru -S light
# Higher light
sudo light -A 10
# Lower light
sudo light -U 10
sudo su
cat <<EOF >/etc/sudoers.d/light
%wheel ALL=(root) NOPASSWD: /usr/bin/light
EOF
# so we can execute light without password
cat <<EOF >>~/.config/sway/config
# from /usr/include/xkbcommon/xkbcommon-keysyms.h
bindsym XF86MonBrightnessUp exec sudo light -A 10
bindsym XF86MonBrightnessDown exec sudo light -U 10
EOF
if [ "$XDG_SESSION_TYPE" == "wayland" ]; then
export MOZ_ENABLE_WAYLAND=1
fi
paru -S wlroots
sudo gpasswd -a $USER seat
systemctl enable seatd
paru -S sway
gpg failed to sign the data fatal: failed to write commit object.paru -S pinentry # this install a bunch of pinentry binaries
cat <<'EOF' > ~/.gnupg/gpg-agent.conf
pinentry-program /usr/bin/pinentry-qt
EOF
gpg-connect-agent reloadagent /bye
yay -S nerd-fonts-fira-code
git clone git@github.com:beichensky/Font.git
~/.fonts 目录下并刷新mkdir ~/.fonts
cd Fonts
cp Operator\ Mono/* ~/.fonts
cp Operator\ Mono\ Lig/* ~/.fonts
cp Operator\ Mono\ SSm/* ~/.fonts
sudo fc-cache -f -v
# 可以查看下是否加载成功
fc-list | grep Operator
local wezterm = require("wezterm")
return {
font_rules = {
{
italic = true,
font = wezterm.font("Operator Mono Medium", { italic = true }),
},
}
}
font:
italic:
family: Operator Mono Medium
style: Italic
swaymsg -t get_tree | grep class 来获取
app_id~/.config/sway/config 中添加浮窗指令:(例如 Nautilus)for_window [app_id="org.gnome.Nautilus"] floating enable
ls -i . # 获取文件节点号
find -inum 节点号 -delete
#!/usr/bin/env sh
while true; do
PID=`pidof swaybg`
swaybg -i $(find $HOME/Backgrounds/. -type f | shuf -n1) -m fill &
sleep 1
kill $PID
sleep 599
done
fcitx5-gtk,若没有则进行安装 yay -S fcitx5-gtkbash 需要在 ~/.bash_profile 添加:if [ "$(tty)" = "/dev/tty1" ]; then
exec sway
fi
yay -S flameshotif [ "$(tty)" = "/dev/tty1" ]; then
export SDL_VIDEODRIVER=wayland
export _JAVA_AWT_WM_NONREPARENTING=1
export QT_QPA_PLATFORM=wayland
export XDG_CURRENT_DESKTOP=sway
export XDG_SESSION_DESKTOP=sway
exec sway
fi
~/.config/sway/config 添加 bindsym $mod+Shift+a exec flameshot guifcitx5 和 fcitx5-configtool 和 fcitx5-gtkpacman 不包含 aarch64 发行版,需要自己编译。分为三个部分
librime、rime-data、fcitx5-rime 分别从 github
克隆三个库到本地,安装好 README 里提到的需要的依赖后 make 即可cd librime
make -e prefix=/usr
sudo make install
cd plum
rime_frontend=fcitx5-rime ./rime-install
sudo ldconfig
cd fcitx5-rime && mkdir build && cd build
cmake -DRIME_DATA_DIR=~/.config/fcitx5/rime -DCMAKE_INSTALL_PREFIX=/usr ..
sudo make install
addon rime)。~/.config/sway/config 添加启动脚本 exec --no-starup-id fcitx5 -r -d~/.pam_environment 添加# FCITX input-related
#GLFW_IM_MODULE DEFAULT=ibus
GLFW_IM_MODULE DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
INPUT_METHOD DEFAULT=fcitx5
XMODIFIERS DEFAULT=@im=fcitx5
IMSETTINGS_MODULE DEFAULT=fcitx5
QT_IM_MODULE DEFAULT=fcitx5
~/.pam_environment 添加LANG=zh_CN.UTF-8
# Wayland compatibility
QT_QPA_PLATFORM DEFAULT=wayland
CLUTTER_BACKEND DEFAULT=wayland
SDL_VIDEODRIVER DEFAULT=wayland
MOZ_ENABLE_WAYLAND DEFAULT=1
MOZ_WEBRENDER DEFAULT=1
XDG_SESSION_TYPE DEFAULT=wayland
XDG_CURRENT_DESKTOP DEFAULT=sway
# QT-related theming
QT_QPA_PLATFORMTHEME DEFAULT=qt5ct
/usr/share/applications/chromium.desktop 到
~/.local/share/applications 然后编辑内容,将所有的 Exec 里的启动命
令添加一个参数 -gtk-version=4fcitx 和 fcitx-configtoolpacman 不包含 aarch64 发行版,需要自己编译。分为三个部分
librime、rime-data、fcitx-rime 分别从 github
克隆三个库到本地,安装好 README 里提到的需要的依赖后 make 即可network policy 以及 traefik: curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC='--flannel-backend=none --disable-network-policy --no-deploy traefki' sh - 此时会发现由于没有
flannel-backend 所以集群并不会执行安装,一直 pendingwget https://github.com/cilium/cilium/archive/refs/tags/v1.12.0.tar.gzcilium-1.12.0/install/kubernetessudo KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm install cilium ./cilium --namespace kube-system --set operator.replicas=1 --set ingressController.enabled=truesudo KUBECONFIG=/etc/rancher/k3s/k3s.yaml cilium status 观察安装结果wofi --show drun 时会搜索 ~/.local/share/applications 下的
*.desktop 作为运行快捷方式,所以我们可以利用这一点。/usr/share/applications/chromium.desktop
到 ~/.local/share/applications 然后编辑内容,将所有的 Exec 更改为 Exec=env GOOGLE_API_KEY=申请到的APIKEY GOOGLE_DEFAULT_CLIENT_ID=申请到的 CLIENTID GOOGLE_DEFAULT_CLIENT_SECRET=申请到的CLIENTSECRET /usr/bin/chromium --enable-features=UserOzonePlatform --ozone-platform=wayland 注意原本的参数不要丢弃,补充到这一串命令后面。
前面的环境变量用于开启用户登录功能,后面的启动参数用于开启 HiDPI 。/usr/share/applications/firefox.desktop
到 ~/.local/share/applications 然后编辑内容,将所有 Exec 追加
Exec=env GDK_BACKEND=wayland CLUTTER_BACKEND=wayland SDL_VIDEODRIVER=wayland firefox 注意原本的参数不要丢弃,补充到这一串命令
后面。bluetoothctl 进行连接bluetoothctl 进入对话状态scan on 开启扫描,注意你要连接的设备也需要开启配对状态pair XXXX-XX-XX-XX 进行配对connect XXXX-XX-XX-XX 进行连接trust XXXX-XX-XX-XX
这样开机启动之后会尝试自动连接蓝牙设备info XXXX-XX-XX-XX 观察到匹配成功了但是没有效果,例如 airpods
pro 没有声音,可以尝试重启蓝牙服务 sudo service restart bluetoothnmtui 安装,执行 nmtui 进入图形配置界面即可xdg-desktop-portal-git 和 xdg-desktop-portal-wlr-git 以及
xdg-desktop-portal-gtk-git-DUSE_WAYLAND_GRIM=1 即: cmake -S ./ \
-DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_WAYLAND_CLIPBOARD=1 \
-DUSE_WAYLAND_GRIM=1 # 增加了这一行
exec-once flameshot &
jpg 的形式保存到剪贴板,执行 flameshot config 进行设置# 开启多核编译
MAKEFLAGS="-j10" paru -S widevine-aarch64
# 注册到 chromium 和 firefox
register_widevine_chromium && register_widevine_firefox

pactl 来设置:# 首先查看设备 id
pactl list sinks
# 得到如下输出
# ...
# Sink #6684
# State: SUSPENDED
# Name: bluez_output.F4_4E_FC_43_09_BC.1
# Description: UGREEN-80893
# Driver: PipeWire
# ...
# 根据 Description 识别,然后设置默认声卡
pactl set-default-sink 6684 # 设置为对应 id
git@github.com:gkovacs/rime-japanese.git 到本地;~/.local/share/fcitx5/rime;~/.local/share/fcitx5/rime/default.custom.yaml 在 schema_list 中添加:patch:
schema_list:
- schema: clover
- schema: japanese

/usr/share/wayland-sessions 创建一个 hyprland.desktop ,内容:[Desktop Entry]
Name=Hyprland
Comment=An intelligent dynamic tiling Wayland compositor
Exec=env SDL_VIDEODRIVER=wayland QT_QPA_PLATFORM=wayland XDG_CURRENT_DESKTOP=sway XDG_SESSION_DESKTOP=sway LANG=zh_CN.UTF-8 _JAVA_AWT_WM_NONREPARENTING=1 /home/yuchanns/.local/bin/wrappedhl
Type=Application
Hyprland 或者自定义的命令脚本https://github.com/rototrash/tokyo-night-sddm.git/usr/share/sddm/themes/etc/sddm.conf 将主题切换对应名称:[Theme]
Current=tokyo-night-sddm
bluetooth 用户组,然后将当前用户添加到该组:sudo groupadd bluetooth
sudo gpasswd -a $USER bluetooth
paru -S blueman