在 Red Hat Enterprise Linux 8.4 上安装配置 腾讯会议 应用

在 RHEL 8.4 上安装配置 腾讯会议 应用

1 背景

  • 腾讯会议算是目前国内使用比较多视频会议系统, 但是有个问题, 当前腾讯并没有针对 Red Hat Enterprise Linux 8.4 提供 rpm 包, 源码或者二进制文件. 如果您希望在 Red Hat Enterprise Linux 8.4 上使用 腾讯会议软件, 那您就可以参考这篇文章.

2 环境

3 需要用到的依赖库 (绝大部分系统已经默认安装, 根据 ldd 的结果,按需安装就可以了.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
libstdc++-8.4.1-1.el8.x86_64
glibc-2.28-151.el8.x86_64
libgcc-8.4.1-1.el8.x86_64
glibc-2.28-151.el8.x86_64
qt5-qtwebkit-5.212.0-0.42.alpha3.el8.x86_64
qt5-qtx11extras-5.12.5-1.el8.x86_64
qt5-qtbase-5.12.5-8.el8.x86_64
libXrandr-1.5.2-1.el8.x86_64
libX11-1.6.8-4.el8.x86_64
libwayland-egl-1.17.0-1.el8.x86_64
qt5-qtbase-gui-5.12.5-8.el8.x86_64
qt5-qtwebkit-5.212.0-0.42.alpha3.el8.x86_64
qt5-qtbase-5.12.5-8.el8.x86_64
qt5-qtbase-gui-5.12.5-8.el8.x86_64
qt5-qtbase-5.12.5-8.el8.x86_64
glibc-2.28-151.el8.x86_64
glibc-2.28-151.el8.x86_64
glibc-2.28-151.el8.x86_64
libbsd-0.9.1-4.el8.x86_64
qt5-qtbase-gui-5.12.5-8.el8.x86_64
libglvnd-glx-1.3.2-1.el8.x86_64
dbus-libs-1.12.8-12.el8_4.2.x86_64
libXext-1.3.4-1.el8.x86_64
libXrender-0.9.10-7.el8.x86_64
libxcb-1.13.1-1.el8.x86_64
qt5-qtdeclarative-5.12.5-1.el8.x86_64
qt5-qtwebchannel-5.12.5-1.el8.x86_64
libicu-60.3-2.el8_1.x86_64
qt5-qtlocation-5.12.5-1.el8.x86_64
libXcomposite-0.4.4-14.el8.x86_64
libicu-60.3-2.el8_1.x86_64
qt5-qtsensors-5.12.5-1.el8.x86_64
libjpeg-turbo-1.5.3-10.el8.x86_64
libpng-1.6.34-5.el8.x86_64
zlib-1.2.11-17.el8.x86_64
libwebp-1.0.0-3.el8_4.x86_64
hyphen-2.8.8-9.el8.x86_64
libxml2-2.9.7-9.el8_4.2.x86_64
libxslt-1.1.32-6.el8.x86_64
sqlite-libs-3.26.0-13.el8.x86_64
glib2-2.56.4-10.el8_4.1.x86_64
gstreamer1-plugins-base-1.16.1-2.el8.x86_64
gstreamer1-1.16.1-2.el8.x86_64
gstreamer1-1.16.1-2.el8.x86_64
gstreamer1-plugins-base-1.16.1-2.el8.x86_64
gstreamer1-plugins-base-1.16.1-2.el8.x86_64
gstreamer1-plugins-base-1.16.1-2.el8.x86_64
gstreamer1-plugins-base-1.16.1-2.el8.x86_64
gstreamer1-plugins-base-1.16.1-2.el8.x86_64
glib2-2.56.4-10.el8_4.1.x86_64
glib2-2.56.4-10.el8_4.1.x86_64
qt5-qtdeclarative-5.12.5-1.el8.x86_64
openssl-libs-1.1.1g-15.el8_3.x86_64
openssl-libs-1.1.1g-15.el8_3.x86_64
harfbuzz-1.7.5-3.el8.x86_64
systemd-libs-239-45.el8_4.3.x86_64
libicu-60.3-2.el8_1.x86_64
pcre2-utf16-10.32-2.el8.x86_64
glib2-2.56.4-10.el8_4.1.x86_64
pulseaudio-libs-14.0-2.el8.x86_64
alsa-lib-1.2.4-5.el8.x86_64
systemd-libs-239-45.el8_4.3.x86_64
libXfixes-5.0.3-7.el8.x86_64
libXdamage-1.1.4-14.el8.x86_64
libXinerama-1.1.4-1.el8.x86_64
libglvnd-egl-1.3.2-1.el8.x86_64
libgomp-8.4.1-1.el8.x86_64
libglvnd-glx-1.3.2-1.el8.x86_64
libglvnd-1.3.2-1.el8.x86_64
libXau-1.0.9-3.el8.x86_64
xz-libs-5.2.4-3.el8.x86_64
libffi-3.1-22.el8.x86_64
glib2-2.56.4-10.el8_4.1.x86_64
gnutls-3.6.16-4.el8.x86_64
pcre-8.42-4.el8.x86_64
libselinux-2.9-5.el8.x86_64
glibc-2.28-151.el8.x86_64
libmount-2.32.1-27.el8.x86_64
orc-0.4.28-3.el8.x86_64
freetype-2.9.1-4.el8_3.1.x86_64
graphite2-1.3.10-10.el8.x86_64
lz4-libs-1.8.3-3.el8_4.x86_64
libcap-2.26-4.el8.x86_64
libgcrypt-1.8.5-4.el8.x86_64
pulseaudio-libs-14.0-2.el8.x86_64
libX11-xcb-1.6.8-4.el8.x86_64
libICE-1.0.9-15.el8.x86_64
libSM-1.2.3-1.el8.x86_64
libXtst-1.2.3-7.el8.x86_64
libsndfile-1.0.28-10.el8_4.1.x86_64
libasyncns-0.8-14.el8.x86_64
p11-kit-0.23.22-1.el8.x86_64
libidn2-2.2.0-1.el8.x86_64
libunistring-0.9.9-3.el8.x86_64
libtasn1-4.13-3.el8.x86_64
nettle-3.4.1-4.el8_3.x86_64
nettle-3.4.1-4.el8_3.x86_64
gmp-6.1.2-10.el8.x86_64
pcre2-10.32-2.el8.x86_64
libblkid-2.32.1-27.el8.x86_64
libuuid-2.32.1-27.el8.x86_64
bzip2-libs-1.0.6-26.el8.x86_64
libgpg-error-1.31-1.el8.x86_64
libXi-1.7.10-1.el8.x86_64
gsm-1.0.17-5.el8.x86_64
flac-libs-1.3.2-9.el8.x86_64
libogg-1.3.2-10.el8.x86_64
libvorbis-1.3.6-2.el8.x86_64
libvorbis-1.3.6-2.el8.x86_64

4 拆解文件

  • 例子使用的路径 /opt/wemeet/wemeet/
    1
    2
    # alien -r TencentMeeting_0300000000_2.8.0.1_x86_64.publish.deb
    # rpm2cpio wemeet-2.8.0.1-2.x86_64.rpm |cpio -ivmd

    5 将额外的依赖库 copy 到系统对应的路径

  • 例子使用的路径 /opt/wemeet/wemeet/
    1
    2
    3
    4
    5
    6
    7
    cp lib/libwemeet.so /lib64/
    cp lib/libwemeet_app_sdk.so /lib64/
    cp lib/libwemeet_framework_common.so /lib64/
    cp lib/libxnn.so /lib64/
    cp lib/libxnn_core.so /lib64/
    cp lib/libtquic.so /lib64/
    cp lib/libxcast.so /lib64/

    6 检查确认库都齐全

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    # ldd /opt/wemeet/wemeet/bin/wemeetapp
    linux-vdso.so.1 (0x00007ffcf6fd5000)
    libwemeet.so => /lib64/libwemeet.so (0x00007f00db997000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f00db602000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f00db280000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f00db068000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f00daca3000)
    libwemeet_app_sdk.so => /lib64/libwemeet_app_sdk.so (0x00007f00d9193000)
    libQt5WebKitWidgets.so.5 => /lib64/libQt5WebKitWidgets.so.5 (0x00007f00dd54d000)
    libQt5X11Extras.so.5 => /lib64/libQt5X11Extras.so.5 (0x00007f00dd547000)
    libQt5DBus.so.5 => /lib64/libQt5DBus.so.5 (0x00007f00dd4ae000)
    libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f00d8f88000)
    libX11.so.6 => /lib64/libX11.so.6 (0x00007f00d8c45000)
    libwayland-egl.so.1 => /lib64/libwayland-egl.so.1 (0x00007f00d8a43000)
    libQt5Widgets.so.5 => /lib64/libQt5Widgets.so.5 (0x00007f00d83c0000)
    libQt5WebKit.so.5 => /lib64/libQt5WebKit.so.5 (0x00007f00d5654000)
    libQt5Network.so.5 => /lib64/libQt5Network.so.5 (0x00007f00d549b000)
    libQt5Gui.so.5 => /lib64/libQt5Gui.so.5 (0x00007f00d4f73000)
    libQt5Core.so.5 => /lib64/libQt5Core.so.5 (0x00007f00d4a5a000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f00dd394000)
    libwemeet_framework_common.so => /lib64/libwemeet_framework_common.so (0x00007f00d4844000)
    libxcast.so => /lib64/libxcast.so (0x00007f00d379e000)
    libxnn.so => /lib64/libxnn.so (0x00007f00d32b3000)
    libxnn_core.so => /lib64/libxnn_core.so (0x00007f00d20fb000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f00d1edb000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f00d1cd7000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f00d1acf000)
    libtquic.so => /lib64/libtquic.so (0x00007f00d17b2000)
    libbsd.so.0 => /lib64/libbsd.so.0 (0x00007f00d1599000)
    libQt5PrintSupport.so.5 => /lib64/libQt5PrintSupport.so.5 (0x00007f00dd430000)
    libGL.so.1 => /lib64/libGL.so.1 (0x00007f00d1313000)
    libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f00d10bf000)
    libXext.so.6 => /lib64/libXext.so.6 (0x00007f00d0eac000)
    libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f00d0ca1000)
    libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f00d0a78000)
    libQt5Quick.so.5 => /lib64/libQt5Quick.so.5 (0x00007f00d05af000)
    libQt5WebChannel.so.5 => /lib64/libQt5WebChannel.so.5 (0x00007f00dd40c000)
    libicuuc.so.60 => /lib64/libicuuc.so.60 (0x00007f00d01ed000)
    libQt5Positioning.so.5 => /lib64/libQt5Positioning.so.5 (0x00007f00d0165000)
    libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f00cff62000)
    libicui18n.so.60 => /lib64/libicui18n.so.60 (0x00007f00cfaa1000)
    libQt5Sensors.so.5 => /lib64/libQt5Sensors.so.5 (0x00007f00dd3c8000)
    libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f00cf838000)
    libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f00cf603000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f00cf3ec000)
    libwebp.so.7 => /lib64/libwebp.so.7 (0x00007f00cf17e000)
    libhyphen.so.0 => /lib64/libhyphen.so.0 (0x00007f00cef78000)
    libxml2.so.2 => /lib64/libxml2.so.2 (0x00007f00cec10000)
    libxslt.so.1 => /lib64/libxslt.so.1 (0x00007f00ce9cf000)
    libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x00007f00ce6bb000)
    libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f00ce311000)
    libgstapp-1.0.so.0 => /lib64/libgstapp-1.0.so.0 (0x00007f00ce101000)
    libgstbase-1.0.so.0 => /lib64/libgstbase-1.0.so.0 (0x00007f00cde85000)
    libgstreamer-1.0.so.0 => /lib64/libgstreamer-1.0.so.0 (0x00007f00cdb41000)
    libgstpbutils-1.0.so.0 => /lib64/libgstpbutils-1.0.so.0 (0x00007f00cd904000)
    libgstaudio-1.0.so.0 => /lib64/libgstaudio-1.0.so.0 (0x00007f00cd689000)
    libgsttag-1.0.so.0 => /lib64/libgsttag-1.0.so.0 (0x00007f00cd44c000)
    libgstvideo-1.0.so.0 => /lib64/libgstvideo-1.0.so.0 (0x00007f00cd19e000)
    libgstfft-1.0.so.0 => /lib64/libgstfft-1.0.so.0 (0x00007f00ccf93000)
    libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f00ccd40000)
    libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f00cca27000)
    libQt5Qml.so.5 => /lib64/libQt5Qml.so.5 (0x00007f00cc562000)
    libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f00cc2ce000)
    libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f00cbde8000)
    libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f00cbb42000)
    libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f00cb7fb000)
    libicudata.so.60 => /lib64/libicudata.so.60 (0x00007f00c9c4f000)
    libpcre2-16.so.0 => /lib64/libpcre2-16.so.0 (0x00007f00c99d6000)
    libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f00c97d4000)
    libpulse.so.0 => /lib64/libpulse.so.0 (0x00007f00c957f000)
    libasound.so.2 => /lib64/libasound.so.2 (0x00007f00c927d000)
    libudev.so.1 => /lib64/libudev.so.1 (0x00007f00c8fe7000)
    libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f00c8ddf000)
    libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f00c8bdc000)
    libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f00c89d9000)
    libEGL.so.1 => /lib64/libEGL.so.1 (0x00007f00c87c5000)
    libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f00c858d000)
    libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f00c8359000)
    libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f00c80a3000)
    libXau.so.6 => /lib64/libXau.so.6 (0x00007f00c7e9f000)
    liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f00c7c78000)
    libffi.so.6 => /lib64/libffi.so.6 (0x00007f00c7a6d000)
    libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f00c7869000)
    libgnutls.so.30 => /lib64/libgnutls.so.30 (0x00007f00c7478000)
    libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f00c7207000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f00c6fdd000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f00c6dc6000)
    libmount.so.1 => /lib64/libmount.so.1 (0x00007f00c6b6a000)
    liborc-0.4.so.0 => /lib64/liborc-0.4.so.0 (0x00007f00c68ec000)
    libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f00c6630000)
    libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f00c6404000)
    liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f00c61e5000)
    libcap.so.2 => /lib64/libcap.so.2 (0x00007f00c5fdf000)
    libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f00c5cc1000)
    libpulsecommon-14.0.so => /usr/lib64/pulseaudio/libpulsecommon-14.0.so (0x00007f00c5a3a000)
    libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f00c5838000)
    libICE.so.6 => /lib64/libICE.so.6 (0x00007f00c5619000)
    libSM.so.6 => /lib64/libSM.so.6 (0x00007f00c5410000)
    libXtst.so.6 => /lib64/libXtst.so.6 (0x00007f00c5209000)
    libsndfile.so.1 => /lib64/libsndfile.so.1 (0x00007f00c4f97000)
    libasyncns.so.0 => /lib64/libasyncns.so.0 (0x00007f00c4d91000)
    libp11-kit.so.0 => /lib64/libp11-kit.so.0 (0x00007f00c4a67000)
    libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f00c4847000)
    libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f00c44c6000)
    libtasn1.so.6 => /lib64/libtasn1.so.6 (0x00007f00c42b3000)
    libnettle.so.6 => /lib64/libnettle.so.6 (0x00007f00c4079000)
    libhogweed.so.4 => /lib64/libhogweed.so.4 (0x00007f00c3e48000)
    libgmp.so.10 => /lib64/libgmp.so.10 (0x00007f00c3bb0000)
    libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f00c392a000)
    libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f00c36d7000)
    libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f00c34cf000)
    libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f00c32be000)
    libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f00c309d000)
    libXi.so.6 => /lib64/libXi.so.6 (0x00007f00c2e8a000)
    libgsm.so.1 => /lib64/libgsm.so.1 (0x00007f00c2c7e000)
    libFLAC.so.8 => /lib64/libFLAC.so.8 (0x00007f00c2a24000)
    libogg.so.0 => /lib64/libogg.so.0 (0x00007f00c281d000)
    libvorbis.so.0 => /lib64/libvorbis.so.0 (0x00007f00c25f0000)
    libvorbisenc.so.2 => /lib64/libvorbisenc.so.2 (0x00007f00c2347000)

    7 创建图标链接

  • 创建文件
    1
    #vim /usr/share/applications/wemeetapp.desktop
  • 确保文件内容如下
    1
    2
    3
    4
    5
    6
    7
    8
    [Desktop Entry]
    Name=WemeetApp
    Exec=/opt/wemeet/wemeet/bin/wemeetapp # 拆解的 wemeetapp 路径 (也可以根据你实际情况修改)
    Icon=/opt/wemeet/wemeet/splash_logo3x.png # 拆解的图标路径
    Type=Application
    Terminal=false
    Categories=AudioVideo;
    MimeType=x-scheme-handler/wemeet;

    8 启动wemeetapp, 通过快捷方式或者点击图标(以点击图标为例)

  • 点击图标快速启动
    wemeet1
  • 扫码或者自己习惯的方式登陆
    wemeet2
  • 可以执行共享屏幕等会议应用
    wemeet3
  • 结束退出会议
    wemeet4