wsl-2 - 在fish中不断设置DISPLAY变量

标签 wsl-2 fish

以下情况我需要设置DISPLAY我的 WSL2 的变量,用于将 goutput 传输到我的主机系统上运行的 Xserver。

一般来说,我会使用我的 .bashrc 来做到这一点:

export DISPLAY=$(ip route list default | awk '{print $3}'):0

所以我首先设置 DISPLAY变量与

set -Ux DISPLAY $(ip route list default | awk '{print $3}'):0

它首先起作用。

问题:变量现在设置在 .config/fish/fish_variables 内如SETUVAR --export DISPLAY:<MY-IP>:0

目前看起来不错,但由于我的 Homenet 使用 DHCP,因此我的 IP 可能会发生变化。如何通过调用最常用的命令来设置变量?

最佳答案

您的错误是使用set -U。这创建了一个“通用”变量。相反,只需在 ~/.config/fish/config.fish 中执行 set -x 即可,这样每次启动 Fish shell 时都会创建 var。另请参阅https://fishshell.com/docs/current/faq.html#why-doesn-t-set-ux-exported-universal-variables-seem-to-work 。通用变量不应用于每次启动 Fish shell 时都会更改的值,或者对于并发运行的 shell 可能不同的值。

关于wsl-2 - 在fish中不断设置DISPLAY变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73267370/

相关文章:

linux - dpkg-dep 错误 : paste subprocess was killed by signal(Broken Pipe) Ubuntu WSL2

c++ - 如何在WSL 2中读取物理内存?

linux - fish 中的配置

fish - 在 fish shell 中同时管道 stdout 和 stderr

docker - Selenium docker 在 Windows 上崩溃(未知错误 : DevToolsActivePort file doesn't exist)

google-chrome - 在 WSL2 上运行 Puppeteer

docker - 从 Windows 主机连接到 wsl2 Ubuntu docker

fish - 从 fish shell 中的路径中提取文件夹名称

macos - 在 macOS 上的 Fish shell 中为命令添加超时

fish - 如何在fish中禁用vi模式?