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 [email protected]: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-gtk
bash
需要在 ~/.bash_profile 添加:if [ "$(tty)" = "/dev/tty1" ]; then
exec sway
fi
yay -S flameshot
if [ "$(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 gui
fcitx5
和 fcitx5-configtool
和 fcitx5-gtk
pacman
不包含 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 [email protected]=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=4
fcitx
和 fcitx-configtool
pacman
不包含 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.gz
cilium-1.12.0/install/kubernetes
sudo KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm install cilium ./cilium --namespace kube-system --set operator.replicas=1 --set ingressController.enabled=true
sudo 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 bluetooth
nmtui
安装,执行 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
[email protected]: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