我在 Arch Linux 论坛上被一些铁杆的权力狂论坛管理员打击了,所以我来了。
我正在尝试在 WSL 上运行 GUI 应用程序,例如 dolphin 或 kate。但是,它们都找不到,尽管它已按预期libQt5Core.so.5
安装在。以下是终端记录:/usr/lib
/u/lib » DISPLAY=:0.0 dolphin
dolphin: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
/u/lib » pwd
/usr/lib
/u/lib » ls -la | grep Qt5Core
-rw-r--r-- 1 root root 1143 Aug 7 06:05 libQt5Core.prl
lrwxrwxrwx 1 root root 20 Aug 7 06:05 libQt5Core.so -> libQt5Core.so.5.11.1*
lrwxrwxrwx 1 root root 20 Aug 7 06:05 libQt5Core.so.5 -> libQt5Core.so.5.11.1*
lrwxrwxrwx 1 root root 20 Aug 7 06:05 libQt5Core.so.5.11 -> libQt5Core.so.5.11.1*
-rwxr-xr-x 1 root root 5234312 Aug 7 06:05 libQt5Core.so.5.11.1*
/u/lib » ldd `which dolphin`
linux-vdso.so.1 (0x00007fffdb426000)
...
libQt5Core.so.5 => not found
/u/lib » pacman -Qk qt5-base
qt5-base: 3546 total files, 0 missing files
请注意,其他 GUI 应用程序运行良好 - 任何针对 GTK 编译的应用程序(包括 Firefox)都可以完美运行。我只需设置变量即可$DISPLAY
。正如您所期望的那样,不设置变量没有帮助。
有什么想法吗?谢谢!
答案1
找到了解决办法:https://github.com/kdudka/csmock/commit/96a4a759a7de39f8da109202f4fa14c76a0ae68f
或者直接运行:
sudo strip --remove-section=.note.ABI-tag /usr/lib64/libQt5Core.so.5
根本原因似乎与renameat2()
WSL“内核”的缺失有关。
更多信息:https://github.com/Microsoft/WSL/issues/3023
感谢 Daniel B 的鼓励让我开始做这件事!
答案2
我采取了以下步骤:
sudo apt-get install qt5-default
sudo apt-get install qt5ct
然后我启动 VcXSrv 并解决问题
我不知道哪一步解决了这个问题,但我的问题来自于启动 gnuplot。