分类 Linux 下的文章

参考:
修正linux下wayland的chrome輸入與顯示錯誤
无法在Chrome(Wayland)中使用fcitx5
Wayland下使用UseOzonePlatform无法显示界面 #2300
support IME under native Wayland #33662
Vscode does not launch in wayland session #146349
Ozone-wayland: support text_input_v3 protocol

Chromium从98版本开始已经默认支持Wayland,用户可以通过--ozone-platform-hint=auto参数启用Wayland支持。问题根源在于 Chromium对Wayland的兼容措施还没有完全释出, text-input-v3 支持虽然已经合并但因为前者还存在一些问题。
2025-06-29T19:56:53.png
作为对wayland支持的努力,UseOzonePlatform现在是 chrome://flags/#ozon-platform-hint 中的一个实验性选项,默认没有启用。
启用后选择auto即可,但是理论上应该确保XDG_RUNTIME_DIR 和 WAYLAND_DISPLAY 等环境变量正常传递,这可能影响Chromium对当前运行环境的识别,
终端执行 echo $XDG_RUNTIME_DIRecho $WAYLAND_DISPLAY,正常应返回类似 /run/user/1000 wayland-0 的路径。
查找资料过程中发现用户使用--ozone-platform-hint=wayland 后只有第一次重新启动是正常的,第二次就无法启动
我的终端里可以看到刷屏的报错:

[10091:10136:0630/034118.878942:ERROR:gpu/command_buffer/client/client_shared_image.cc:133] Failed to map the buffer.
[10091:10136:0630/034118.878946:ERROR:gpu/command_buffer/client/client_shared_image.cc:231] ScopedMapping init failed.
[10091:10136:0630/034118.878951:ERROR:gpu/command_buffer/client/client_shared_image.cc:431] Unable to create ScopedMapping
[10091:10136:0630/034118.878957:ERROR:cc/raster/one_copy_raster_buffer_provider.cc:303] MapSharedImage Failed.
[10091:10136:0630/034118.878964:ERROR:ui/gfx/linux/client_native_pixmap_dmabuf.cc:49] Failed to mmap dmabuf: 权限不够 (13)

丢给Deepseek分析:

根据您提供的错误日志,问题核心在于 Chromium 在 Wayland 环境下尝试使用 DMA-BUF 共享内存时出现权限问题,导致 GPU 进程初始化失败。以下是针对性的解决方案:

- 阅读剩余部分 -

OS info

操作系统: Fedora Linux 42
KDE Plasma 版本: 6.4.1
KDE 程序框架版本: 6.15.0
Qt 版本: 6.9.1
内核版本: 6.15.3-200.fc42.x86_64 (64 位)
图形平台: Wayland
处理器: 16 × AMD Ryzen 7 5800H with Radeon Graphics
内存: 32 GiB 内存 (31.2 GiB 可用)
图形处理器: NVIDIA GeForce RTX 3060 Laptop GPU
制造商: MECHREVO
产品名称: Jiaolong Series GM5ZG0O

(base) [xfox@fedora ~]$ sudo dnf history list
[sudo] xfox 的密码:
ID Command line Date and time Action(s) Altered
10 dnf history undo 5 2025-06-29 15:33:23 25
9 dnf history undo 4 2025-06-29 15:27:40 185
8 dnf history undo 7 2025-06-29 15:27:27 9
7 dnf install mumble 2025-06-29 15:13:49 9
6 dnf install chromium 2025-06-29 15:13:24 5
5 dnf install fcitx5-rime 2025-06-29 15:13:02 25
4 dnf install steam 2025-06-29 15:06:00 185
3 dnf update 2025-06-29 14:52:55 1773
2 dnf5 --config /kiwi_dnf5.conf -y --disable-plugin=priorities,versionloc 2025-04-09 12:07:14 1977
1 dnf5 --config /builddir/result/image/build/image-root/kiwi_dnf5.conf -y 2025-04-09 12:05:15 286

at least after undo 5 (remove fcitx5-rime) system can run normaly .
Actualy undo 3 was not run ,because when I login tty network was not connect.
Now I will try install Steam , fcitx5-rime and other I needed software one by one and log system status after install anyone with reboot.

install steam ok ,sys status ok.
install clash-verge ok ,sys status ok.
install fcitx5-rime ok ,sys status Crash!
after remove fcitx5-rime in tyy and reboot ,sys normaly run.
IMG20250630001222.jpg
Now test will continue.
install mumble ok ,sys status ok.
install fcitx5-chinese-addons ok ,sys status Crash!
Now we know problem in fcitx5

2025-06-29T17:05:13.png
ABRT Analytics -Problem

后续

从问题繁多的ibus切换回Fcitx5-rime

Fedora42 KDE wayland Crash #138 Closed
在排查事故原因后,维护者认为这和fcitx5-qt软件包存在关联,我也确实在Fedora 和KDE 相关的bug反馈处找到了一些较为直接的证据,并且Github维护者提醒我,在Wayland下我其实并不需要这个包。
所以,如何在不安装这个包的前提下安装fcitx5-rime?
dnf 支持使用--setopt=install_weak_deps=False停用默认安装弱依赖项的行为。

  743  sudo dnf install fcitx5-configtool
  744  sudo dnf install fcitx5-rime --setopt=install_weak_deps=False

如此一来我就可以绕过存在问题的软件包继续使用fcitx5-rime。

使用公共服务:http://udp.xnkiot.com/ 在此感谢该公益服务提供者。

## Python 跨平台测试示例
import socket
# 创建一个 UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送数据
message = b'Hello, UDPQwQ'
sock.sendto(message, ('8.135.10.183', 53093))
# 关闭 socket
sock.close()

为什么有这个测试?

那就...得问某个喜欢女装的港仔了。

我正在使用机械革命的设备,有得必有失,便宜的价格意味着某些硬件性能的阉割————比如糟糕的麦克风拾音效果。这主要是因为散热风扇的巨大底噪导致的。

好在,要解决这个问题理论上还不算太困难,语音降噪技术已经相当成熟,我们有许多降噪方案可以选择。
这次我打算试试NoiseTorch这个项目,如果部署体验一段时间后效果不错,我将会在Linux用户站同步更新部署方案。

尝试部署

从Github下载最新的二进制预编译程序,截至目前是v0.12.2
压缩包的结构如下:
2025-05-10T13:11:04.png
在压缩包所在目录执行:
tar -C $HOME -h -xzf NoiseTorch_x64_v0.12.2.tgz
此时desktop等文件应该已经位于正确的位置了,接着刷新桌面环境缓存使其正常显示在应用列表。
对于KDE用户:

kbuildsycoca5 --noincremental  # KDE5

kbuildsycoca6 --noincremental  # KDE6

对于Gnome用户:

gtk-update-icon-cache

在菜单搜索noise即可找到:
2025-05-10T13:39:40.png
你可能会看到如下窗口:
2025-05-10T13:42:04.png

窗口提示你 NoiseTorch 当前无法正常运行,因为它需要 CAP_SYS_RESOURCE 权限(一种 Linux 系统的高级权限)。如果你不了解此权限,可以点击下方的 “Grant capability (requires root)” 按钮,程序会尝试自动获取权限(需要输入 root 密码)。
如果你没有使用常见的桌面环境,可以手动执行命令授权:
sudo setcap cap_sys_resource+ep /home/$USER/.local/bin/noisetorch
如果你通过点击完成了授权,程序将在授权后自动重启,你会看到类似下图的窗口:
2025-05-10T13:59:46.png
默认开启了对麦克风的噪音过滤,你需要选择正确的PC麦克风设备(我的是Family 17h/19h/lah HD Audio Controller)并点击Load NoiseTorch
接下来,你会发现音频管理器里 多了一个输入设备:
NoiseTorch Microphone for Family 17h/19h/lah HD Audio Controller
随后,你可以在需要麦克风的设备中选择使用该设备即可实现麦克风降噪输入。
2025-05-10T14:05:02.png

效果体验:

坦白来说,效果不太理想。但是...这貌似不是因为软件导致的,因为我的麦克风真的是太烂了,我感觉他明显受到了某些电磁/震动干扰。或者说,我买回来的时候这玩意压根就是损坏的状态。
通过Audacity录音测试,我感觉是从完全不可用的状态到了很炸但是能听见人声的状态。
具体效果有待上游戏验证。录音太炸裂就不放了。
其实,就算用不了我也可以用MT6 Pro的麦克风,而且这个自带ENC降噪

关于翻译和打包问题

根据internalisation i18n,尽管项目目前还没有正式的支持多语言,但是显然社区都很乐意提供翻译支持,后续我可能会尝试fork 并提交第一个简体中文版本。
其次是有必要的话直接对项目进行打包生成便于安装部署的deb/rpm软件包。

你是否正在使用沉浸式翻译?或者划词翻译
前者可以通过开发者模式直接填写使用Deeplx ,而后者则不能直接兼容Deeplx API,需要根据划词翻译的自定义API格式对请求作转换处理,我们这里就使用到了Hcfy-Deepl Translation Adapter完成这一处理过程。

本文的免费原理:Claw Cloud 为注册用户免费提供5美元免费额度,其中Github账户注册时长180天以上的用户还可以每月免费获得5美元免费额度,因此我们可以利用免费额度运行一些资源占用较低的服务,比如:Deeplx及Hcfy-Deepl Translation Adapter

- 阅读剩余部分 -

评论区的广告骚扰涉及毒品广告,包括Github仓库和最终指向暗网的洋葱域名链接,URL是一个.ru域名,评论发送IP:149.50.116.160。

恶意攻击方面,比如:XSS试探攻击。
其中,一个IP为:38.147.191.215 来自Cogent的HK机房IP
评论内容为 http://xxxxxx/">alert(1)<a/href="#",其核心目的是通过闭合HTML标签注入JavaScript代码。
不过显然这种低级的漏洞试探对Typecho 1.2.1完全无效。

昨天凌晨准备更新文章的时候意外发现Linux用户站后台无法正常登录,点击登录后直接跳转到了主页面。
受限于时间原因,修复工作到了当天晚上下班。
开机后再次在PC上复现BUG 我的第一反应就是反向代理出现了问题,果不其然在网上找到了不少使用CDN后出问题的例子。
Github也有人提出了相关问题,最终解决方案:经过反向代理后,系统没有识别https

sudo nano config.inc.php
添加:

//  set ssl
define('__TYPECHO_SECURE__', true);