avatar
文章
21
标签
34
分类
6
首页
归档
标签
分类
友链
关于我
Logo橙子冰棒的博客
首页
归档
标签
分类
友链
关于我

橙子冰棒的博客

Python脚本无法输出stdout到journald解决方案
发表于2026-06-23|系统
现象当一个 systemd 服务的执行内容为一个python脚本时,在journalctl中无法观察到python脚本的stdout内容。 原因这是因为 Python 默认对 stdout 使用行缓冲,但在 systemd 环境下(非交互式终端)变成了全缓冲,导致日志在进程退出前才刷新。(骗你的,甚至可能退出了也不刷新) 解决方案两种解决方案: 1. 添加环境变量最方便的一个方案,添加一个PYTHONUNBUFFERED(Python unbuffered)环境变量,可以直接解决这个问题。systemd单元文件支持Environment参数,添加起来很方便。 12[Service]Environment="PYTHONUNBUFFERED=1" 2. 手动刷新在脚本中每次 print 后手动刷新。例如,添加 sys.stdout.flush(),或使用 print(..., flush=True)。 (我没试过方案2,方案1直接把事情解决了哈哈哈) 至此,问题解决。
个人starship配置分享
发表于2026-05-15|系统
效果展示 显示完整的工作目录(home目录自动折叠) 异常退出错误码显示,兼容管道 用户名显示 Catppuccin Mocha配色方案 git与技术栈识别 此方案在distrobox中也可以使用!并且会自动在开头添加distrobox容器名称。 上配置!123456789101112131415161718192021222324252627282930313233343536373839404142434445464748palette = "catppuccin_mocha"[username]disabled = falsestyle_user = "bold green" # 普通用户颜色style_root = "bold red" # root 用户颜色show_always = true # 始终显示用户名[status]disabled = falseformat = '[$status]($style) ' # 显示格式,例如 [1]styl...
ATK设备在Linux上无法使用网页驱动的解决方案
发表于2026-01-27|系统
前言最近因为有移动办公的需求,买了个ATK的无线机械键盘(感叹机械键盘市场真卷,200不到的键盘做的比我一年半之前花将近2000买的好)。选ATK一个很重要的点就是他们有支持Linux的网页面板驱动。 到手之后有线连接,打开浏览器,提示只支持Chrimium内核的浏览器。正常,Chromium提供的开发接口确实比Firefox多。 切到Chromium,点击新增设备,左上角弹出的窗口中选中ATK键盘,确定。随后我就傻眼了:在屏幕中间显示的键盘是正确的,但是状态是“休眠”,无法进行设置。 原因网上搜索了一通,发现我想要说的前人们都说过了有人已经踩过坑了: Linux 按照里面的修改USB/HID设备权限部分临时测试了一下,发现确实是设备权限的问题,修改为可写之后就能正常使用了,于是准备用里面提供的方法来将配置持久化。然而,进行到添加当前用户到plugdev组这一步时,我发现我当前的ArchLinux并没有plugdev这个组。抱着怀疑的心态查了一下ArchWiki,果然发现有问题: OWNER、GROUP 和 MODE udev 值可用于提供访问权限,但会遇到如何使设备对所有用户可...
ArchLinux将ESP分区从/boot改挂到/efi
发表于2026-01-17|系统
btrfs 因其快照功能,成为许多 Arch Linux 用户在滚动更新中的重要保障。然而,若 ESP 分区挂载不当,内核回滚后可能导致系统无法启动。 为什么会这样?在当代Linux的设计中,统一内核镜像(UKI,可以简单的认为是一个Linux内核的可执行文件)是保存在/boot目录下的,每次你更新内核时,UKI都会被覆盖为新的内核镜像。但是,ESP分区(一般都)是FAT32文件系统,不受btrfs的快照保护。如果你把根目录回滚了,但是ESP还是新的内核,找不到匹配的headers和其他必要文件,就会直接导致系统崩溃。 怎么看有没有挂载对?终端里面lsblk一下,找到你的系统所在的物理硬盘。其中有一个很小的分区,大小约在400MB至1GB左右,一般排在你系统卷的前面。这就是ESP(EFI)分区。在这行的右边会显示这个分区的挂载点,如果显示/efi或者/boot/efi(不建议,但不影响回滚,就别去动它了)就是没问题的;如果直接一个/boot写在那里,那就是我们要解决的问题。 注意事项本文适用前提:你的Linux系统盘用的是btrfs,并且引导模式是UEFI。 以下情况无需担心本文...
解决ArchLinux上Onlyoffice和WPS卸载后没有清除mimetype的问题
发表于2025-12-27|软件
症状在尝试Linux上哪个办公软件最适合我时,我一度从AUR下载了onlyoffice-bin和wps-office两个包。后来我意识到还是Calligra和LibreOffice最好用,于是又把它们卸载了。然而,这玩意儿并没有完全卸载干净。 比如,如果右键某个docx文件,选择打开方式,有一个没有图标的ONLYOFFICE留在里面,如果尝试用这个东西打开,会显示类似“找不到/usr/bin/onlyoffice-desktopeditor”这样的提示。 WPS的问题相对更隐蔽,它是直接为自己的能够打开的所有文件类型都重新注册了一个mimetype,我是在KDE设置中的文件关联设置中搜了wps才发现的。 两个问题都无法通过重新安装包再-Rns来删除。 分析不像Windows,Linux没有注册表这么复杂的东西。Linux桌面对于mimetype的处理很简单,它通过读取/usr/share/mime/和~/.local/share/mime/目录中的XML文件来创建新的MIME类型,随后通过扫描/usr/share/applications/与~/.local/share/appl...
iStoreOS部署WireGuard实战与踩坑
发表于2025-12-24|网络
我的iStoreOS网关上原本部署的是IKEv2作为回家的工具,然而前不久自签证书过期了,考虑到证书签发太麻烦,再加上对安全性的考量,最终选择了换用WireGuard。 WireGuard兼顾了安全与易用两大特性:它采用类似SSL的非对称加密与类似SSH的公钥交换机制,连接方式简洁高效,甚至支持网络漫游功能,并对未来量子计算机的威胁有所防范。此外,WireGuard不仅已被纳入Linux内核主线,还获得了iStoreOS的原生支持——综合来看,我本就应当优先选择它。 WireGuard是一个点对点的连接协议,所有节点地位平等,不存在“服务端”“客户端”之说。然而,在本文的配置中,为了方便起见,以“服务端”代指位于网关上的WireGuard节点,具有固定的IP地址或者(至少是)固定的域名;以“客户端”代指在家庭内网外的移动设备上的WireGuard节点。 环境iStoreOS 24.10.4 2025120511,主网关,PPPoE拨号。有公网IPv6,已解析到域名。理论上,所有带有LuCI网页面板的OpenWRT都可以适配本文的方法,只是手动多装几个软件包的区别。 WireGu...
C#获取Process的性能占用信息
发表于2025-12-11|编程
很多MC服务器启动器高级功能中有一项是能够实时监控服务端进程的性能占用,这需要管理器进程能够获取到服务端进程的CPU和内存占用情况。 LSL是使用C#编写的,但是.NET没有任何现成的类能够集中监控这些数据。唯一一个能够获取到这些数据的类是.NET Framework 4.6.2中的PerformanceCounter,但是首先,这玩意儿在高版本的.NET中已经被移除了;其次,它只兼容Windows平台;第三,这东西虽然详细,但是没有任何卵用,因为它监控的是C#应用程序本身的性能信息,管不到Process对象上…… 所以,我们只能自己动手丰衣足食了。 示例123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108...
AvaloniaUI在TemplatedControl中使用ItemsRepeater
发表于2025-11-22|编程
众所周知,AvaloniaUI的ItemsRepeater是一个用于显示数据集合的控件,能够很方便地从一个ObservableCollection中的数据生成多个子控件。 又众所周知,在AvaloniaUI中,实现自定义控件的最佳实践是使用模板控件(TemplatedControl)。 然而,当你想要在TemplatedControl中使用ItemsRepeater时,你会发现,ItemsRepeater内部DataTemplate的DataType并不会正确使用ObservableCollection内部的类。例如,以下这种情况会直接报编译错误: 1234567891011121314151617181920<Styles xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:controls="using:MyApp.Controls">...
C#编程守则
发表于2025-11-15|编程
介绍本页是我在学习C#时总结的一些相关编程约定,不定期扩充。 不一定要完全遵守约定,对于某些确有其事的需求,小小的不遵守一下也无伤大雅。 命名约定总则详见C#官网,特别注意关于静态字段的命名约定。这些约定检查已经内置于JetBrains Rider等IDE中。 如果某些你认为应该使用Pascal法的字段实际上使用驼峰法命名,考虑一下是否可以将它们转换为访问器而非字段。 细则 不要将To替换为2 最好不要缩写以避免全大写命名。对于实在太长以至于必须缩写的,可以设置项目级忽略 例外:ID建议命名为Id 日志相关(Microsoft.Extensions.Logging.LoggerExtensions) 总是使用模板而不是字符串拼接以优化性能 命名所有模板空位以增加可读性 不要在Message中使用Exception.ToString(),而是使用LogError(Exception? exception, string? string)重载
Fcitx5输入法兼容性配置杂谈
发表于2025-10-25|软件
本文包括:Arch Linux上KDE Wayland环境下Fcitx5输入法的兼容性配置,包括但不限于:Flatpak应用,Qt应用(如wemeet),Electron应用(如新QQ)。 Wayland基础配置(共通)本段更新于2026/4/21,此时ArchWiki已更新,主要修改了关于GTK_IM_MODULE与QT_IM_MODULE的设置问题。 我相信没人还在用X11了吧?(笑) Wayland下的fcitx5是基本开箱即用的,本段的配置是用于正常使用XWayland应用程序的。 为了支持GTK: ~/.config/gtk-3.0/settings.ini12[Settings]gtk-im-module = fcitx 请勿设置GTK_IM_MODULE环境变量。 为了支持Qt,设置以下环境变量: Qt5与非KDE桌面也需要这些环境变量。 /etc/environment12QT_IM_MODULES=wayland;fcitxQT_IM_MODULE=fcitx 为了支持其他的XWayland应用程序: /etc/environment1XMODIFIERS...
123
avatar
橙子冰棒
本站收录了橙子冰棒在信息技术旅程中遇到的各类问题与成功经验,供各位自由查看。希望能够让各位在编程或折腾时少走一些弯路!
文章
21
标签
34
分类
6
Orange-Icepop Github
公告
This is my Blog
最新文章
Python脚本无法输出stdout到journald解决方案2026-06-23
个人starship配置分享2026-05-15
ATK设备在Linux上无法使用网页驱动的解决方案2026-01-27
ArchLinux将ESP分区从/boot改挂到/efi2026-01-17
解决ArchLinux上Onlyoffice和WPS卸载后没有清除mimetype的问题2025-12-27
分类
  • MC1
  • 硬件2
  • 系统4
  • 编程5
  • 网络4
  • 软件5
标签
WPS 输入法 iStoreOS 软路由 ONLYOFFICE mimetype Minecraft开服器 Appx netplan TacZ Mod udev Ubuntu Linux Aria2 .NET 命令行 Wayland KDE systemd 图拉丁 VPN StableDiffusion C# Minecraft 防火墙 服务器 ArchLinux IPv6 UEFI AvaloniaUI Chrome Java Windows
归档
  • 六月 2026 1
  • 五月 2026 1
  • 一月 2026 2
  • 十二月 2025 3
  • 十一月 2025 2
  • 十月 2025 1
  • 九月 2025 1
  • 八月 2025 3
网站信息
文章数目 :
21
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By 橙子冰棒框架 Hexo 8.1.2|主题 Butterfly 5.5.5