个人对 Linux 的一些偏好设置
上一篇 利用 Xbindkeys 设置全局快捷键/一键切换输入法 中介绍了我关于系统快捷键的一点定制,这篇将继续介绍我个人对 Linux 的一些偏好设置,有些是为了提高效率方便使用,有些则是为了美观。
window.onload = function () {
document.querySelectorAll('.hide_code').forEach(function (div) {
var is = div.querySelectorAll('i');
is[0].click();
});
}
Bash.bashrc12345678910111213141516171819# History settings.# 配置显示 history 时显示时间HISTTIMEFORMAT="[%F-%T] "# 增加记录历史的最大条数HISTSIZE=10000HISTFILESIZE=20000# Alias definitions.# 将别名配置分离到独立文件中方便管理if [ - ...
利用 Xbindkeys 设置全局快捷键/一键切换输入法
就像在 DDE手势管理器:FAQ 中提到的,我对与电脑的交互方式一直有比较高的要求,毕竟工作加上生活娱乐,有太多太多的时间要花在电脑上了,符合个人习惯的操作方式可以极大地提高效率并缓解疲劳。除了触摸板手势和鼠标手势之外,我还有一些习惯的个人向系统快捷键设置,其中很重要使用频率极高的快捷键就是:通过单击键盘右侧的 Shift 按键切换输入法。
Why切换中英文输入法是一个使用频率极高的操作,尤其是在写代码和文档的时候。一般来说,默认的切换方式有两种:
使用 Ctrl + Shift 组合键,这是最符合一般习惯的。但是由于需要使用左手的小拇指和无名指以略微扭曲的姿势去按,所以长时间频繁使用会比较容易造成疲劳,而且需要按两个键的组合键,相比于按下一个键总归要多花一点点时间,这在高速打字或者需要尽快跟随思路编写代码的时候,这一点点的差别就可能会让人感觉到不爽。
使用中文输入法自带的方式切换中英文模式,比如搜狗输入法中可以选择切换中英文模式的快捷键: 但是搜狗输入法给出的选项是同时对左右两侧的 Ctrl / Shift 键生效的,而我只希望右侧的 Shift 键响应中英文的切换,因为正常来 ...
Docker 使用技巧杂记
记录一些使用 Docker 的经验和技巧,备忘 📝
加速Docker 镜像加速尝试过各种国内镜像,最终发现还是阿里云的最快,这与 【测速】使用不同的Docker镜像加速器下载速度 对比测试 这篇博客中的测试结果一致。由于阿里云会为每个用户分配独立的加速器地址,建议有阿里云账号的还是用自己的地址,查看方式是,登录阿里云账号后进入控制台,然后【容器镜像服务】->【镜像工具】->【镜像加速器】查看:
12345678sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
let _time;
const img = document.querySelector('[alt="aliyun_mirrors"]').parentE ...
DDE手势管理器-更新日志
[v1.0.2]
修复内置命令不生效的问题。
发布地址: v1.0.3
本站下载: com.debuggerx.dde-gesture-manager_1.0.3.3_amd64.deb
[v1.0.2]
修复删除最后一个本地方案配置时触发的程序内部错误;
修复退出单个手势编辑模式时,若手势配置不正确则会出现编辑界面清空的错误。
发布地址: v1.0.2
本站下载: com.debuggerx.dde-gesture-manager_1.0.2.2_amd64.deb
[v1.0.1]
加入软件启动时读取公告并显示的功能
修复点击 markdown 预览界面中的文字部分无法进入编辑模式的问题
接入 Sentry 异常收集平台
发布地址: v1.0.1
本站下载: com.debuggerx.dde-gesture-manager_1.0.1.1_amd64.deb
[v1.0.0]
正式使用生产服务器作为数据源
完成 Deepin/UOS 应用商店规范的 deb 打包
发布地址: v1.0.0
DDE手势管理器-说明手册
概述DDE手势管理器是专为 DDE 桌面环境打造的触摸板手势管理工具(缩写:dgm),客户端使用 Flutter 构建,支持如下功能:
创建、编辑、删除本地手势配置方案
将选定手势方案应用到系统中
注册登陆后可以上传、分享自己创建的配置方案
可以下载、点赞他人分享的配置方案
贴合 DDE 的 UI 设计风格,支持系统主题切换和活动色
支持多语言
使用入门您可以通过以下方式运行或关闭手势管理器,或者创建快捷方式。
img[alt=logo] {
display: inline !important;
margin: -0.2em 0.5em !important;
width: 1.5em;
}
运行手势管理器
单击任务栏上的手势管理器图标,进入手势管理器界面。
上下滚动鼠标滚轮浏览或通过搜索,找到手势管理器图标,单击运行 。
右键单击 ,您可以:
单击 发送到桌面,在桌面创建快捷方式。
单击 发送到任务栏,将应用程序固定到任务栏。
关闭手势管理器
在手势管理器界面,单击 ,退出手势管理器。
右键单击任务栏上 ...
利用 GitHub Actions 自动构建 Linux 内核为 deb 包
在上一篇中,我记录了如何通过源码直接编译并安装 Linux 内核,这一篇将介绍如何将内核编译为 deb 包,使我们可以方便地利用系统包管理工具对编译好的内核进行安装和删除等管理操作,以及如何利用 GitHub Actions 帮我们自动化编译。
本地编译主要参考 debian 的官方文档:编译内核源代码:Debian 内核团队推荐
相比于前篇介绍的步骤,主要区别如下:
使用 sudo apt-get build-dep linux 的方式即可自动安装编译内核所需的全部依赖
可以用 wget 直接从 http://www.kernel.org/pub/linux/kernel/ 这个位置下载所需源码包
使用 make deb-pkg 命令编译,即可生成内核的 deb 安装包。
利用 KVM 虚拟机隔离编译环境
为了不污染工作机的系统环境,我编译软件一般都是先用 KVM 开一个虚拟机进行编译,然后将产物拷贝到物理机使用,下面记录完整流程
下载系统镜像 iso 文件,我下载的是 UOS 系统的安装镜像,放置于 ~/Downloads/uniontechos-desktop-21. ...
修改 Linux 内核使系统启动时间缩短约 30 秒
首先注明,标题描述的修改效果并不具备普适性,仅仅是针对我刚买的新本子的特殊处理,但文中涉及的一些思路和技巧应该还是对处理解决类似的问题有一定的帮助。
对比视频
var bili1 = document.querySelector('#bili1');
var container = document.querySelector('#article-container');
bili1.height = (container.clientWidth * 3 / 4) + 'px';
问题描述趁着 618 活动新买了台红米 air 笔记本,cpu 是 i7-10510Y,希望可以日常使用 Linux,尝试了多个发行版基本都能正常使用,唯一的问题就是启动时,当在 GRUB 选择系统页面选择系统后,画面会停留在 GURB 主题背景页面长达 30 秒,然后才能继续开机流程。
尝试了最新的 Ubuntu 系统,也是类似的问题,唯一的区别是 Ubuntu 下是选择系统后电脑黑屏 30 秒然后出现加载信息。
查看 dmesg 信息可以看到如下错误:
123456 ...
Chrome 插件 : NewTabBeforeClose
简介这是一个 Chrome 插件,用于在关闭最后一个Tab时自动打开一个新标签页而不是关闭浏览器,行为表现模拟 世界之窗浏览器。
本人也算是世界之窗浏览器的老粉丝了,大约十五年前接触到这款浏览器之后就因为它简洁、轻巧、速度快、功能全面且人性化而一直使用。但是由于其被 360 公司收购之后逐渐停止更新,而且个人常用操作系统逐渐全面更换为 Linux,不得已只能强忍不适,将常用浏览器切换为 Chrome,多年过去也已经彻底习惯了。直到前些天看到 V2EX 上的这篇帖子:《浏览器关闭最后一个标签页后的行为》,又使我回想起了那些年有世界之窗相伴的日子,回忆起切换到 Chrome 后关闭最后一个标签页后浏览器会直接关闭而不是保留一个新标签页这一行为的不适与别扭——当时的我没有能力,只是个普通的计算机爱好者,而现在作为伪全栈开发有了折腾的能力,趁此机会就尝试编写了本插件,试图找回熟悉的感觉~
效果
实现细节Chrome插件开发学习主要参考资料如下:
【干货】Chrome插件(扩展)开发全攻略
Doc: Getting started
Doc: API Reference
Don’t Clo ...
MIB275中控加焊USB接口&无线carplay
最终效果
无线carplay,手机和中控都不用插线了,上车自动连接,wifi互联投屏
carplay版高德地图,中控屏显示地图导航,手机显示简洁信息,可以随便放在挡风玻璃前当HUD用或者放在一边充电
手机越狱以后还可以直接在大屏上看视频啥的
动机我这辆车的中控主机型号是 MIB275,使用体验真的是一言难尽……优点是反应还算快,音质马马虎虎,但是除此之外,导航难看(刷高德定制版后是顺眼些了但是每次启动自动进入导航界面,而且要连手机热点才能用,还是很不爽),蓝牙音乐功能简陋(无法实现音乐列表和封面图),所以很长时间我都是使用carplay来进行导航和听音乐。但是这款主机只有前面板一个usb口(包括2020款的车,虽然升级的275C主机更大更漂亮,但是仍然只有前面一个usb口),使用时必须插根线,首先每次上车要先插线很麻烦,而且很容易车子震动大的时候连接断开,副驾拿东西操作空调切歌的时候也很容易碰到,一根线拖老远看着也很不爽。另外还有一个问题,carplay连接的时候蓝牙音乐就不能用了,所以我手机通过carplay导航的时候,老婆大人在副驾想听自己手机里的歌我还得把carp ...
JSONFormat4Flutter v0.9 更新说明
JSONFormat4Flutter 是一个通过输入 json 字符串,生成可以在 Flutter 项目中使用(其实不止)的 dart 语言实体类代码的 GUI 工具。初版编写于2018年1月,由于当时还没有好用的同类工具,所以按照个人的偏好和理解以相对简单粗暴的方式编写了该工具,代码质量惨不忍睹,万万没想到会持续更新到今天。。。
迁移到空安全参考 dart 2.9 打开空安全后全错了,有计划兼容嘛? #30,在 Flutter 升级到2.0之后,默认开启空安全语法检查(参考:迁移Flutter项目到空安全的血泪史),这个工具生成的 json 代码全部都报错了,主要问题如下:
实例的变量需要在声明时初始化,或者在类的构造方法中进行初始化;
类的工厂方法不允许返回 null;
复杂逻辑下的可达性分析和空安全类型提升并不完美(例如对数组字段生成的赋值代码,循环中的 list 对象逻辑上不会为 null,但是语法检查器还是会将其判定为不安全的)
例如:
针对第一个问题,修改后生成的代码所有字段的类型均设置为可空。为什么不是保持字段类型为非空呢,参考:Map 的索引操作符是可空的,由于 ...












