记录使用unredacter的流水账

unredacter是一个实验性的还原图片中打马赛克的文字的小工具。具体介绍请见github(https://github.com/BishopFox/unredacter)。 README中使用说明部分描述的使用步骤很简单,但是如果你照着尝试,会发现程序跑不起来,各种报错(node的三方库版本依赖的天坑😭),我就将我淌坑的经历记录下来吧。

工作环境:windows 11(因为windows 11才支持wslg),启用wsl2,使用Ubuntu 22.04镜像

步骤:

  1. (wsl2的Ubuntu里)安装node v12版本。(直接去官网下载v12版本的二进制文件 https://nodejs.org/download/release/v12.22.12 ,将bin目录加到path路径即可)
  2. (wsl2的Ubuntu里)下载源码到本地https://github.com/BishopFox/unredacter
  3. (wsl2的Ubuntu里)进入项目根目录,执行 npm –registry https://registry.npmmirror.com install (注意:不要再使用https://registry.npm.taobao.org这个镜像地址了,该地址已经停用了)
  4. (wsl2的Ubuntu里)进入项目根目录执行npm –registry https://registry.npmmirror.com install electron@10 (注意一定要安装electron v10版本, v11版本就不行)
  5. (wsl2的Ubuntu里)进入项目根目录执行npm start

最终效果图:

问题1: 如果在执行 npm start时遇到如下错误:[5095:0621/232535.423408:FATAL:gpu_data_manager_impl_private.cc(442)] GPU process isn’t usable. Goodbye.
/home/{username}/unredacter /node_modules/electron/dist/electron exited with signal SIGTRAP

解决办法:在windows 11下需要按照官方说明安装对应显卡厂商的显卡驱动(https://github.com/microsoft/wslg ),这样wsl2就支持使用GPU了。

问题2: unredacter已经能正常工作了,但是隔了几天突然又不能工作了,有如下报错:
../../third_party/tcmalloc/chromium/src/tcmalloc.cc:337] Attempt to free invalid pointer 0x55dd1f867dc0
/home/{username}/unredacter-main/node_modules/electron/dist/electron exited with signal SIGSEGV
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! unredacter@1.0.0 start: `npm run build && electron ./dist/main.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the unredacter@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

解决办法:检查你的显卡驱动是不是被操作系统升级,导致和wslg不兼容了。对于AMD:

 

 

References:

https://mp.weixin.qq.com/s/W20dZpX6nJrNFMrXB4P4Mg