以下情况我需要设置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/