如何设置系统范围的 LESSCHARSET?

如何设置系统范围的 LESSCHARSET?

这是如何使'less'命令处理UTF-8?

如果我想设置less全局选项,以便每个用户不必.basrc单独摆弄他们自己的环境变量(等),那么应该在哪里设置?

/etc/bashrc不是一个好的选择,因为我必须为每个 shell 设置一个。

手册页例如,less提到一个lesskey文件,#env其中有一个部分可以设置它,但没有提到把它放在哪里。它确实提到我可以使用环境变量LESSKEY_SYSTEMLESSKEY指向该文件……但这会产生一个先有鸡还是先有蛋的问题。

其他发行版的手册页中提到过/usr/local/etc/sysless,但根据我的测试,在 ubuntu 上没有使用过。

答案1

strace去救援。

open("/usr/bin/.sysless", O_RDONLY)     = -1 ENOENT (No such file or directory)
open("/etc/sysless", O_RDONLY)          = -1 ENOENT (No such file or directory)
open("/home/user/.less", O_RDONLY)      = -1 ENOENT (No such file or directory)
open("/home/user/.lesshst", O_RDONLY)   = 3

/usr/bin/.sysless很奇怪。我们跳过它。/etc/sysless听起来更合理。我认为这就是答案。我不能肯定地说,因为现在 less 给了我

无法使用 lesskey 文件“/etc/sysless”

仍然需要调试,因为该文件的内容现在是从手册页复制而来的......

相关内容