环境变量
环境变量
此页面记录了 Lima 中使用的环境变量。
LIMA_HOME
描述:指定 Lima 主目录。
默认值:
~/.lima
用法:
export LIMA_HOME=~/.lima-custom lima
LIMA_INSTANCE
描述:指定要使用的 Lima 实例名称。
默认值:
default
用法:
export LIMA_INSTANCE=my-instance lima uname -a
LIMA_SHELL
描述:指定在 Lima 实例内部使用的 shell 解释器。
默认值:实例内部配置的用户 shell
用法:
export LIMA_SHELL=/bin/bash lima
LIMA_TEMPLATES_PATH
描述:指定用于解析
template://
URL 的目录。默认值:
$LIMA_HOME/_templates:/usr/local/share/lima/templates
用法:
export LIMA_TEMPLATES_PATH="$HOME/.config/lima/templates:/usr/local/share/lima/templates" limactl create --name my-vm template://my-distro
LIMA_WORKDIR
描述:指定 Lima 实例内部的初始工作目录。
默认值:主机的当前目录
用法:
export LIMA_WORKDIR=/home/user/project lima
LIMA_SHELLENV_ALLOW
- 描述:指定在使用
--preserve-env
将环境变量传播到 Lima 实例时允许的环境变量模式的逗号分隔列表。设置后,仅匹配这些模式的变量将被传递,完全覆盖默认阻止列表行为。此功能仅适用于 Lima v2.0.0 或更高版本。 - 默认值:未设置(使用
--preserve-env
时,除了匹配阻止列表模式的变量外,所有变量都被传播) - 用法:
export LIMA_SHELLENV_ALLOW="FPATH,XAUTHORITY,CUSTOM_*" limactl shell --preserve-env default
- 行为:
- 不使用
--preserve-env
:不传播任何环境变量(无论此设置如何) - 使用
--preserve-env
且LIMA_SHELLENV_ALLOW
未设置:传播所有变量,除了阻止列表中的变量 - 使用
--preserve-env
且LIMA_SHELLENV_ALLOW
已设置:仅传播匹配允许模式的变量(忽略阻止列表)
- 不使用
- 注意:模式支持使用
*
通配符(例如,CUSTOM_*
匹配CUSTOM_VAR
、CUSTOM_PATH
等)。
LIMA_SHELLENV_BLOCK
描述:指定在使用
--preserve-env
将环境变量传播到 Lima 实例时要阻止的环境变量模式的逗号分隔列表。可以通过添加+
前缀来替换默认阻止列表或扩展它。此功能仅适用于 Lima v2.0.0 或更高版本。默认值:预定义的不应传播的系统和 shell 特定变量列表:
- Shell 变量:
BASH*
、SHELL
、SHLVL
、ZSH*
、ZDOTDIR
、FPATH
- 系统路径:
PATH
、PWD
、OLDPWD
、TMPDIR
- 用户/系统信息:
HOME
、USER
、LOGNAME
、UID
、GID
、EUID
、GROUP
、HOSTNAME
- 显示/终端:
DISPLAY
、TERM
、TERMINFO
、XAUTHORITY
、XDG_*
- SSH/安全:
SSH_*
- 动态链接器:
DYLD_*
、LD_*
- 内部变量:
_*
(以下划线开头的变量)
完整列表请参见
GetDefaultBlockList()
。- Shell 变量:
用法:
# 完全替换默认阻止列表(不推荐) export LIMA_SHELLENV_BLOCK="SECRET_*,PRIVATE_*" # 扩展默认阻止列表(推荐) export LIMA_SHELLENV_BLOCK="+SECRET_*,PRIVATE_*" limactl shell --preserve-env default
注意:模式支持使用
*
通配符(例如,SSH_*
匹配SSH_AUTH_SOCK
、SSH_AGENT_PID
)。使用+
前缀添加到默认阻止列表而不是完全替换它。此变量仅影响--preserve-env
标志行为。
LIMACTL
描述:指定
limactl
二进制文件的路径。默认值:
$PATH
中的limactl
用法:
export LIMACTL=/usr/local/bin/limactl lima
LIMA_SSH_PORT_FORWARDER
- 描述:指定使用 SSH 端口转发器(慢)而不是 gRPC(快,之前不稳定)
- 默认值:
false
(自 v1.1.0 起) - 用法:
export LIMA_SSH_PORT_FORWARDER=false
- 默认值的历史:
版本 默认值 v0.1.0 true
,实际上v1.0.0 false
v1.0.1 true
v1.1.0 false
LIMA_USERNET_RESOLVE_IP_ADDRESS_TIMEOUT
描述:指定在 usernet 中解析 IP 地址的超时持续时间。
默认值:2 分钟
用法:
export LIMA_USERNET_RESOLVE_IP_ADDRESS_TIMEOUT=5
_LIMA_QEMU_UEFI_IN_BIOS
描述:命令 QEMU 使用
-bios
而不是pflash
驱动器来加载 x86_64 UEFI 镜像。默认值:Unix 类主机为
false
,Windows 主机为true
用法:
export _LIMA_QEMU_UEFI_IN_BIOS=true
注意:预期在将来当 QEMU 在 Windows 上支持用于加速客户机的
pflash
UEFI 时,此变量将默认设置为false
。
_LIMA_WINDOWS_EXTRA_PATH
描述:
limactl.exe
进程将添加到 PATH 中用于搜索工具的附加目录。 当需要防止活动 shell 中可用的二进制文件与limactl.exe
使用的二进制文件之间发生冲突时,这很有用 - 仅为运行的进程注入它们而不改变用户 shell 观察到的 PATH。 这是 Windows 特定的,对其他平台不起作用。默认值:未设置
用法:
set _LIMA_WINDOWS_EXTRA_PATH=C:\Program Files\Git\usr\bin
注意:这是一个实验性设置,不保证会被提升为稳定版本。它可能在项目开发的任何阶段被删除或更改。
QEMU_SYSTEM_AARCH64
描述:
qemu-system-aarch64
二进制文件的路径。默认值:在
$PATH
中找到的qemu-system-aarch64
用法:
export QEMU_SYSTEM_AARCH64=/usr/local/bin/qemu-system-aarch64
QEMU_SYSTEM_ARM
描述:
qemu-system-arm
二进制文件的路径。默认值:在
$PATH
中找到的qemu-system-arm
用法:
export QEMU_SYSTEM_ARM=/usr/local/bin/qemu-system-arm
QEMU_SYSTEM_PPC64
描述:
qemu-system-ppc64
二进制文件的路径。默认值:在
$PATH
中找到的qemu-system-ppc64
用法:
export QEMU_SYSTEM_PPC64=/usr/local/bin/qemu-system-ppc64
QEMU_SYSTEM_RISCV64
描述:
qemu-system-riscv64
二进制文件的路径。默认值:在
$PATH
中找到的qemu-system-riscv64
用法:
export QEMU_SYSTEM_RISCV64=/usr/local/bin/qemu-system-riscv64
QEMU_SYSTEM_S390X
描述:
qemu-system-s390x
二进制文件的路径。默认值:在
$PATH
中找到的qemu-system-s390x
用法:
export QEMU_SYSTEM_S390X=/usr/local/bin/qemu-system-s390x
QEMU_SYSTEM_X86_64
描述:
qemu-system-x86_64
二进制文件的路径。默认值:在
$PATH
中找到的qemu-system-x86_64
用法:
export QEMU_SYSTEM_X86_64=/usr/local/bin/qemu-system-x86_64