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"

 

posted @ 2020-08-27 22:40  drelo  阅读(162)  评论(0编辑  收藏  举报