Vigorous Pro

The world can always use more heroes.

  1. 1. 配置MIME
  2. 2. 程序启动配置
  3. 3. 应用配置

最近又在电脑上装上了 Manjaro,不过这一次算是解决了蛮多之前遇到过的问题吧。本文旨在通过调整文件识别来解决 TeamSpeak 在 Linux 下无法安装插件的问题。

配置MIME

此处不需要 root 权限

首先在 ~/.local/share/mime/packages/ 目录下创建一个名为 application-x-ts3plugin.xml 的文件

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-ts3plugin">
<comment>ts3plugin</comment>
<glob pattern="*.ts3_plugin"/>
<glob pattern="*.ts3_style"/>
<glob pattern="*.ts3_soundpack"/>
<glob pattern="*.ts3_iconpack"/>
<glob pattern="*.ts3_translation"/>
</mime-type>
</mime-info>

如果想让文件显示图标 在 </mime-type> 之前添加这段内容,
<icon name="PATH_TO_YOUR_LOGO"/>
其中的文件路径需要自行修改,我自己为了做区分,所以使用了旧版 TeamSpeak 图标, 图标下载地址 https://go.uv.uy/slHRx

添加后文件示例

程序启动配置

此处不需要 root 权限

接下来在 ~/.local/share/applications/ 目录下创建一个名为 ts3-plugininst.desktop 的文件

1
2
3
4
5
6
[Desktop Entry]
Exec=/usr/bin/ts3-plugininst
MimeType=application/x-ts3plugin;
Name=TeamSpeak Plugin Installer
NoDisplay=true
Type=Application

此处如果是通过 pacman 包管理器安装的话,需要 root 权限,但如果是通过官方安装脚本则不需要 root 权限

然后在 Teamspeak 的安装目录下创建一个名为 plugininst.sh 的文件。
(因为我刚刚安装了 Manjaro,所以以此为例,pacman 滚包之后, TeamSpeak 安装目录为 /opt/teamspeak3/
plugininst.sh 文件中键入以下内容

1
2
3
4
5
6
#!/bin/sh
cd /opt/teamspeak3
export QTDIR=.
export QT_PLUGIN_PATH=.
export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
./package_inst $@

此处需要 root 权限,并注意您的 teamspeak3 实际位置
创建一个软连接到 /usr/bin 目录下

1
ln -s /opt/teamspeak3/plugininst.sh /usr/bin/ts3-plugininst

接下来,执行 chmod +x /usr/bin/ts3-plugininst 赋予其执行权限

应用配置

此处不需要 root 权限

现在为了成功按我们想要的方式来安装插件,执行下面的内容,让系统自动生成配置文件

1
2
update-desktop-database ~/.local/share/applications
update-mime-database ~/.local/share/mime

现在便可以安装插件啦~
最终效果图

在此感谢 @Peter 提供技术支持

本文作者 : Edison Jwa
本文使用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议
本文链接 : https://www.wevg.org/archives/fix-ts3-linux-plugin/

本文最后更新于 天前,文中所描述的信息可能已发生改变