Ubuntu-24.10无法安装Sunlogin-15.2的解决方案

目录

  • [1. 报错信息](#1. 报错信息)
  • [2. 解决方案](#2. 解决方案)
  • [3. dpkg-deb命令帮助](#3. dpkg-deb命令帮助)
  • [4. References](#4. References)

1. 报错信息

sh 复制代码
albertqee@ZBG7W:/opt/albertqee/Downloads$ ls | egrep -i sun
SunloginClient_11.0.1.44968_amd64.deb
SunloginClient_15.2.0.63062_amd64.deb
SunloginClient_15.2.0.63064_amd64.deb
albertqee@ZBG7W:/opt/albertqee/Downloads$ sudo dpkg -i SunloginClient_15.2.0.63064_amd64.deb 
[sudo] password for albertqee: 
(Reading database ... 290191 files and directories currently installed.)
Preparing to unpack SunloginClient_15.2.0.63064_amd64.deb ...
Sunlogin stopped
Removed '/etc/systemd/system/multi-user.target.wants/runsunloginclient.service'.
Unpacking sunloginclient (15.2.0.63064) over (11.0.1.44968) ...
dpkg: dependency problems prevent configuration of sunloginclient:
 sunloginclient depends on libgconf-2-4; however:
  Package libgconf-2-4 is not installed.

dpkg: error processing package sunloginclient (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.36.0-1.1ubuntu3) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
Errors were encountered while processing:
 sunloginclient
albertqee@ZBG7W:/opt/albertqee/Downloads$

上述输出中的第14行提示libgconf-2-4未安装。

2. 解决方案

通过修改安装包依赖文件的方法进行重新打包具体代码如下。

解压安装包:

sh 复制代码
albertqee@ZBG7W:/opt/albertqee/Downloads$ sudo dpkg-deb -X SunloginClient_15.2.0.63064_amd64.deb Sun7loginClient_rebuild
./
./usr/
./usr/local/
./usr/local/sunlogin/
./usr/local/sunlogin/res/
./usr/local/sunlogin/res/locales/
./usr/local/sunlogin/res/locales/en-GB.pak
./usr/local/sunlogin/res/locales/sl.pak
./usr/local/sunlogin/res/locales/gu.pak
./usr/local/sunlogin/res/locales/es-419.pak
./usr/local/sunlogin/res/locales/it.pak
./usr/local/sunlogin/res/locales/vi.pak
./usr/local/sunlogin/res/locales/hr.pak
./usr/local/sunlogin/res/locales/ar.pak
./usr/local/sunlogin/res/locales/ml.pak
./usr/local/sunlogin/res/locales/ro.pak
./usr/local/sunlogin/res/locales/fi.pak
./usr/local/sunlogin/res/locales/ca.pak
./usr/local/sunlogin/res/locales/ms.pak
./usr/local/sunlogin/res/locales/hu.pak
./usr/local/sunlogin/res/locales/hi.pak
./usr/local/sunlogin/res/locales/th.pak
./usr/local/sunlogin/res/locales/he.pak
./usr/local/sunlogin/res/locales/pt-PT.pak
./usr/local/sunlogin/res/locales/nl.pak
./usr/local/sunlogin/res/locales/lt.pak
./usr/local/sunlogin/res/locales/et.pak
./usr/local/sunlogin/res/locales/uk.pak
./usr/local/sunlogin/res/locales/fil.pak
./usr/local/sunlogin/res/locales/fr.pak
./usr/local/sunlogin/res/locales/el.pak
./usr/local/sunlogin/res/locales/sw.pak
./usr/local/sunlogin/res/locales/zh-CN.pak
./usr/local/sunlogin/res/locales/pt-BR.pak
./usr/local/sunlogin/res/locales/en-US.pak
./usr/local/sunlogin/res/locales/es.pak
./usr/local/sunlogin/res/locales/fa.pak
./usr/local/sunlogin/res/locales/te.pak
./usr/local/sunlogin/res/locales/de.pak
./usr/local/sunlogin/res/locales/tr.pak
./usr/local/sunlogin/res/locales/ta.pak
./usr/local/sunlogin/res/locales/ja.pak
./usr/local/sunlogin/res/locales/da.pak
./usr/local/sunlogin/res/locales/mr.pak
./usr/local/sunlogin/res/locales/cs.pak
./usr/local/sunlogin/res/locales/kn.pak
./usr/local/sunlogin/res/locales/lv.pak
./usr/local/sunlogin/res/locales/bg.pak
./usr/local/sunlogin/res/locales/zh-TW.pak
./usr/local/sunlogin/res/locales/ko.pak
./usr/local/sunlogin/res/locales/am.pak
./usr/local/sunlogin/res/locales/pl.pak
./usr/local/sunlogin/res/locales/bn.pak
./usr/local/sunlogin/res/locales/sr.pak
./usr/local/sunlogin/res/locales/ru.pak
./usr/local/sunlogin/res/locales/sv.pak
./usr/local/sunlogin/res/locales/nb.pak
./usr/local/sunlogin/res/locales/sk.pak
./usr/local/sunlogin/res/locales/id.pak
./usr/local/sunlogin/res/cef_extensions.pak
./usr/local/sunlogin/res/skin/
./usr/local/sunlogin/res/skin/remotecmd.skin
./usr/local/sunlogin/res/skin/skin.skin
./usr/local/sunlogin/res/skin/remotecamera.skin
./usr/local/sunlogin/res/skin/remotefile.skin
./usr/local/sunlogin/res/skin/pluginframe.skin
./usr/local/sunlogin/res/skin/desktopcontrol.skin
./usr/local/sunlogin/res/icon/
./usr/local/sunlogin/res/icon/offline.ico
./usr/local/sunlogin/res/icon/online_ctrl.ico
./usr/local/sunlogin/res/icon/online.ico
./usr/local/sunlogin/res/icon/online_lock.ico
./usr/local/sunlogin/res/icon/offline_lock.ico
./usr/local/sunlogin/res/icon/livestream_watermark.png
./usr/local/sunlogin/res/icon/sunlogin_client.png
./usr/local/sunlogin/res/cef_100_percent.pak
./usr/local/sunlogin/res/font/
./usr/local/sunlogin/res/font/wqy-zenhei.ttc
./usr/local/sunlogin/res/cef.pak
./usr/local/sunlogin/res/cef_200_percent.pak
./usr/local/sunlogin/res/devtools_resources.pak
./usr/local/sunlogin/lib/
./usr/local/sunlogin/lib/libwidevinecdmadapter.so
./usr/local/sunlogin/lib/libcef.so
./usr/local/sunlogin/scripts/
./usr/local/sunlogin/scripts/uninstall.sh
./usr/local/sunlogin/scripts/sunloginclient.sign
./usr/local/sunlogin/scripts/runsunloginclient.conf
./usr/local/sunlogin/scripts/checksun.sh
./usr/local/sunlogin/scripts/depends.sh
./usr/local/sunlogin/scripts/host
./usr/local/sunlogin/scripts/start.sh
./usr/local/sunlogin/scripts/sunhost.sh
./usr/local/sunlogin/scripts/personal
./usr/local/sunlogin/scripts/init_runsunloginclient
./usr/local/sunlogin/scripts/runsunloginclient.service
./usr/local/sunlogin/scripts/stop.sh
./usr/local/sunlogin/scripts/common.sh
./usr/local/sunlogin/scripts/lightdm.conf
./usr/local/sunlogin/etc/
./usr/local/sunlogin/bin/
./usr/local/sunlogin/bin/natives_blob.bin
./usr/local/sunlogin/bin/sunloginclient_desktop
./usr/local/sunlogin/bin/sunloginclient.sign
./usr/local/sunlogin/bin/oray_rundaemon
./usr/local/sunlogin/bin/snapshot_blob.bin
./usr/local/sunlogin/bin/sunloginclient
./usr/local/sunlogin/bin/icudtl.dat
./usr/share/
./usr/share/applications/
./usr/share/applications/sunlogin.desktop
albertqee@ZBG7W:/opt/albertqee/Downloads$ ls Sun
Sun7loginClient_rebuild/               SunloginClient_15.2.0.63062_amd64.deb
SunloginClient_11.0.1.44968_amd64.deb  SunloginClient_15.2.0.63064_amd64.deb
albertqee@ZBG7W:/opt/albertqee/Downloads$ ls Sun7loginClient_rebuild/
usr
albertqee@ZBG7W:/opt/albertqee/Downloads$ 

查找系统中是否存在相关的包:

sh 复制代码
albertqee@ZBG7W:/opt/albertqee/Downloads$ sudo find / -type f -iname '*libwebkit*'
find: '/proc/14012/task/14012/net': Invalid argument
find: '/proc/14012/net': Invalid argument
find: '/proc/517812/task/517812/net': Invalid argument
find: '/proc/517812/net': Invalid argument
find: '/run/user/1000/doc': Permission denied
find: '/run/user/1000/gvfs': Permission denied
/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.67.8
/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so.0.12.8
/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so
/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so
/snap/gnome-42-2204/176/usr/share/lintian/overrides/libwebkit2gtk-4.0-37
/snap/gnome-3-28-1804/198/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.53.5
/snap/gnome-3-28-1804/198/usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so
/snap/gnome-3-38-2004/143/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.57.8
/snap/gnome-3-38-2004/143/usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so
/usr/lib/x86_64-linux-gnu/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so
/usr/lib/x86_64-linux-gnu/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so
/usr/lib/x86_64-linux-gnu/libwebkitgtk-6.0.so.4.10.3
/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so.0.16.3
/usr/share/lintian/overrides/libwebkit2gtk-4.1-0       # 此处就是要使用的包名
/usr/share/lintian/overrides/libwebkitgtk-6.0-4
/var/cache/apt/archives/libwebkit2gtk-4.1-0_2.46.1-0ubuntu1_amd64.deb
/var/cache/apt/archives/libwebkitgtk-6.0-4_2.46.1-0ubuntu1_amd64.deb
/var/lib/dpkg/info/libwebkitgtk-6.0-4:amd64.md5sums
/var/lib/dpkg/info/libwebkitgtk-6.0-4:amd64.shlibs
/var/lib/dpkg/info/libwebkitgtk-6.0-4:amd64.symbols
/var/lib/dpkg/info/libwebkitgtk-6.0-4:amd64.triggers
/var/lib/dpkg/info/libwebkitgtk-6.0-4:amd64.list
/var/lib/dpkg/info/libwebkit2gtk-4.1-0:amd64.list
/var/lib/dpkg/info/libwebkit2gtk-4.1-0:amd64.md5sums
/var/lib/dpkg/info/libwebkit2gtk-4.1-0:amd64.shlibs
/var/lib/dpkg/info/libwebkit2gtk-4.1-0:amd64.symbols
/var/lib/dpkg/info/libwebkit2gtk-4.1-0:amd64.triggers
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/45/541bff0c2aa0dd74f25fae558ec8ae2f5c58ea37e7a6579bf0d06f01f5a3898a/files/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so.0.13.8
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/45/541bff0c2aa0dd74f25fae558ec8ae2f5c58ea37e7a6579bf0d06f01f5a3898a/files/lib/x86_64-linux-gnu/libwebkitgtk-6.0.so.4.5.8
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/45/541bff0c2aa0dd74f25fae558ec8ae2f5c58ea37e7a6579bf0d06f01f5a3898a/files/lib/x86_64-linux-gnu/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/45/541bff0c2aa0dd74f25fae558ec8ae2f5c58ea37e7a6579bf0d06f01f5a3898a/files/lib/x86_64-linux-gnu/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/46/74236c76699850cdc61473b49bc913595c6f37d14bc008283f63a241e9c2b4ce/files/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so.0.16.2
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/46/74236c76699850cdc61473b49bc913595c6f37d14bc008283f63a241e9c2b4ce/files/lib/x86_64-linux-gnu/libwebkitgtk-6.0.so.4.10.2
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/46/74236c76699850cdc61473b49bc913595c6f37d14bc008283f63a241e9c2b4ce/files/lib/x86_64-linux-gnu/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/46/74236c76699850cdc61473b49bc913595c6f37d14bc008283f63a241e9c2b4ce/files/lib/x86_64-linux-gnu/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/41/0b4ea24201b0aec7d7a3f3513dd1947d7046bf8ceac2033485335ede6f0b6449/files/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.56.10
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/41/0b4ea24201b0aec7d7a3f3513dd1947d7046bf8ceac2033485335ede6f0b6449/files/lib/x86_64-linux-gnu/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/47/eea557953da31f9e8d3f1881bfe4c645be8229191589fc6b41db068ddfcc8cec/files/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so.0.16.2
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/47/eea557953da31f9e8d3f1881bfe4c645be8229191589fc6b41db068ddfcc8cec/files/lib/x86_64-linux-gnu/libwebkitgtk-6.0.so.4.10.2
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/47/eea557953da31f9e8d3f1881bfe4c645be8229191589fc6b41db068ddfcc8cec/files/lib/x86_64-linux-gnu/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/47/eea557953da31f9e8d3f1881bfe4c645be8229191589fc6b41db068ddfcc8cec/files/lib/x86_64-linux-gnu/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so
/var/lib/flatpak/.removed/org.gnome.Platform-17266436fcdcf18d9b99680e9d18ca587b74ce368f13e55fabe53c289f52c690/files/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so.0.13.7
/var/lib/flatpak/.removed/org.gnome.Platform-17266436fcdcf18d9b99680e9d18ca587b74ce368f13e55fabe53c289f52c690/files/lib/x86_64-linux-gnu/libwebkitgtk-6.0.so.4.5.7
/var/lib/flatpak/.removed/org.gnome.Platform-17266436fcdcf18d9b99680e9d18ca587b74ce368f13e55fabe53c289f52c690/files/lib/x86_64-linux-gnu/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so
/var/lib/flatpak/.removed/org.gnome.Platform-17266436fcdcf18d9b99680e9d18ca587b74ce368f13e55fabe53c289f52c690/files/lib/x86_64-linux-gnu/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so
albertqee@ZBG7W:/opt/albertqee/Downloads$ sudo find / -type f -iname '*libgconf*'
find: '/proc/14012/task/14012/net': Invalid argument
find: '/proc/14012/net': Invalid argument
find: '/proc/517812/task/517812/net': Invalid argument
find: '/proc/517812/net': Invalid argument
find: '/proc/965362': No such file or directory
find: '/run/user/1000/doc': Permission denied
find: '/run/user/1000/gvfs': Permission denied

此处找到的第21行中的包名称,即为后面这一步所需要用到的依赖包名称。

修改控制文件并替换依赖的安装包名称之后,重新构建安装包:

sh 复制代码
albertqee@ZBG7W:/opt/albertqee/Downloads$ sudo dpkg-deb -e SunloginClient_15.2.0.63064_amd64.deb Sun7loginClient_rebuild/DEBIAN
albertqee@ZBG7W:/opt/albertqee/Downloads$ sudo vim Sun7loginClient_rebuild/DEBIAN/control 
albertqee@ZBG7W:/opt/albertqee/Downloads$ sudo cat Sun7loginClient_rebuild/DEBIAN/control 
Package: sunloginclient
Section: Internet
Priority: extra
Version: 15.2.0.63064
Maintainer: Oray <dev@oray.com>
Installed-Size: 38100
Architecture: amd64
Depends: libappindicator3-1,libwebkit2gtk-4.1-0      # 默认是libgconf-2-4,下面的Recommends建议部分也提示了,可以替换
Recommends: libgconf-2-4,libwebkit2gtk-4.0.37,libwebkitgtk-3.0-0
HomePage:https://www.oray.com
Description: SunloginClient-15.2.0.63064 for Linux
 Sunlogin Remote Control is a software that supports remote control of mobile
 devices, Windows, Mac, Linux and other systems. It is the best choice for IT
 technology, game players, designers and other people with remote management
 needs. By using Sunlogin, you can control other computers or mobile phones
 anytime, anywhere. You can make things feasible, including remote high-risk
 operations, remote power on/off, download files, AFK, and so on. Download
 Sunlogin and explore more exciting features!
albertqee@ZBG7W:/opt/albertqee/Downloads$ sudo dpkg-deb -b Sun7loginClient_rebuild
dpkg-deb: building package 'sunloginclient' in 'Sun7loginClient_rebuild.deb'.
albertqee@ZBG7W:/opt/albertqee/Downloads$ 

上述的第11行,将libgconf-2-4替换为了libwebkit2gtk-4.1-0(这个名字来源于此前一步的第21行的结果),之后保存退出即可。这一步会在当前目录下生成一个deb格式的安装包。

安装重新构建后的安装包:

sh 复制代码
albertqee@ZBG7W:/opt/albertqee/Downloads$ mv Sun7loginClient_rebuild.deb SunloginClient_15.2.0.63064_rebuild_amd64.deb
albertqee@ZBG7W:/opt/albertqee/Downloads$ sudo dpkg -i SunloginClient_15.2.0.63064_rebuild_amd64.deb
Selecting previously unselected package sunloginclient.
(Reading database ... 290154 files and directories currently installed.)
Preparing to unpack SunloginClient_15.2.0.63064_rebuild_amd64.deb ...
Unpacking sunloginclient (15.2.0.63064) ...
Setting up sunloginclient (15.2.0.63064) ...
Created symlink '/etc/systemd/system/multi-user.target.wants/runsunloginclient.service' → '/etc/systemd/system/runsunloginclient.service'.
Processing triggers for gnome-menus (3.36.0-1.1ubuntu3) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
albertqee@ZBG7W:/opt/albertqee/Downloads$ 

至此,通过将原始的安装包解压、导出控制文件、修改控制文件、重新构建安装包、安装新构建的安装包的方式,将这个无法安装的问题解决了。

安装完成之后,打开软件,并查看版本信息:

3. dpkg-deb命令帮助

sh 复制代码
albertqee@ZBG7W:~$ dpkg-deb --help
Usage: dpkg-deb [<option>...] <command>

Commands:
  -b|--build <directory> [<deb>]   Build an archive.
  -c|--contents <deb>              List contents.
  -I|--info <deb> [<cfile>...]     Show info to stdout.
  -W|--show <deb>                  Show information on package(s)
  -f|--field <deb> [<cfield>...]   Show field(s) to stdout.
  -e|--control <deb> [<directory>] Extract control info.
  -x|--extract <deb> <directory>   Extract files.
  -X|--vextract <deb> <directory>  Extract & list files.
  -R|--raw-extract <deb> <directory>
                                   Extract control info and files.
  --ctrl-tarfile <deb>             Output control tarfile.
  --fsys-tarfile <deb>             Output filesystem tarfile.

  -?, --help                       Show this help message.
      --version                    Show the version.

<deb> is the filename of a Debian format archive.
<cfile> is the name of an administrative file component.
<cfield> is the name of a field in the main 'control' file.

Options:
  -v, --verbose                    Enable verbose output.
  -D, --debug                      Enable debugging output.
      --showformat=<format>        Use alternative format for --show.
      --deb-format=<format>        Select archive format.
                                     Allowed values: 0.939000, 2.0 (default).
      --nocheck                    Suppress control file check (build bad
                                     packages).
      --root-owner-group           Forces the owner and groups to root.
      --threads-max=<threads>      Use at most <threads> with compressor.
      --[no-]uniform-compression   Use the compression params on all members.
  -Z, --compression=<compressor>   Set build compression type.
                                     Allowed types: gzip, xz, zstd, none.
  -z, --compression-level=<level>  Set build compression level.
  -S, --compression-strategy=<name>
                                   Set build compression strategy.
                                     Allowed values: none; extreme (xz);
                                     filtered, huffman, rle, fixed (gzip).

Format syntax:
  A format is a string that will be output for each package. The format
  can include the standard escape sequences \n (newline), \r (carriage
  return) or \\ (plain backslash). Package information can be included
  by inserting variable references to package fields using the ${var[;width]}
  syntax. Fields will be right-aligned unless the width is negative in which
  case left alignment will be used.

Use 'dpkg' to install and remove packages from your system, or
'apt' or 'aptitude' for user-friendly package management. Packages
unpacked using 'dpkg-deb --extract' will be incorrectly installed !
albertqee@ZBG7W:~$ 

4. References

1\]. [Linux安装向日葵解决libgconf-2-4依赖问题](https://zhuanlan.zhihu.com/p/691858812#:~:text=%E4%BD%BF%E7%94%A8sudo%20dpk)

相关推荐
白鲸开源14 小时前
Ubuntu 22 下 DolphinScheduler 3.x 伪集群部署实录
java·ubuntu·开源
用户31187945592181 天前
Kylin Linux 10 安装 glib2-devel-2.62.5-7.ky10.x86_64.rpm 方法(附安装包)
linux
涛啊涛1 天前
Centos7非LVM根分区容量不足后扩容,对调硬盘挂载/
linux·磁盘管理
CYRUS_STUDIO2 天前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向
熊猫李2 天前
rootfs-根文件系统详解
linux
dessler2 天前
Hadoop HDFS-高可用集群部署
linux·运维·hdfs
泽泽爱旅行2 天前
awk 语法解析-前端学习
linux·前端
轻松Ai享生活3 天前
5 节课深入学习Linux Cgroups
linux
christine-rr3 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神5553 天前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs