树莓派使用code-server遇到的问题

code-server在树莓派上使用是没有问题的,只要保证树莓派系统较新,一般不会遇到什么问题。

1. 以下一系列出现的问题,都与系统环境比较旧有关:

  • code进程一直100%占用CPU
  • 浏览器建立VSCode窗口后,shell一直提示[ExtensionHostConnection] The client has reconnected.
  • 错误日志中:Error: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found 

很显然,一般出现问题,我们都要先看一下错误日志,问题的根源一般就能找到了。code-server的错误信息会直接打印出来,如果嫌打印的内容太多不好找,其错误日志保存在:~/.local/share/code-server/coder-logs/目录下,文件code-server-stderr.log 中。

如果不关心日志的话,这个问题的主要表现就是卡顿,它可以正常使用VSCode,按照插件、新建项目、新建文件等都没有问题,但唯一比较明显的就是新建文件时卡半天,代码提示功能直接失效了。

使用top命令查看后台占用,发现有一个node进程一直100%占用CPU,可以将其kill,但是意义不大,只要使用code-server,这个进程就会被唤醒。

解决方案:

1. 根据错误信息,查看释放有 GLIBCXX_3.4.26

strings /usr/lib/aarch64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

        会出现一大堆,不过正常肯定没有这个,不然也不会报错了。

2. 全系统搜索,查找libstdc++.so.6

sudo find / -name "libstdc++.so.6"*

        我的是只能 找到

         因此,需要下载比较高的版本,来进行替代。

3. 从网上下载更高的版本,下载链接:libstdc++.so.6.0.28,或者从其它linux系统中拷贝一份,注意一定要是基于arm64的,或者是叫aarch64

4. 将原有的libstdc++.so.6进行拷贝备份

cd /usr/lib/aarch64-linux-gnu/
sudo mv ./libstdc++.so.6 ./libstdc++.so.6_bak

5. 将下载的libstdc++.so.6.0.28拷贝到/usr/lib/aarch64-linux-gnu/

然后将其链接到libstdc++.so.6

sudo cp libstdc++.so.6.0.28 /usr/lib/aarch64-linux-gnu/
sudo ln -s libstdc++.so.6.0.28 libstdc++.so.6    
ls -l libstdc++.so.6        #查看是否链接成功

猜你喜欢

转载自blog.csdn.net/leiconghe/article/details/130127081