这只是一些简单的备忘
一些没那么常用没那么重要,但是每次都要多少花点时间现查的东西罢了。
无桌面Linux配置开机自动登录
123456789sudo mkdir -p /etc/systemd/system/[email protected]/cat <<EOF | sudo tee /etc/systemd/system/[email protected]/override.conf[Service]ExecStart=ExecStart=-/sbin/agetty --autologin debuggerx --noclear %I $TERMEOFsudo systemctl daemon-reload
pve中配置swap硬盘
识别新硬盘:运行以下命令查看新添加的硬盘名称(通常是 /dev/sdb 或 /dev/sdc,这里以 /dev/sdb 为例):lsblk
格式化为 Swap 格式:sudo mkswap /dev/sdb
获取该硬盘的 UUID:sudo blkid /dev/sdb输出类似于:/dev/sdb: UUID=”xxxx-xxxx-x ...
重译『龍が如く0』ED —— 「紅」
2015年『龍が如く0 誓いの場所』发售,对我来说正是刚毕业初入社会的时期,到现在26年,正好十年。从一开始的迷茫、无所适从,到后来挣扎、焦虑,再到虽身处舒适区中却无法抑制对近未来AI与人类关系的悲观与不安,每当听到「紅」这首歌,都会没来由的被稍稍唤醒血管中流淌着的无糖可乐,暂时让廉价的鼓动得以占据长期被杂念侵扰的大脑。
2015年『龍が如く0 誓いの場所』发售,对我来说正是刚毕业初入社会的时期,到现在26年,正好十年。从一开始的迷茫、无所适从,到后来挣扎、焦虑,再到虽身处舒适区中却无法抑制对近未来AI与人类关系的悲观与不安,每当听到「紅」这首歌,还是会没来由的被鼓动起血液中原始的冲劲儿,暂时让感性浸润被理性的杂念侵扰的大脑。
所以这是对我个人来说很重要也很感激的一首歌。
但由于种种原因,网上这首歌的中文翻译多少存在一些问题,或与个人的理解有些偏差。于是再次不自量力,想试着翻译一版。
个人向渣翻いつか天をめがけ昇る 金色の龍の様に舞う以天空为目标升腾着的锦鲤 终将像龙一样飞舞
俺は迷わないぜ もう後にはひけないと 紅に誓う已经没有退路 我向背后的朱红起誓不会再犹豫不前 ...
每周TODO——个人向待办管理工具
独立开发三件套 - 记账、日记、TodoList。没能免俗,我也做了个TODO工具😂
why简单来说,是因为我真的不喜欢记待办(更不喜欢记账和写日记正经人谁写日记啊)。以前试过用记事本📒、便签📝记录,也试过滴答清单、Worktile等专业工具,但总是用一段时间觉得不爽就没能坚持下去了。比如:越用越烦,每次打开前都要做好心理准备……我老婆还要更自律一些
以及不知道有没有人懂这种心理——有时候不做计划的时候还能偶尔想起来做点自律的事情,但是一旦下定决心做了计划,反而产生了拖延情绪彻底躺平,还不如没做计划之前的表现🤣
但是最近工作内容异常繁杂,临时需求频发,靠记忆属实不太现实。这次我先用了一周的飞书文档,又用了一周的飞书任务管理,果然还是不顺手,最终决定为自己做一个“恰到好处”的Todo工具。
分析一下对我来说的“恰到好处”需要的
因为现在工作一般是以周为单位开展,而且需要写周报,所以我的任务管理工具也应该以周为时间单位
喜欢类似Jira面板那样拖拽的方式流转任务状态,拖动的时候总有种莫名的爽感(爱撕机膜人)
新一周开始自动同步上周的未完成任务,即使是已完成的任务如果太多了看上去 ...
Linux通用键位修改
下面的修改主要是因为:
现在习惯使用84配列的机械键盘,该配列下Insert键常被精简为需要和Fn键组合触发,这样使用IDE时某些快捷键不是很方便使用,反倒是PrtSc这个不常用的按键被保留了,所以把PrtSc键映射为Insert可以提高效率
现在使用Fcitx5,虽然右侧Shift可以设置为输入法切换按键,但是无法将右Alt、Ctrl键设为热键;同时由于开始尝试双拼,v这个默认用于触发快速输入的按键在双拼模式下需要使用,所以把右Alt键映射为F16,这样即可实现用右Alt进入快速输入模式
主要参考文章:
Linux通用键位修改(中)-实际操作
ArchLinux 键盘映射:交换 CapsLock 和 Ctrl
修改操作:
12345678910# 将PrtSc键映射为Insert# 将右Alt键映射为F16(XF86Launch7)sudo tee /etc/udev/hwdb.d/90-custom-keyboard.hwdb &>/dev/null <<EOFevdev:input:b0003* KEYBOARD_KEY_70046=inser ...
fcitx5_customizer —— 一个让 Fcitx5 更符合简中用户使用习惯的优化脚本
Fcitx (Flexible Input Method Framework) ──即小企鹅输入法,它是一个以 GPL 方式发布的输入法平台,是在 Linux 操作系统中常用的中文输入法。它的优点是,短小精悍、跟程序的兼容性比较好。而 Fcitx5 则是 Fcitx 的接替版本,其 slogen 是 maybe a new fcitx. 但是初始状态下的 Fcitx5 由于词库的缺失以及默认配置与很多人的习惯不同,所以需要进行一些修改和配置才能获得比较好的体验,于是我创建了一个专门用于优化 Fcitx5 的脚本——fcitx5_customizer
使用方法1234567891011# 完全自定义bash fcitx5_customizer.sh# 使用推荐配置bash fcitx5_customizer.sh recommend# 在线运行bash -c "$(curl -fsSL https://fcitx5.debuggerx.com/fcitx5_customizer.sh)"# 在线运行并使用推荐配置curl -sSL https://fcitx5.debuggerx.c ...
远程监视器——使用Flutter/Dart开发的Linux系统状态监视APP
简介这是一个利用 Flutter/Dart 编写的,用于显示 Linux 系统状态信息的APP,可以运行在包括Android、iOS、Linux、MacOS、Windows等平台上,兼容从小屏手机到大屏幕电视等各种尺寸的展示,支持局域网自动发现服务,也支持通过网络远程使用。
开发动机
组了台洋垃圾E5主机,配的是一颗10核20线程的CPU,所以想做一个可以随时获得数框框快乐的工具
钟爱的 deepin 系统升级v23版本后系统环境改动很大,原本使用的dock栏网速插件和悬浮窗插件失效了,所以打算做一个替代品
除了日常使用 Linux 桌面,手里还有一些运行 Linux 系统的云服务器、虚拟机和机顶盒等设备,所以想要做一个无关发行版和桌面环境,通用的系统监视工具
家里一堆淘汰的旧手机想要利用起来,并且用旧手机做系统状态监控可以在不占用一丁点的电脑屏幕空间情况下显示足够丰富的信息
特性
支持Android直接下载安装APP,iOS、Linux、MacOS、Windows等可以无修改直接支持
多CPU架构支持(X64、ARM64)
适配各种屏幕尺寸的显示、支持横竖屏切换
适配多核心的自适应 ...
在 flutter 中利用 source_gen 实现条件编译(下)
在前篇 在 flutter 中利用 source_gen 实现条件编译(中) 中,我们利用 source_gen 实现了一套基础的条件编译流程。
但是目前这套方案还有几个实用性问题:
条件的表达力太弱,缺乏平台类型的组合和取反操作,一旦需要处理的平台类型超过两个就会很难处理 1234567891011/// 例如,如果有三个平台类型[android、ios、desktop],那么代码需要写成下面的样子:@PlatformSpec(platformType: PlatformType.desktop)String platform = 'Desktop';@PlatformSpec(platformType: PlatformType.android)String platform = 'Mobile';/// 即使 ios 和 android 的代码完全相同,也必须再写一遍@PlatformSpec(platformType: PlatformType.ios)String platform = 'Mobile';
生成的代码存在格式丢失情况,尤其是尾随逗号(trailing ...
在 flutter 中利用 source_gen 实现条件编译(中)
在前篇 在 flutter 中利用 source_gen 实现条件编译(上) 中,主要介绍了在 Flutter 跨平台开发过程中“条件编译”特性的需求及现状。本篇将介绍一种利用 Flutter/Dart 官方的代码生成库 —— source_gen 实现条件编译的方法。
从 json_serializable 认识 source_gen
如果是按部就班地学习 flutter,那么应该是在 JSON 和序列化数据 这篇教程里第一次认识 flutter/dart 的 source_gen(代码生成) 技术。
json_serializable 做了什么在网络应用开发中,经常需要做 JSON 对象的序列化和反序列化。如果直接使用 dart:convert 包将json字符串反序列化,得到的将是一个通用的Map/List结构,然后开发时通过输入字段名字符串的方式从中取值,非常的不方便,所以在前后端已经定义好数据格式时,通过预定义实体类,json解析后将字段值映射到这个实体类的属性上,就可以在开发时获得类型提醒和约束,从而极大提高开发效率,并降低出错的概率。而json_serializab ...
基于Gitea+Drone的CI系统
关于CI系统(Continuous Integration),我已经有过了一些学习和实践了:
GitLab CI/CD (一) :自动打包部署Flutter项目 | DebuggerX’s BlogGitLab CI/CD (二) :自动编译部署Web项目 | DebuggerX’s Blog利用 GitHub Actions 自动构建 Linux 内核为 deb 包 | DebuggerX’s Blog
那么为什么还要再折腾这样一套CI方案呢?
GitLab的CI/CD:很好,很强大,功能非常完善,非常建议中小团队作为自建代码管理部署平台使用,唯一的问题就是太重了,需要一台性能配置颇高(至少使用2 vCPU和4 GiB内存)的独立服务器
GitHub Actions:也很好,使用非常方便,非常建议个人项目使用,但是同样缺陷明显,虽然可以部署私有runner,但是由于GitHub本身无法self-hosted,所以使用体验很受网络质量影响,并且由于各种安全限制,私有仓库使用体验不是那么的方便
所以基于如上原因,我是在家里一台24小时运行的小服务器上部署了一个 Gitea 服务,并将 ...
在 flutter 中利用 source_gen 实现条件编译(上)
随着 Flutter 3 正式发布,Flutter 的跨平台之旅迈入高潮。现在,Flutter 3 增加了对 macOS 和 Linux 应用的稳定支持,这意味着我们可以仅用一套代码库,为 6 个平台构建精美的体验。
一套代码跨平台的问题迄今为止,我已经使用 flutter 开发了数个跨平台项目,有的是相对常见的 Android / iOS 双平台项目,也有横跨桌面端、移动端和 Web 端这种平台差异更大的项目。由于 flutter 项目是使用同一套代码来编写所有目标平台的界面和逻辑,所以时常会出现以下情况:
不同平台下需要运行不同的代码逻辑例如,在 Android 平台上,应用左上角默认的返回键图标是【】,而在 iOS 平台上,默认的返回键图标样式是【】(参看:平台行为差异和适配 - 图标),为了能够使应用在不同平台上可以表现得更加符合平台的风格和习惯,往往需要判断运行平台编写分支代码
一般做法针对上面的例子,参看 flutter sdk 中 BackButton 的源码 back_button.dart#L31:
1234567891011121314151617181920c ...







