/dev/ttyS3 - RSS Feed

Latest articles

gpg: signing failed: Inappropriate ioctl for device 解决办法

最近换了系统, git commit 在gpg签名的时候出错了: gpg: signing failed: Inappropriate ioctl for device 原因是 gpg 在当前终端无法弹出密码输入页面。 解决办法: export GPG_TTY=$(tty) 重新执行,发现会弹出一个密码输入界面。 参考:https://www.jianshu.com/p/2ed292ae2365 但是老灯觉得这不是解决办法,因为在此之前,我从来没遇到过这个问题。产生这个问题是有原因的。 于是再去看了一下Arch的文档,果然,有说明“Invalid IPC response and Inappropriate ioctl for device” 这个问题。虽然报错语句不一样,但是其实是一个问题。...

Paru -- The New AUR Helper

paru 是什么? 根据 paru 作者在 reddit 的描述 paru v1.0.0 and stepping away from yay Last week I announced my new AUR helper paru. Since then a lot of testing has gone in and a lot of bugs fixed by me and help from contributors. So I am now announcing paru v1.0.0 and consider it stable. I’d also like to mention I no longer plan to work on yay. I’ve been...

Build Static Lib Package Under ArchLinux

通常情况下,Arch 下的包不像 RHEL 系那样有单独的静态库 (RHEL系命名风格一般是 libXXX-static),但并不是说Arch下面的包都没有静态库,这个得看情况。比如 /lib/libresolv.a, /lib/librt.a 属于 GNU libc (glibc包), /lib/libstdc++.a 属于 gcc 包。 以 libgit2 包为例,ArchLinux 源里是没有提供静态库的。相对的, Ubuntu 有提供静态库的 package, 甚至连 ArlpineLinux 也有提供。 Fedora 下的 libgit2 好像没有静态lib。Ubuntu 是直接放在 libgit2-dev 包里 (/usr/lib/x86_64-linux-gnu/libgit2.a)...

Neovim Vala Lsp Integration Tips

The Issue 如果不是用到了一个叫 peek 的录屏软件,我可能没听过这个叫 vala 的语言,GNOME 搞出来的东西。 老灯日常用的 geary 邮件客户端和 peek 都是这个语言编写的。 老灯发现neovim 官方的 vala lang server 配置无法适用于 peek 这个项目。已经提交了 PR ( https://github.com/neovim/nvim-lspconfig/pull/789), 不过这个合并效率真是低,都两周了,还没动静,没给close 也没给merge. neovim 官方的 vala lang server 配置甚至无法用于正常浏览 vala-language-server 的源码。 git clone https://github.com/benwaffle/vala-language-server...

Neovim C Cpp Lsp Integration Tips

本文主要按 neovim lsp 来讲的,但是其中关于 lang server 的很多东西,其实是通用的。简单在此记录,备忘。 common lsp config 一般除了跳转定义,老灯还启用了 completion 自动完成以及 lsp-status 用于状态显示。 这里定义了一个公用的 mix_attach 用于lsp on_attach 事件 local lsp_status = require('lsp-status') lsp_status.register_progress() lsp_status.config({ indicator_errors = "❌", indicator_warnings = "⚠️ ", indicator_info...

Rust 交叉编译 OSX 二进制失败原因分析

缘由 起因还是在ArchLinux下交叉编译 git-cz OSX 二进制失败。 这个问题老灯折腾了很久,搞得几乎都要放弃了。 因为在 Linux 下交叉编译 darwin 平台的教程并不太多,能找到的资料也不尽是相同或相似的问题。 但老灯之前在 Fedora 33 及 Ubuntu 21.04 beta 下都能成功编译,因此,这个周末正好有时间 ,还是坚持分析了一下原因。 问题描述 git-cz 依赖 libgit2 的 rust 绑定库 (https://github.com/rust-lang/git2-rs),C 绑定部分代码是里面的子包 libgit2-sys (https://crates.io/crates/libgit2-sys) , 因此最后链接阶段,在交叉编译时,肯定是要链接...

How To Start Tmux as Systemd User Service

tmux 启动一下能有多慢?答案是,挺快的。 那为什么要有这种需求? 原因是布局恢复。 老灯目前使用的是一个tpm插件,名叫 tmux-resurrect, prefix + ctrl + r 即可自动恢复所有panel. 但是有个小问题,panel比较多,比如有10多个的情况下,启动tmux还是会小闪一下的,整个过程肉眼可见, 会造成操作上的停顿。比如你打开 Gnome terminal 马上就能执行命令了,但是你刚开机启动tmux,你得等几秒才能操作,就因为这个panel恢复。 怎么样加快这个过程?答案当然是,用户登录的时候就马上运行tmux呗。 这个比较简单,直接看 ArchLinux 的 wiki 整个 systemd unit 文件就好了。 不过 Arch 的 wiki...

How To Switch Caps Lock with Escape in Linux

Window: X11 DE: GNOME3 OS: ArchLinux 为什么会有这种需求? 当然是 vim 用户才有这种需求。 setxkbmap大法 setxkbmap -option caps:swapescape To make this work at startup, you can put it in ~/.profile as this will only run after the interactive login. gnome-tweak大法 对于GNOME用户来说,最简单省事的方法当然是使用 gnome-tweak 通过gnome tweak设置,实际上相当于执行了: gsettings set org.gnome.desktop.input-sources...

买了个APC UPS

今天回到家已经很晚了,一到家发现 NAS 是关机的, PC 按电源也没反应。 然后 发现 山特 mt 1000 pro UPS 灯是灭的。 几经折腾还是不能开机,没有一个灯亮的。查了一下狗东订单,这款 mt1000 pro大概是2018年12月入的。 点击申请售后,提示已经过保。但是商品页面写着3年保修(但是狗东保修那里没填写任何东西),24小时客服热线啊(大晚上估计没客服,也不抱什么希望了)。 手里还有个 山特 tg500,结果一试,发现也点不亮了。这下好了,俩 UPS 全挂。 当初买这款mt1000 pro,主要是看重它支持通过 rs232 串口来查询状态和控制断电自启选项。用 Golang 自己写了个程序,可以实现市电断了之后 NAS 自动关机 (网上找的文档,协议和功能都非常简单)。...

Golang RSA 如何私钥加密公钥解密

一般来说,加密主要用于消息的传递,并且传递的消息只有持有私钥的那个人能解密。 因此, 像 RSA 这种非对称密钥加密算法的常用场景是: 对于加密,公钥加密,私钥解密。 为什么不是 私钥加密,公钥解密呢? 因为使用场景是假定 公钥 都可以获取到,因而公钥解密这种操作也就与明文无异了。 有没有私钥加密的常用场景呢?当然是有,比如常见的签名操作。 明文消息 -> 进行 hash -> 对 hash 后的结果进行私钥加密, 这个加密后的结果就是签名了。 对签名进行验证实际上就是用公钥解密,然后把解密后的hash与原始消息的hash进行对比。 客户端:明文消息 -> 进行 hash -> 对签名使用公钥进行解密,并对比 hash 结果。 the story 早期版本的...

Discover, share and read the best on the web

Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!