wsl运行fsl,安装好之后,可以使用bet,等命令行进行操作,但是不能使用fsl呼出窗口。
因为 wsl并不像原生linux具有destop桌面,它只有命令行。所以当运行fsl的时候会报错,
application-specific initialization failed: no display name and no $DISPLAY environment variable
Error in startup script: no display name and no $DISPLAY environment variable
while executing
"load /home/diva/fsl/lib/libtk8.6.so"
("package ifneeded Tk 8.6.13" script)
invoked from within
"package require Tk"
(file "/home/diva/fsl/tcl/fslstart.tcl" line 19)
invoked from within
"source [ file dirname [ info script ] ]/fslstart.tcl"
(file "/home/diva/fsl/tcl/fsl.tcl" line 71)
invoked from within
"source ${FSLDIR}/tcl/${origname}.tcl"
(file "/home/diva/fsl/bin/fsl" line 20)
这个错误表明 FSL 需要图形显示环境,但 $DISPLAY
环境变量未正确设置,导致程序无法连接到 X 服务器来显示图形界面。在 WSL 中,由于默认情况下没有图形界面,需要额外设置 $DISPLAY
环境变量,并且安装一个 X 服务器来支持图形界面。以下是解决这个问题的步骤:
安装 VcXsrv
- 从VcXsrv Windows X Server download | SourceForge.net下载并安装 VcXsrv。
- 安装完成后,启动 X 服务器:
- 选择 "Multiple windows"(多窗口)模式。
- 勾选 "Disable access control"(禁用访问控制),这将允许 WSL 访问 X 服务器。
- 之后再运行fsl就有窗口界面了。