在openSUSE-Leap-15.5-DVD-x86_64中使用钉钉dingtalk_7.0.40.30829_amd64

news2024/12/23 2:49:59

在openSUSE-Leap-15.5-DVD-x86_64中使用钉钉dingtalk_7.0.40.30829_amd64

一、到官网下载钉钉Linux客户端
https://page.dingtalk.com/wow/z/dingtalk/simple/ddhomedownload#/
在这里插入图片描述

localhost:~ # ls -lh /home/suozhang/download/com.alibabainc.dingtalk_7.0.40.30829_amd64.deb
-rw-r–r-- 1 suozhang users 230M Sep 12 23:47 /home/suozhang/download/com.alibabainc.dingtalk_7.0.40.30829_amd64.deb
文件名为com.alibabainc.dingtalk_7.0.40.30829_amd64.deb,大小为230MB

二、安装和试用
suozhang@localhost:~> su -
密码:

localhost:~ # dpkg --info /home/suozhang/download/com.alibabainc.dingtalk_7.0.40.30829_amd64.deb
new Debian package, version 2.0.
size 240667848 bytes: control archive=78680 bytes.
220 bytes, 9 lines control
498496 bytes, 3447 lines md5sums
3820 bytes, 116 lines * postinst #!/bin/sh
1419 bytes, 50 lines * postrm #!/bin/sh
835 bytes, 38 lines * preinst #!/bin/sh
1081 bytes, 42 lines * prerm #!/bin/sh
1777 bytes, 46 lines shlibs
67 bytes, 2 lines triggers
Package: com.alibabainc.dingtalk
Version: 7.0.40.30829
Architecture: amd64
Maintainer: dingtalk alibaba-inc
Installed-Size: 887957
Section: devel
Priority: optional
Homepage: https://gov.dingtalk.com
Description: 钉钉

localhost:~ # dpkg --install /home/suozhang/download/com.alibabainc.dingtalk_7.0.40.30829_amd64.deb
Selecting previously unselected package com.alibabainc.dingtalk.
(Reading database … 0 files and directories currently installed.)
Preparing to unpack …/com.alibabainc.dingtalk_7.0.40.30829_amd64.deb …
Unpacking com.alibabainc.dingtalk (7.0.40.30829) …
Setting up com.alibabainc.dingtalk (7.0.40.30829) …
/home/lost+found
/home/ruhong
/home/suozhang

localhost:~ # dpkg -l
-l是小写字母l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
++±=---==========================================
ii com.alibabainc.dingtalk 7.0.40.30829 amd64 钉钉
localhost:~ # dpkg -L com.alibabainc.dingtalk
-L是大写字母L
/.
/opt
/opt/apps
/opt/apps/com.alibabainc.dingtalk
/opt/apps/com.alibabainc.dingtalk/entries
/opt/apps/com.alibabainc.dingtalk/entries/applications
/opt/apps/com.alibabainc.dingtalk/entries/applications/com.alibabainc.dingtalk.desktop
/opt/apps/com.alibabainc.dingtalk/entries/applications/com.alibabainc.dingtalk_std_int.desktop
/opt/apps/com.alibabainc.dingtalk/entries/autostart
/opt/apps/com.alibabainc.dingtalk/entries/autostart/com.alibabainc.dingtalk.desktop

应用程序——其它——钉钉
是没有任何反应的,更没有提示报错信息

三、查看错误信息并分析原因和修改
localhost:~ # cat /usr/share/applications/com.alibabainc.dingtalk.desktop
[Desktop Entry]
Categories=Chat;
Comment=
Exec=/opt/apps/com.alibabainc.dingtalk/files/Elevator.sh %u
GenericName=dingtalk
Icon=/opt/apps/com.alibabainc.dingtalk/files/logo.ico
Keywords=dingtalk;
MimeType=x-scheme-handler/dingtalk;
Name=钉钉
Type=Application
X-Deepin-Vendor=user-custom

suozhang@localhost:~> bash /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
“opensuse-leap”
“opensuse-leap” branch
“opensuse-leap” glibc lower branch
preload_libs=./envlib.so ./libharfbuzz.so.0
Load /opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829//dingtalk_dll.so failed! Err=./libm.so.6: version `GLIBC_2.29’ not found (required by /usr/lib64/libgtk-x11-2.0.so.0)
出错提示说找不到libm.so.6

localhost:~ # locate libm.so.6
/lib/libm.so.6
/lib64/libm.so.6
/opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829/libm.so.6
localhost:~ # rm /opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829/libm.so.6
localhost:~ # ln -s /lib64/libm.so.6 /opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829/libm.so.6
localhost:~ # ll /opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829/libm.so.6
lrwxrwxrwx 1 root root 16 Sep 17 00:22 /opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829/libm.so.6 -> /lib64/libm.so.6
删除钉钉自带的libm.so.6,建立一个软链接使用opensuse15.5的/lib64/libm.so.6

localhost:~ # bash /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
“opensuse-leap”
“opensuse-leap” branch
“opensuse-leap” glibc lower branch
preload_libs=./envlib.so ./libharfbuzz.so.0
Load /opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829//dingtalk_dll.so failed! Err=/usr/lib64/libpango-1.0.so.0: undefined symbol: hb_ot_metrics_get_position
出错提示说undefined symbol,我也不是很明白,仔细阅读Elevator.sh发现错在libc_version=ldd --version | grep ldd | cut -d' ' -f5而非/usr/lib64/libpango-1.0.so.0
localhost:~ # ldd --version | grep ldd | cut -d’ ’ -f5
没有任何输出,不能得出ldd的版本号数字
localhost:~ # ldd --version | grep ldd | cut -d’ ’ -f 4
2.31
所以要将
libc_version=ldd --version | grep ldd | cut -d' ' -f5
改成
libc_version=ldd --version | grep ldd | cut -d' ' -f 4

localhost:~ # head -n 15 /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
#!/bin/sh
export QT_QPA_PLATFORM=xcb
export QT_PLUGIN_PATH=/opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829
cd /opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829
preload_libs=“”

check os_info

os_name=cat /etc/os-release | grep ^ID= | cut -d'=' -f 2
echo KaTeX parse error: Double superscript at position 60: … ldd | cut -d' '̲ -f5` libc_vers…{libc_version}" | tr ‘.’ ’ '`
libc_version_m=0
libc_version_b=0
libc_lower=false

localhost:~ # sed -n ‘s/f5/f 4/p’ /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
libc_version=ldd --version | grep ldd | cut -d' ' -f 4
localhost:~ # sed -i ‘s/f5/f 4/’ /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
简单的方法是自己使用vim或者gedit文本编辑软件打开Elevator.sh修改f5成f 4再保存就行了(f与4之间有一个空格),这里使用sed操作
localhost:~ # head -n 15 /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
#!/bin/sh
export QT_QPA_PLATFORM=xcb
export QT_PLUGIN_PATH=/opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829
cd /opt/apps/com.alibabainc.dingtalk/files/7.0.40-Release.30829
preload_libs=“”

check os_info

os_name=cat /etc/os-release | grep ^ID= | cut -d'=' -f 2
echo KaTeX parse error: Double superscript at position 60: … ldd | cut -d' '̲ -f 4` libc_ver…{libc_version}" | tr ‘.’ ’ '`
libc_version_m=0
libc_version_b=0
libc_lower=false

localhost:~ # bash /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
“opensuse-leap”
“opensuse-leap” branch
preload_libs=
frome cef_dll_wrapp api_hash: 83f3053840abba3b83e43ade58230f10b48591dd
[9830:9830:2023/09/17 01:59:17:INFO:storage.cpp(62)] open storage time=2 ,name=GlobalStorage
……
跳出登录对话框了,能用了

四、将软件类型Chat修改为InstantMessaging;Network
localhost:~ # cat /usr/share/applications/com.alibabainc.dingtalk.desktop
[Desktop Entry]
Categories=Chat;
Comment=
Exec=/opt/apps/com.alibabainc.dingtalk/files/Elevator.sh %u
GenericName=dingtalk
Icon=/opt/apps/com.alibabainc.dingtalk/files/logo.ico
Keywords=dingtalk;
MimeType=x-scheme-handler/dingtalk;
Name=钉钉
Type=Application
X-Deepin-Vendor=user-custom
localhost:~ # sed -n ‘s/Chat/InstantMessaging;Network/p’ /usr/share/applications/com.alibabainc.dingtalk.desktop
Categories=InstantMessaging;Network;
localhost:~ # sed -i ‘s/Chat/InstantMessaging;Network/’ /usr/share/applications/com.alibabainc.dingtalk.desktop
简单的方法是自己使用vim或者gedit文本编辑软件打开com.alibabainc.dingtalk.desktop修改Chat成InstantMessaging;Network再保存就行了,这里使用sed操作
localhost:~ # cat /usr/share/applications/com.alibabainc.dingtalk.desktop
[Desktop Entry]
Categories=InstantMessaging;Network;
Comment=
Exec=/opt/apps/com.alibabainc.dingtalk/files/Elevator.sh %u
GenericName=dingtalk
Icon=/opt/apps/com.alibabainc.dingtalk/files/logo.ico
Keywords=dingtalk;
MimeType=x-scheme-handler/dingtalk;
Name=钉钉
Type=Application
X-Deepin-Vendor=user-custom

可以让普通用户正式使用了
应用程序——互联网——钉钉——出现登录对话框——单击左上角的二维码图标——出现二维码
在这里插入图片描述

安卓手机——钉钉——右上角的加号图标——右上角的扫一扫——扫描屏幕中的二维码——桌面版登录确认
在这里插入图片描述在这里插入图片描述

五、删除钉钉
localhost:~ # dpkg --remove com.alibabainc.dingtalk
–remove表示删除包,但保留配置文件。
–purge表示删除包,且删除配置文件。
localhost:~ # dpkg --purge com.alibabainc.dingtalk
(Reading database … 3650 files and directories currently installed.)
Removing com.alibabainc.dingtalk (7.0.40.30829) …
/home/lost+found
/home/ruhong
/home/ruhong/桌面/com.alibabainc.dingtalk.desktop
/home/suozhang
/home/suozhang/桌面/com.alibabainc.dingtalk.desktop
Purging configuration files for com.alibabainc.dingtalk (7.0.40.30829) …
/home/lost+found
/home/ruhong
/home/suozhang
dpkg: warning: while removing com.alibabainc.dingtalk, directory ‘/usr/share/applications’ not empty so not removed
dpkg: warning: while removing com.alibabainc.dingtalk, directory ‘/opt’ not empty so not removed

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1018709.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一篇文章学会正则表达式的语法

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ 正则表达式(Regular Expression)在代码中常常简写为regex。正则表达式通常被用来检索、替换那些符合某个规则的文本,它是一种强大而灵活…

1. 快速体验 VSCode 和 CMake 创建 C/C++项目

1. 快速体验 VSCode 和 CMake 创建 C/C项目 本章的全部代码和markdown文件地址: CMake_Tutorial,欢迎互相交流. 此次介绍的内容都是针对于 Linux 操作系统上的开发过程. 1.1 安装开发工具 VSCode: 自行下载安装, 然后安装插件 Cmake:在 Ubuntu 系统上, 可以采用 ap…

[k8s] pod的创建过程

pod的创建过程 定义 Pod 的规范: apiVersion: v1 kind: Pod metadata:name: my-pod spec:containers:- name: my-containerimage: nginx:latest创建 Pod 对象: 使用 kubectl 命令行工具或其他客户端工具创建 Pod 对象: kubectl create -f…

【JAVA-Day15】Java 的 do-while 循环语句

Java 的 do-while 循环语句 Java 的 do-while 循环语句摘要引言一、什么是 do-while 循环语句二、do-while 循环语句的语法三、do-while 循环的优势和使用场景优势使用场景 与其他方式相比优势劣势与while循环比较与for循环比较 建议四、总结参考资料 博主 默语带您 Go to New …

90 # 实现 express 请求处理

上一节构建 layer 和 route 的关系,这一节来实现 express 请求处理 application.js const http require("http"); const Router require("./router");function Application() {this._router new Router(); }Application.prototype.get fu…

【C语言】【数据存储】用%u打印char类型?用char存128?

1.题目一&#xff1a; #include <stdio.h> int main() {char a -128;printf("%u\n",a);return 0; }%u 是打印无符号整型 解题逻辑&#xff1a; 1. 原反补互换&#xff0c;截断 -128 原码&#xff1a;10000000…10000000 补码&#xff1a;11111111…10000000…

【初阶数据结构】树(tree)的基本概念——C语言

目录 一、树&#xff08;tree&#xff09; 1.1树的概念及结构 1.2树的相关概念 1.3树的表示 1.4树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff09; 二、二叉树的概念及结构 2.1二叉树的概念 2.2现实中真正的二叉树 2.3特殊的二叉树 2.4二叉树的性质…

【iOS】ViewController的生命周期

文章目录 前言一、UIViewController生命周期有关函数二、执行顺序注意点loadview&#xff1a; 前言 在iOS开发中UIViewController扮演者非常重要的角色&#xff0c;它是视图view和数据model的桥梁&#xff0c;通过UIViewController的管理有条不紊的将数据展示在视图上。作为UI…

XML 和 JSON 学习笔记(基础)

XML Why XML 的出现背景&#xff1a;在实际开发中&#xff0c;不同语言&#xff08;如Java、JavaScript等&#xff09;的应用程序之间数据传递的格式不同&#xff0c;导致它们进行数据交换时很困难&#xff0c;XML就应运而生了&#xff01;&#xff08;XML 是一种通用的数据交…

视频分析【video analytics】的项目的关键因素 -- 如何选择合适的摄像头,存储设备,以及AI推理硬件?

文字大纲 参考指标摄像机存储设备AI 推理硬件参考文献与学习路径参考指标 摄像机 通常的做法是将视频视为一系列图像(帧),并使用仅在图像上训练的深度神经网络模型来执行视频上的相似分析任务。在这篇论文中,我们表明,这种在图像上运行良好的深度学习模型在视频上也会运行…

QT:使用普通按钮、网格布局管理器、标签、行编辑器、水平布局管理器、垂直布局管理器做一个小项目

widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> //普通按钮 #include <QGridLayout> //网格布局管理器 #include <QLabel> //标签 #include <QLineEdit> //行编辑器 #include <QHBoxLayo…

core文件的生成与使用

目录 core 设置例子 1例子 2core 名称及目录修改参考 在使用嵌入式系统时&#xff0c;出错后&#xff0c;不好使用 gdb 调试&#xff0c;这时&#xff0c;可让系统生成一个 core 文件&#xff0c;用于查看出错原因 core 设置 要生成 core 文件&#xff0c;需要先设置 core 文…

链表的基本操作(acm模式,中等)

此题自己亲自动手实现难度确实不容易&#xff0c;为了更好的掌握 链表这一结构&#xff0c;还是得自己敲&#xff0c;自己debug,还得多次看&#xff0c;才能脑子清楚&#xff0c;手也熟。 // 本题的删除索引是从1开始&#xff0c;函数实现是从0开始&#xff0c;先说明这一点&a…

基于SSM的高校教师科研信息展示网站的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

[自用]手推DDPM公式

正向最终呈N(0,1) 逆向可解 用神经网络预测逆向的噪声ε&#xff0c;与正向的噪声做MSE

列属性与数据完整性

1.2 数据类型——值类型 1.2.1 整型 类型字节范围tinyint1-128~127smallint2-32768~32767mediumint3-8388608~8388607int4-231~231-1bigint8-263~263-1 1、无符号整数&#xff08;unsigned&#xff09;&#xff1a;无符号数没有负数&#xff0c;正数部分是有符号的两倍。 例…

解决Qt VS Tools扩展加载预编译Qt库 提示版本不匹配

提示 qmake error:no value for QT_INSTALL_PREFIX/src 原因&#xff1a; qt路径编译时&#xff0c;是硬编码到qmake里的&#xff0c;所以如果挪动了qt的目录&#xff0c;或者是下载其他人预编译的qt库&#xff0c;就会有该提示。 解决方案&#xff1a; qmake同级别路径新建q…

docker 和k8s 入门

docker 和k8s 入门 本文是云原生的学习记录&#xff0c;可以参考以下文档 k8s https://www.yuque.com/leifengyang/oncloud 相关视频教程可参考如下 https://www.bilibili.com/video/BV13Q4y1C7hS?p2&vd_source0882f549dac54045384d4a921596e234 相对于公有云&#x…

6.3、Flink数据写入到MySQL

目录 1、添加POM依赖 2、这一个完整的案例 3、何时批量写入MySQL呢&#xff1f; 4、容错性的保证(精确一次&至少一次) 4.1、 至少一次 4.2、精确一次 1、添加POM依赖 Apache Flink 集成了通用的 JDBC 连接器&#xff0c;使用时需要根据生产环境的版本引入相应的依赖…