我想让某些运行 Ubuntu 的计算机的所有用户都可以使用某些
fish
配色方案,因为系统上的用户报告说默认的 fish
配色方案太暗,无法在 SSH 时通过 PuTTY 查看从 Windows 盒子进入系统。为特定用户设置颜色方案涉及将一堆通用变量保存到文件$HOME/.config/fish/fish_variables
中。在颜色方案的情况下,文件将包含诸如之类的行
SETUVAR fish_color_autosuggestion:707A8C
SETUVAR fish_color_cancel:\x2d\x2dreverse
SETUVAR fish_color_command:5CCFE6
SETUVAR fish_color_comment:5C6773
SETUVAR fish_color_cwd:73D0FF
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:F29E74
SETUVAR fish_color_error:FF3333
SETUVAR fish_color_escape:95E6CB
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:\x1d
SETUVAR fish_color_keyword:\x1d
SETUVAR fish_color_match:F28779
SETUVAR fish_color_normal:CBCCC6
SETUVAR fish_color_operator:FFCC66
SETUVAR fish_color_option:\x1d
SETUVAR fish_color_param:CBCCC6
SETUVAR fish_color_quote:BAE67E
SETUVAR fish_color_redirection:D4BFFF
SETUVAR fish_color_search_match:\x2d\x2dbackground\x3dFFCC66
SETUVAR fish_color_selection:\x2d\x2dbackground\x3dFFCC66
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_background:\x1d
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_secondary_background:\x1d
SETUVAR fish_pager_color_secondary_completion:\x1d
SETUVAR fish_pager_color_secondary_description:\x1d
SETUVAR fish_pager_color_secondary_prefix:\x1d
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dFFCC66
SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d
我认为这同样适用于系统范围的
fish
设置,因此我将上述行保存到 /etc/fish/fish_variables
中,并以测试用户身份登录。不过测试用户的配色方案并没有更新为上面的。
我需要做什么才能为 Ubuntu 上
fish
shell 的所有用户设置更亮的默认配色方案?
我确实想到,我可以简单地使用 /etc/fish/config.fish
导出
set -x variable_name value
中具有相同名称的 非通用变量,但这似乎有点脏,而且我有点担心范围规则可能会混乱用户自己可能希望进行的任何设置。对此有何评论?
我将以上行保存到/etc/fish/fish_variables中
没有 /etc/fish/fish_variables,fish 只从用户目录读取通用变量。
我确实想到,我可以通过使用 set -xvariable_name 值简单地导出 /etc/fish/config.fish 中具有相同名称的非通用变量,但这看起来有点脏,我有点担心范围规则可能会扰乱用户自己可能希望进行的任何设置
您可以将变量放入 /etc/fish/config.fish(或 /etc/fish/conf.d 中的文件,只要它以“.fish”结尾),但不需要导出它们。
您希望使它们全局 -
set -g
,而不是set -x
。
当然,这意味着用户还必须使用全局变量。
另一种方法是仅在尚未设置变量时才设置变量:
set -q fish_color_comment
or set -g fish_color_comment 5C6773