我有一个 lynx 配置文件~/.lynx.cfg
。为了让 lynx 使用它,我在我的环境中$LYNX_CFG
指向该文件。
内容:
# Default
COLOR:0:black:white
# Hyperlinks
COLOR:1:black:white
# Status Line
COLOR:2:black:white
# Emphasis
COLOR:4:black:white
# Hyperlink in em
COLOR:5:black:white
# Selected hyperlink
COLOR:6:black:black
# Search
COLOR:7:black:white
JUSTIFY:TRUE
该JUSTIFY:TRUE
行已正确应用,但从未应用COLOR:*
:
我在 OS X Yosemity 上,在 Tmux 中,使用 Iterm2,lynx 版本是:
Lynx Version 2.8.8rel.2 (09 Mar 2014)
libwww-FM 2.14, SSL-MM 1.4.1, OpenSSL 1.0.2h, ncurses 5.7.20081102
什么可能导致这个问题?
答案1
那组特定的颜色适合“旧”风格。 Lynx 旨在支持其中一项:
- “新”颜色样式,颜色分配给 HTML 标签类型或
- 为链接指定颜色的“旧”样式
“新”样式配置为COLOR_STYLE
设置于lynx.cfg
:
也称为“lss”(lynx 样式表),颜色样式文件将颜色组合分配给标签和标签组合。通常,非空值会编译为
lynx
,用户可以使用 -lss 命令行选项覆盖该值。配置脚本允许编译空字符串。如果lynx
找不到此设置的值,它将使用以下命令模拟非颜色样式分配COLOR
设置。如果命令行“-lss”或此
COLOR_STYLE
给出了设置、lynx tries
环境变量"LYNX_LSS"
和"lynx_lss"
.如果两者均未设置,lynx
则使用第一个编译值(如前所述,该值可能为空)。启动时,
lynx
记住所使用的颜色样式文件的名称,并与指定的每个文件一起提供这些文件作为选项氧) 选项菜单。
lynx 源代码包含一个脚本oldlynx
可以用来模拟旧式:
#!/bin/sh
# invoke lynx built with color-style, overriding the color options to use the
# non-color-style scheme -TD
my_cfg=${TMPDIR:-/tmp}/lynxcfg$$
trap "rm -f $my_cfg" 0 1 2 5 15
rm -f "$my_cfg"
echo "DEFAULT_COLORS:off" >>$my_cfg
if test -n "$LYNX_CFG" ; then
echo "include:$LYNX_CFG" >>$my_cfg
fi
echo "COLOR_STYLE:" >>$my_cfg
echo "NESTED_TABLES:off" >>$my_cfg
LYNX_CFG=$my_cfg
export LYNX_CFG
unset LYNX_LSS
${LYNX_PROG-lynx} "$@"
例如,这是具有默认颜色样式的帮助页面:
oldlynx
这是使用(使用 2.8.7)的同一页面:
虽然我刚刚注意到它不适用于 2.8.8:这里忽略了一些东西2.8.8dev.17 的更改:
* modify configuration of COLOR_STYLE value in lynx.cfg, allowing multiple
filenames to be specified and providing those as choices in the O'ptions
menu (Debian #404893) -TD
这使得颜色样式文件的多个值可以作为选项菜单中的选择列表使用。一个简单的解决方法是强制lynx
使用空颜色样式文件,例如,
#!/bin/sh
# invoke lynx built with color-style, overriding the color options to use the
# non-color-style scheme -TD
my_cfg=${TMPDIR:-/tmp}/lynxcfg$$
my_lss=${TMPDIR:-/tmp}/lynxlss$$
trap "rm -f $my_lss $my_cfg" 0 1 2 5 15
echo >$my_lss
rm -f "$my_cfg"
echo "DEFAULT_COLORS:off" >>$my_cfg
if test -n "$LYNX_CFG" ; then
echo "include:$LYNX_CFG" >>$my_cfg
fi
echo "COLOR_STYLE:" >>$my_cfg
echo "NESTED_TABLES:off" >>$my_cfg
LYNX_CFG=$my_cfg
export LYNX_CFG
LYNX_LSS=$my_lss
export LYNX_LSS
${LYNX_PROG-lynx} "$@"
(有些人可能会使用mktemp
,但是当编写脚本时,它的话题性不如现在)。