Issue
1. 桌面端启动器找不到相关程序
XDG_DATA_DIRS 没有Nix对应路径
systemctl --user show-environment | grep XDG_DATA_DIRS
home-manager添加以下配置暂时解决
xdg.enable = true;
targets.genericLinux = {
enable = true;
gpu.enable = true;
};
2. 桌面端启动器只有一部份显示
在1解决后, 仍有部份不显示, 主要是找不到二进制程序, 原因是PATH没有包含Nix对应路径.
systemctl --user show-environment | grep PATH
3. 禁用用户级IBus
systemctl --user mask org.freedesktop.IBus.session.GNOME.service
4. code出现sandbox权限问题
放开AppArmor权限
echo "kernel.apparmor_restrict_unprivileged_userns=0" | sudo tee /etc/sysctl.d/60-apparmor-namespace.conf
5. 用户目录名称改成英文
LANG=C xdg-user-dirs-gtk-update
6. 远程桌面在无显示器时无法使用
gsettings set org.gnome.desktop.remote-desktop.rdp screen-share-mode 'extend'
NOTE: 远程桌面在无显示器时无法使用, 需要在图形界面先进行登陆.(核心原因, 缺少图形会话)
Hyprland
1. 安装sddm启动hyprland出现白色面板
主要是sddm是有引入kde相关的依赖, 如xdg-desktop-portal-kde, xwaylandvideobridge.
# 查看系统级的自动启动项
ls /etc/xdg/autostart | grep videobridge
# 查看用户级的自动启动项
ls ~/.config/autostart | grep videobridge
# 查看是否作为 systemd 用户服务运行
systemctl --user list-unit-files | grep videobridge
# 完全清除 kde和xwaylandvideobridge
sudo apt purge xdg-desktop-portal-kde xwaylandvideobridge
hyprlock锁屏后无法登陆
权限和共享库问题, Hyprlock 没有权限通过 PAM 验证你的密码.
see issues 7027
# 找不到pam的相关库, 软链接过去
sudo ln -s /usr/lib/x86_64-linux-gnu/security /usr/lib/security
# 配置hyprlock的pam配置.
sudo bash -c 'cat > /etc/pam.d/hyprlock << EOF
#%PAM-1.0
auth required pam_unix.so
@include common-account
@include common-session
EOF'
home-manager 配置:
programs.hyprlock = {
enable = true;
package = pkgs.hyprlock.overrideAttrs (oldAttrs: {
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.patchelf ];
postFixup = ''
file="$out/bin/hyprlock"
patchelf --replace-needed libpam.so.0 /usr/lib/x86_64-linux-gnu/libpam.so.0 "$file"
patchelf --add-needed /usr/lib/x86_64-linux-gnu/libaudit.so.1 "$file"
patchelf --add-needed /usr/lib/x86_64-linux-gnu/libcap-ng.so.0 "$file"
patchelf --add-needed /usr/lib/x86_64-linux-gnu/libcrypt.so.1 "$file"
patchelf --add-needed /usr/lib/x86_64-linux-gnu/libpam_misc.so.0 "$file"
patchelf --add-needed /usr/lib/x86_64-linux-gnu/libcap.so.2 "$file"
'';
});
# ...你的配置
};
问题排查:
# 查看日志
sudo tail -f /var/log/auth.log
# 锁屏会话
loginctl lock-session
# 解锁会话
pkill -USR1 hyprlock