进击云原生

V2

2022/11/19阅读:156主题:山吹

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

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

我的 Windows 系统的笔记本只有 256G 固态,磁盘已经快用满了,最近想装个 Linux 玩玩,选择了 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

下载 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 安装的棘手问题,真是越用越香了!!😋

配置开机自启动

现代的 linux 桌面,用户登录自启动程序,基本都是通过在 $HOME/.config/autostart 建立一个 .desktop 文件实现的。

  • 软件自己有设置的话,软件会自动在 autostart 下生成一个 .desktop 文件
  • 软件没有设置的话,自己建一个
  • 或者把 utools.desktop 文件(在 /usr/share/applications下)复制或者软链到 autostart 下即可

看到 /usr/share/applications 下是有 utools.desktop 文件的:

$ ll /usr/share/applications | grep utools
-rw-rw-r--   1 root root   176 11月  9 17:10 utools.desktop

创建软连接:

$ ln -s   /usr/share/applications/utools.desktop $HOME/.config/autostart/

$
 ll $HOME/.config/autostart/ | grep utools
lrwxrwxrwx  1 ss ss   38 11月 19 22:42 utools.desktop -> /usr/share/applications/utools.desktop

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

安装 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'
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 拯救了我。。😄

说明

请关注 危 ❤ 工中号【进击云原生】,更有free资源供您学习

分类:

后端

标签:

后端

作者介绍

进击云原生
V2

公众号:进击云原生