解决Notepad--在ubuntu16.04无法运行问题

支持国货

1.下载notepad--:

下载地址:https://gitee.com/cxasm/notepad--/releases/tag/v1.18

开源地址:ndd: notepad--是一个国产跨平台、简单的文本编辑器,是替换notepad++的一种选择。其内置强大的代码对比功能,让你丢掉付费的beyond compare。

下载完deb是这样的:com.hmja.notepad_1.18.1.0_amd64.deb

2.安装

sudo dpkg -i com.hmja.notepad_1.18.1.0_amd64.deb

安装完会发现找不到应用,没有应用图标

3.手动拷贝应用图标

应用图标位置:/opt/apps/com.hmja.notepad/entries/applications/com.hmja.notepad.desktop

将图标改为可执行权限,或右键-属性-允许作为程序执行文件

然后将图标拷贝到/usr/share/applications:

解决Notepad--在ubuntu16.04无法运行问题_第1张图片

4.解决运行问题

可手动运行执行文件,查看报错信息:/opt/apps/com.hmja.notepad/files/Notepad--

然后你就会遇到这个错误:

lijialei@lijialei-Vostro-3690:~$ /opt/apps/com.hmja.notepad/files/Notepad--

/opt/apps/com.hmja.notepad/files/Notepad--: error while loading shared libraries: libQt5Concurrent.so.5: cannot open shared object file: No such file or directory

该软件运行需要QT5环境,我们找一下系统中是否有改so文件:

lijialei@lijialei-Vostro-3690:~$ locate libQt5Network.so.5

/home/lijialei/software/genymotion-3.2.1/genymotion/libQt5Network.so.5

可以自行下载:genymotion的lib库资源-Ubuntu文档类资源-CSDN下载

发现之前安装的genymotion里面有这些库,手动拷贝一下到/usr/lib/,我们首先去/usr/lib/下建立notepad--自己的库文件夹,然后拷贝:

lijialei@lijialei-Vostro-3690:/usr/lib$ sudo mkdir notepad--

lijialei@lijialei-Vostro-3690:/usr/lib$ cd notepad--/

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libQt5Concurrent.so.5 ./

然后再去运行,你会发现一直提示缺库:

lijialei@lijialei-Vostro-3690:~$ /opt/apps/com.hmja.notepad/files/Notepad--

/opt/apps/com.hmja.notepad/files/Notepad--: /usr/lib/x86_64-linux-gnu/libQt5Network.so.5: version Qt_5' not found (required by /opt/apps/com.hmja.notepad/files/Notepad--) /opt/apps/com.hmja.notepad/files/Notepad--: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version Qt_5.11' not found (required by /opt/apps/com.hmja.notepad/files/Notepad--)

/opt/apps/com.hmja.notepad/files/Notepad--: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version Qt_5' not found (required by /opt/apps/com.hmja.notepad/files/Notepad--) /opt/apps/com.hmja.notepad/files/Notepad--: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5: version Qt_5' not found (required by /opt/apps/com.hmja.notepad/files/Notepad--)

/opt/apps/com.hmja.notepad/files/Notepad--: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version Qt_5' not found (required by /opt/apps/com.hmja.notepad/files/Notepad--) /opt/apps/com.hmja.notepad/files/Notepad--: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version Qt_5.12' not found (required by /usr/lib/notepad--/libQt5Concurrent.so.5)

/opt/apps/com.hmja.notepad/files/Notepad--: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by /usr/lib/notepad--/libQt5Concurrent.so.5)

我省略运行步骤了,把缺少的库都拷贝过去:

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libQt5Network.so.5 ./

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libQt5Core.so.5 ./

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libQt5Widgets.so.5 ./

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libQt5Gui.so.5 ./

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libQt5Gui.so.5 ./^C

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libicui18n.so.56 ./

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libicuuc.so.56 ./

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libicudata.so.56 ./

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libicu^C/

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libQt5XcbQpa.so.5 ./

lijialei@lijialei-Vostro-3690:/usr/lib/notepad--$ sudo cp /home/lijialei/software/genymotion-3.2.1/genymotion/libQt5DBus.so.5 ./

然后去/etc/ld.so.conf.d去添加库链接配置,使其生效:

lijialei@lijialei-Vostro-3690:/etc/ld.so.conf.d$ ls

fakeroot-x86_64-linux-gnu.conf i386-linux-gnu_GL.conf x86_64-linux-gnu.conf x86_64-linux-gnu_GL.conf zz_x32-biarch-compat.conf

i386-linux-gnu.conf libc.conf x86_64-linux-gnu_EGL.conf zz_i386-biarch-compat.conf

lijialei@lijialei-Vostro-3690:/etc/ld.so.conf.d$ sudo cp libc.conf libnotepad--.conf

lijialei@lijialei-Vostro-3690:/etc/ld.so.conf.d$ sudo gedit libnotepad--.conf

添加如下内容:

# lib for notepad--

/usr/lib/notepad--

lijialei@lijialei-Vostro-3690:/etc/ld.so.conf.d$ cat libnotepad--.conf

# lib for notepad--

/usr/lib/notepad--

然后更新config:

lijialei@lijialei-Vostro-3690:/etc/ld.so.conf.d$ sudo ldconfig

之后在继续运行,你还是会遇到运行错误:

lijialei@lijialei-Vostro-3690:~$ /opt/apps/com.hmja.notepad/files/Notepad--

qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""

This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

已放弃 (核心已转储)

别放弃,继续安装xcb环境:

lijialei@lijialei-Vostro-3690:~$ sudo apt install xcb

正在读取软件包列表... 完成

正在分析软件包的依赖关系树

正在读取状态信息... 完成

下列软件包是自动安装的并且现在不需要了:

libxft2:i386

使用'sudo apt autoremove'来卸载它(它们)。

下列【新】软件包将被安装:

xcb

升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 38 个软件包未被升级。

需要下载 22.9 kB 的归档。

解压缩后会消耗 91.1 kB 的额外空间。

获取:1 ubuntu安装包下载_开源镜像站-阿里云 xenial/universe amd64 xcb amd64 2.4-4.3 [22.9 kB]

已下载 22.9 kB,耗时 0秒 (67.6 kB/s)

正在选中未选择的软件包 xcb。

(正在读取数据库 ... 系统当前共安装有 307681 个文件和目录。)

正准备解包 .../archives/xcb_2.4-4.3_amd64.deb ...

正在解包 xcb (2.4-4.3) ...

正在处理用于 man-db (2.7.5-1) 的触发器 ...

正在设置 xcb (2.4-4.3) ...

安装完成,再继续运行:

lijialei@lijialei-Vostro-3690:~$ /opt/apps/com.hmja.notepad/files/Notepad--

QFactoryLoader::QFactoryLoader() checking directory path "/opt/apps/com.hmja.notepad/files/platforms" ...

qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""

This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

已放弃 (核心已转储)

又报错了,崩溃不

继续分析,它提示这个路径有问题:checking directory path "/opt/apps/com.hmja.notepad/files/platforms

我们去genymotion发现,里面有platforms文件夹,拷贝一下:

lijialei@lijialei-Vostro-3690:/opt/apps/com.hmja.notepad/files$ sudo mkdir platforms

lijialei@lijialei-Vostro-3690:/opt/apps/com.hmja.notepad/files$ ls

Notepad-- platforms

lijialei@lijialei-Vostro-3690:/opt/apps/com.hmja.notepad/files$ cd platforms/

lijialei@lijialei-Vostro-3690:/opt/apps/com.hmja.notepad/files/platforms$ sudo cp '/home/lijialei/software/genymotion-3.2.1/genymotion/platforms/libqxcb.so' ./

lijialei@lijialei-Vostro-3690:/opt/apps/com.hmja.notepad/files/platforms$ ls

libqxcb.so

lijialei@lijialei-Vostro-3690:/opt/apps/com.hmja.notepad/files$ sudo chmod 777 -R platforms/

然后你就可以看到它了:

解决Notepad--在ubuntu16.04无法运行问题_第2张图片

享受吧。

你可能感兴趣的:(ubuntu,notepad++,ubuntu)