在Linux系统中,一般有2大阵营,Debian和Redhat,其对应的桌面版本主要是Ubuntu和Fedora。
钉钉作为优秀的企业办公软件,当前也有Linux版本,由于Linux用户本身很少,故钉钉只发布了针对Ubuntu20.04的版本(com.alibabainc.dingtalk_7.1.0.31017_amd64.deb),对于Fedora系列无支持,那么应该如何支持Fedora系列呢?
钉钉的安装分成以下3个步骤:
1,转包过程
对于fedora一般要求rpm包,所以拿到deb包(com.alibabainc.dingtalk_7.1.0.31017_amd64.deb)的时候,需要转成rpm包。转包需要用到一个命令:alien,如果在fedora39系统上没有,安装此命令即可:
dnf install alien -y
接着执行转包操作:
alien -r com.alibabainc.dingtalk_7.1.0.31017_amd64.deb
然后等待10分钟之后,会得到rpm包(com.alibabainc.dingtalk-7.1.0.31017-2.x86_64.rpm)。
2,安装过程
对于fedora39系统rpm包的安装,一般都不陌生,一般采用dnf安装,但由于转rpm包所依赖的包的名称都是ubuntu上的名称,所以dnf直接安装不到依赖,所以需要通过rpm安装命令非依赖安装,命令如下:
rpm -ivh com.alibabainc.dingtalk-7.1.0.31017-2.x86_64.rpm --nodeps
虽然强制了非依赖安装,但无法运行钉钉。通过查看运行快捷方式文件"/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
调试模式运行:
sh -x /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
会提示libm.so.6所以来的库不正确,这个时候,我们需要使用fedora39系统所带的libm.so.6,即:
# 将原有安装的libm.so.6删除,运行二进制会自动寻找系统依赖库
cd /opt/apps/com.alibabainc.dingtalk/files/7.1.0-Release.31017
mv libm.so.6 libm.so.6.old
这时候,会提示其他的库(libcairo.so.2,libpng15.so.15,libcrypt.so.1)找不到,libcairo.so.2在fedora39最新的系统里面是找不到的,我这里是从EdrawMax发现有这个库,直接软链就可以,没有按章edraw的朋友可以在其他系统(如ubuntu)上找一个库即可:
ln -sf /opt/EdrawMax-12/lib/libcairo.so.2 .
对于其他两个库,可以使用dnf 查看哪个库有这依赖:
dnf provides */libpng15.so.15
dnf install libpng15 -y
dnf provides */libcrypt.so.1
dnf install libxcrypt-compat -y
然后运行:
sh -x /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
Linux钉钉正常启动。
3,界面字体显示
由于字体版权限制,有些字体不能直接用于Linux系统,所以针对钉钉软件指定了字体,可能显示方框,这种情况可以通过将Windows字体软链到fedora39上解决(如Windows字体在/mnt/c/Windows/fonts下):
cd /usr/share/fonts
sudo mkdir -p zh_CN/TrueType
cd zh_CN/TrueType
for i in `ls /mnt/c/Windows/fonts/*.{ttf,ttc,fon,TTF}`; do sudo ln -sf $i .; done;
sudo mkfontscale
sudo mkfontdir
sudo fc-cache /usr/share/fonts/zh_CN/TrueType
重启钉钉软件即可。