Linux Mint(Ubuntu)上 安装 效率神器 utools

Linux Mint(Ubuntu)上 安装 效率神器 utools

我的 Windows 系统的笔记本只有 256G 固态,磁盘已经快用满了,最近想装个 Linux 玩玩,1 选择了 Linux Mint,然后就在闲置的移动硬盘上安装了 Linux Mint 21 cinnamon

刚切换到 Linux 还是很不习惯的,还好想起了一直使用的 utools 效率神器,就准备安装一下。

下面就把踩坑经验分享出来,希望其他小伙伴少踩坑。

系统信息:

$ cat /etc/linuxmint/info
RELEASE=21
CODENAME=vanessa
EDITION="Cinnamon"
DESCRIPTION="Linux Mint 21 Vanessa"
DESKTOP=Gnome
TOOLKIT=GTK
NEW_FEATURES_URL=https://www.linuxmint.com/rel_vanessa_cinnamon_whatsnew.php
RELEASE_NOTES_URL=https://www.linuxmint.com/rel_vanessa_cinnamon.php
USER_GUIDE_URL=https://www.linuxmint.com/documentation.php
GRUB_TITLE=Linux Mint 21 Cinnamon

$ uname -a
Linux ss-lm 5.15.0-41-generic #44-Ubuntu SMP Wed Jun 22 14:20:53 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

下载 utools 安装包:

wget https://res.u-tools.cn/version2/utools_3.1.0_amd64.deb

下载之后双击文件安装。

但安装之后双击打开没有反应。

在终端输出 utools 命令打开报错如下:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: libcrypto.so.1.1: æ æ³æ  å¼å
±äº«å¯¹è±¡æ件: æ²¡æ    é£ä¸ªæ件æç
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:5:1812)
    at Module._extensions..node (node:internal/modules/cjs/loader:1205:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:5:2039)
    at Module.load (node:internal/modules/cjs/loader:988:32)
    at Module._load (node:internal/modules/cjs/loader:829:12)
    at c._load (node:electron/js2c/asar_bundle:5:13343)
    at Module.require (node:internal/modules/cjs/loader:1012:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/opt/uTools/resources/app.asar/node_modules/addon/index.js:18:62)
    at Module._compile (node:internal/modules/cjs/loader:1120:14)

意思是缺少 libcrypto.so.1.1 库文件。

遇到这种问题一般就是谷歌一下,检索到以下解决方法:
ubuntu 22.04 无法打开 utools

方法有两种:

  • 编译 openssl-1.1.0,获取 libcrypto.so.1.1,复制到 /opt/uTools/ 目录下;
  • 安装 wps 后,用 sudo cp /opt/kingsoft/wps-office/office6/libcrypto.so.1.1 /opt/uTools/命令;

本来 utools 应该自带这个文件的,现在还得手动去搞,就有点儿 😒。。

第一种还是可以尝试,第二种直接安装个 wps 好几百 M 大小的东西,未免有点儿脱裤子放气的感觉了。

不过下面我先给出第三种解决方案。

最终解决方式 👍

尝试系统中哪些目录有 libcrypto.so.1.1

$ sudo find / -name "libcrypto.so.1.1"
/data/software/WindTerm_2.5.0/lib/libcrypto.so.1.1

惊喜的发现,开源终端 WindTerm 2.5.0 安装包 中包含了这个文件。最近正好将终端切换到 WindTerm,真的香。

需要说明的是,有些同名的libcrypto.so.1.1文件,可能用不了,就像下面的踩坑章节所说的:k3s 集群中镜像 layer 中的这个文件,拷贝到 utools 目录下就用不了。

将 WindTerm 安装包中 WindTerm_2.5.0/lib/libcrypto.so.1.1 的文件拷贝到 /opt/uTools 目录下:

$ sudo cp /data/software/WindTerm_2.5.0/lib/libcrypto.so.1.1 /opt/uTools/

拷贝完成之后,utools 即可以打开了。

对于终端方案 WindTerm,关键时刻还能帮我解决 utools 安装的棘手问题,真是越用越香了!!😋


🙈 踩坑经验(可以不看 🙈)

安装 Wps 太鸡肋了,我们安装低版本 openssl 的方式。

系统自带的 openssl 版本如下:

$ openssl  version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

下面进行安装 openssl 1.1.0。

openssl 1.1.0

先下载安装包:

$ wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz

执行下面命令又报错了:

$ ./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
Operating system: x86_64-whatever-linux2
"glob" is not exported by the File::Glob module
Can't continue after import errors at ./Configure line 17.
BEGIN failed--compilation aborted at ./Configure line 17.
"glob" is not exported by the File::Glob module
Can't continue after import errors at ./Configure line 17.
BEGIN failed--compilation aborted at ./Configure line 17.
This system (linux-x86_64) is not supported. See file INSTALL for details.

解决方案参考:GmSSL Linux 编译, 环境搭建

这是由于 Perl package 导致,修改 Configure 文件 参考链接

修改后再次尝试,又出现另一个错误:

$ ./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
Operating system: x86_64-whatever-linux2
Configuring for linux-x86_64
Configuring OpenSSL version 1.1.0g (0x1010007fL)
    no-asan         [default]  OPENSSL_NO_ASAN
    no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG
    no-crypto-mdebug-backtrace [default]  OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
    no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128
    no-egd          [default]  OPENSSL_NO_EGD
    no-fuzz-afl     [default]  OPENSSL_NO_FUZZ_AFL
    no-fuzz-libfuzzer [default]  OPENSSL_NO_FUZZ_LIBFUZZER
    no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS
    no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
    no-msan         [default]  OPENSSL_NO_MSAN
    no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
    no-sctp         [default]  OPENSSL_NO_SCTP
    no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE
    no-ssl3         [default]  OPENSSL_NO_SSL3
    no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD
    no-ubsan        [default]  OPENSSL_NO_UBSAN
    no-unit-test    [default]  OPENSSL_NO_UNIT_TEST
    no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS
    no-zlib         [default]
    no-zlib-dynamic [default]
Configuring for linux-x86_64
Something wrong with this line:
Program fragment delivered error ``"glob" is not exported by the File::Glob module
at /home/ss/openssl-1.1.0/openssl-1.1.0g/test/build.info at ./Configure line 1613.

原因同上,修改 test/build.info 中, 查找 File::Glob

修改后再次尝试,又报其他错误:

crypto/aes/aes_ecb.c:10:10: fatal error: assert.h: No such file or directory

到这里心态已经炸,还好 WindTerm 拯救了我。。😄

其他尝试(可以不看 🙈🙈)

find 查找系统中的 libcrypto.so.1.1 库文件,发现有些镜像层中包含这个文件:

$ sudo find / -name libcrypto.so.1.1*
/run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/d98e0f596532d8c123db79487daed96db4f9f97416ca7c9df59c1259717fb07a/rootfs/lib/libcrypto.so.1.1

$ sudo cp /run/k3s/containerd/io.containerd.runtime.v2.task/k8s.io/d98e0f596532d8c123db79487daed96db4f9f97416ca7c9df59c1259717fb07a/rootfs/lib/libcrypto.so.1.1 /opt/uTools/

然后满心欢喜 😋 将她 拷贝到 utools 目录下,结果还是不行,又缺少了其他库文件 😱:


$ utools
A JavaScript error occurred in the main process
Uncaught Exception:
Error: libc.musl-x86_64.so.1: æ æ³æ     å¼å
±äº«å¯¹è±¡æ件: æ²¡æ    é£ä¸ªæ件æç
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:5:1812)
    at Module._extensions..node (node:internal/modules/cjs/loader:1205:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:5:2039)
    at Module.load (node:internal/modules/cjs/loader:988:32)
    at Module._load (node:internal/modules/cjs/loader:829:12)
    at c._load (node:electron/js2c/asar_bundle:5:13343)
    at Module.require (node:internal/modules/cjs/loader:1012:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/opt/uTools/resources/app.asar/node_modules/addon/index.js:18:62)
    at Module._compile (node:internal/modules/cjs/loader:1120:14)

😘 到这里有了 WindTerm 拯救了我。。😄

交流

请关注 WX 公众号【进击云原生】,了解更多咨询,更有免费资源供您学习

本文由mdnice多平台发布

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章