双启动Linux下code命令报错:libinput-config.so预加载失败及GLIBC问题
问题修复方案
问题根源
/etc/ld.so.preload中配置的libinput-config.so会强制所有程序预加载该库,但你安装的是snap版VS Code,它运行在沙箱环境中,自带的GLIBC版本(core20为2.31)低于libinput-config.so要求的2.34版本,导致冲突报错。
解决方案
临时生效(单次运行)
执行以下命令启动VS Code,临时跳过全局预加载的库:
LD_PRELOAD= code
永久生效(针对snap版VS Code)
通过修改systemd服务配置,让snap版VS Code启动时自动清空预加载环境变量:
- 创建服务配置目录:
sudo mkdir -p /etc/systemd/system/snap.code.code.service.d - 创建并编辑配置文件:
sudo nano /etc/systemd/system/snap.code.code.service.d/override.conf - 在文件中添加以下内容:
[Service] Environment=LD_PRELOAD= - 保存退出后,重载systemd并重启服务:
sudo systemctl daemon-reload sudo systemctl restart snap.code.code.service
备选永久方案(移除全局预加载)
如果不需要libinput-config.so全局生效,可直接注释掉预加载配置:
- 编辑预加载配置文件:
sudo nano /etc/ld.so.preload - 找到包含
/usr/local/lib/x86_64-linux-gnu/libinput-config.so的行,在开头添加#注释:#/usr/local/lib/x86_64-linux-gnu/libinput-config.so - 更新动态链接缓存:
sudo ldconfig
内容的提问来源于stack exchange,提问作者Robbe1612
相关产品推荐
相关产品推荐

