摘要

本文提出了在linux系统上用wine运行windows下的7z的方法,解决linux下的7z没有GUI这一问题

背景知识

众所周知,7zip是一个开源压缩解压软件,体积小,功能全,UI简洁。我每拿到一台新电脑,或者帮人整电脑,都会必装一个7zip。

提出问题

但是UI这个东西,仅限Windows下的7z独有。不严谨,毕竟我也没用过mac,不知道mac下的7z有没有UI。 在Linux下,想使用7z,只有命令行,没有UI。

类似功能调研

真的没有吗?如有!

到底有没有?如有!

它很神奇,它还真有一个GUI,在snap上,叫做P7Zip - Desktop

7zipdesktop.webp

但是这玩意儿,首先得用snap下载。snap是个什么阴间玩意儿想必能找到这儿的都是受害者,我就不骂了,你们帮我骂。我现在就不想碰snap这晦气东西。

离了snap吧,这p7zip desktop又没有二进制包可供直接下载。

看了看p7zip desktop的github仓库。好家伙,4年前最后更新,也没有提供release。

想自己编译,README里面还没写怎么build,没写依赖,一大堆的makefile文件我都懒得看 (嫌弃)。

除此之外貌似也没有别的开发者开发有7z的GUI了。

提出方案

那我们不妨换个思路,「借用」Windows下7z的GUI。方案则是朴实无华意料之中的wine

wine虽然现在对蛮多windows下的软件都没法正常运行,但是对7zip还是没问题的,相当正常。

这里我且不讨论wine的安装如何,尽管这玩意儿槽点挺多,安装时依赖问题就不断。直接使用AppImage形式打包好的wine,能省不少麻烦。

实验操作

github上有位大佬将wine编译好并打包成了appimage,咱下载下来就能用,为咱省下了源码编译,依赖混乱等问题,链接在这,进release界面下载最新的stable就行。

下载下来后给它一个可执行权限

chmod +x wine-stable_8.0.2-x86_64.AppImage

然后找到windows的7z的7zFM.exe文件

windows7z.webp用wine执行它就是了,便能通过文件管理器访问Linux上的文件资源了。压缩解压功能都能正常使用。

7zFM.webp

虽然wine只是一个兼容层,但在此之上的7z压缩解压速度都相当可观,几乎看不出与windows上运行7z压缩解压在速度上有多大的差别