[[文章索引]]
WARNING
本文目前为草稿状态
低技术含量警告
由于笔者水平所限,本文记叙的内容对你来说可能相当于常识一样的存在,过于低级或者幼稚。
本文记录了在 Apple M1 Max 上安装 Asahi Linux 后配置 Sway 的全部过程。
以下为反链草稿
8 Linked Reference(s)
日志 2022-07-29
连接蓝牙 [[M1 Sway 全纪实 ]]
使用
bluetoothctl
进行连接首先执行
bluetoothctl
进入对话状态然后执行
scan on
开启扫描,注意你要连接的设备也需要开启配对状态通过扫描列表看到设备名字对应的 Mac Address XXXX-XX-XX-XX
输入
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
连接WIFI [[M1 Sway 全纪实 ]]
通过
nmtui
安装,执行 nmtui
进入图形配置界面即可日志 2022-07-30
安装 Cilium Ingress Controller [[K8s 系列 ]]
安装 k3s 时需要禁用
network policy
以及 traefik
: curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC='--flannel-backend=none --disable-network-policy --no-deploy traefki' sh -
此时会发现由于没有
flannel-backend 所以集群并不会执行安装,一直 pending使用 helm 安装 Cilium
首先下载 1.12.0 版本的源码到本地:
wget 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
观察到 cilium 开始安装,完毕之后集群也开始正常安装基础部件
安装 cilium 客户端,执行
sudo KUBECONFIG=/etc/rancher/k3s/k3s.yaml cilium status
观察安装结果Chromium 开启 HiDPI 和用户登录 [[M1 Sway 全纪实 ]]
谷歌禁用了 Chromium 的登录,需要在 GCP 配置 API 以及测试用户才能开启,参考
为 Chromium 恢复登录功能
默认情况下 Chromium 不开启 HiDPI 。在 M1 高分辨率下显得很模糊
执行
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 。Firefox 开启 HiDPI
复制
/usr/share/applications/firefox.desktop
到 ~/.local/share/applications
然后编辑内容,将所有 Exec
追加
Exec=env GDK_BACKEND=wayland CLUTTER_BACKEND=wayland SDL_VIDEODRIVER=wayland firefox
注意原本的参数不要丢弃,补充到这一串命令
后面。日志 2022-07-31
安装 Fcitx Rime [[M1 Sway 全纪实 ]]
首先安装好
fcitx
和 fcitx-configtool
pacman
不包含 aarch64
发行版,需要自己编译。分为三个部分
librime
、rime-data
、fcitx-rime
分别从 github
克隆三个库到本地,安装好 README 里提到的需要的依赖后 make 即可部分软件不支持。例如 Alacritty 和 Chromium 。对此可以使用 Konsole
和 Firefox 代替
安装完毕后使用 wofi 启动,waybar 右边出现输入法图标
使用 Firefox 进行输入验证
日志 2022-08-03
安装 Fcitx5 中州韵 [[M1 Sway 全纪实 ]]
首先安装好
fcitx5
和 fcitx5-configtool
rime 在
pacman
不包含 aarch64
发行版,需要自己编译。分为三个部分
librime
、rime-data
、fcitx5-rime
分别从 github
克隆三个库到本地,安装好 README 里提到的需要的依赖后 make 即可librime
cd librime
make -e prefix=/usr
sudo make install
plum (rime-data)
cd plum
rime_frontend=fcitx5-rime ./rime-install
fcitx5-rime
sudo ldconfig
cd fcitx5-rime && mkdir build && cd build
cmake -DRIME_DATA_DIR=~/.config/fcitx5/rime -DCMAKE_INSTALL_PREFIX=/usr ..
sudo make install
终端手动启动 Fcitx5 如果观察提示。
设置开机启动
在
~/.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
在 chromium 启用
在
~/.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
该方法通过 Xsway 渲染 Input Candidate
词库和皮肤推荐
四叶草拼音 rime-cloverpinyin
四季皮肤 fcitx5-themes
日志 2022-08-04
开机启动 Sway [[M1 Sway 全纪实 ]]
判断启动 [[tty1 ]] 的时候启动
取决于使用的 shell ,例如我使用的
bash
需要在 ~/.bash_profile 添加:if [ "$(tty)" = "/dev/tty1" ]; then
exec sway
fi
Sway 使用 M1 Sway 全纪实 ]]
Flameshot
[[安装
yay -S flameshot
在 sway 启动前注入一些环境变量,来源Sway and wlroots support
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
日志 2022-08-06
sway 配置 [[M1 Sway 全纪实 ]]
使用 mako 作为系统通知
使用 wofi 作为菜单工具
日志 2022-08-11
删除乱码文件名 [[Linux ]]
使用 inode 删除:
ls -i . # 获取文件节点号
find -inum 节点号 -delete
swaybg 随机背景 [[M1 Sway 全纪实 ]]
600s 随机 来源
#!/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 [[M1 Sway 全纪实 ]]
Chromium 无法使用,检查是否安装
fcitx5-gtk
,若没有则进行安装 yay -S fcitx5-gtk
日志 2022-08-12
设置浮窗 [[M1 Sway 全纪实 ]]
使用 wofi 打开窗口,并通过
swaymsg -t get_tree | grep class
来获取
app_id
在
~/.config/sway/config
中添加浮窗指令:(例如 Nautilus)for_window [app_id="org.gnome.Nautilus"] floating enable