kitty+systemd+less
默认,systemd的 调用了pager的 命令行工具,如coredumpctl info / systemctl --list-unit-files
如果调用的是less的话,不支持鼠标向下滚动
解决方法; 设置PAGER='less --mouse‘ (其实 有没有--mouse,都支持mouse)
这样,在多数终端模拟器中,鼠标滚动都能用了
。
但是,用kitty,这样不行,需要设置
SYSTEMD_LESS='FRSMK' #里面不能有X (所有终端,都可以用这个)
因为:
据说kitty只在 alternate screen为active时(程序向终端发送initialization和deinitialization字符串),才发送滚动事件
而
systemd默认传给LESS一些选项(环境变量) :“FRSXMK”,“X”即代表 --no-init :不发送 initialization 和 deinitialization。
所以kitty不会发送滚动事件,less无法滚动
因为这些选项是通过环境变量传入的,不是通过命令行,ps看命令行看上去没区别,一开始比较困惑。
gnome-terminal: 能滚动
➜ ~ less -X --mouse xxx.txt
gnome-terminal: 不能滚动
➜ ~ less -X xxx.txt
没有--mouse,不能滚动
kitty: 不能滚动
➜ ~ less -X --mouse xxx.txt
kitty: 不能滚动
➜ ~ less -X xxx.txt
kitty、gnome-terminal :能滚动
➜ ~ export LESS=FRSKM ➜ ~ less xxx.txt
上游修复了,PAGER=“less -mouse“也能用了
但还是建议用SYSTEMD_LESS="FRSMK"