环境变量

环境变量

此页面记录了 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-envLIMA_SHELLENV_ALLOW 未设置:传播所有变量,除了阻止列表中的变量
    • 使用 --preserve-envLIMA_SHELLENV_ALLOW 已设置:仅传播匹配允许模式的变量(忽略阻止列表)
  • 注意:模式支持使用 * 通配符(例如,CUSTOM_* 匹配 CUSTOM_VARCUSTOM_PATH 等)。

LIMA_SHELLENV_BLOCK

  • 描述:指定在使用 --preserve-env 将环境变量传播到 Lima 实例时要阻止的环境变量模式的逗号分隔列表。可以通过添加 + 前缀来替换默认阻止列表或扩展它。此功能仅适用于 Lima v2.0.0 或更高版本。

  • 默认值:预定义的不应传播的系统和 shell 特定变量列表:

    • Shell 变量:BASH*SHELLSHLVLZSH*ZDOTDIRFPATH
    • 系统路径:PATHPWDOLDPWDTMPDIR
    • 用户/系统信息:HOMEUSERLOGNAMEUIDGIDEUIDGROUPHOSTNAME
    • 显示/终端:DISPLAYTERMTERMINFOXAUTHORITYXDG_*
    • SSH/安全:SSH_*
    • 动态链接器:DYLD_*LD_*
    • 内部变量:_*(以下划线开头的变量)

    完整列表请参见 GetDefaultBlockList()

  • 用法

    # 完全替换默认阻止列表(不推荐)
    export LIMA_SHELLENV_BLOCK="SECRET_*,PRIVATE_*"
    
    # 扩展默认阻止列表(推荐)
    export LIMA_SHELLENV_BLOCK="+SECRET_*,PRIVATE_*"
    limactl shell --preserve-env default
    
  • 注意:模式支持使用 * 通配符(例如,SSH_* 匹配 SSH_AUTH_SOCKSSH_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.0true,实际上
    v1.0.0false
    v1.0.1true
    v1.1.0false

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