https://wiki.archlinux.org/api.php?action=feedcontributions&user=Kali-Team&feedformat=atom
ArchWiki - User contributions [en]
2024-03-29T06:56:02Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Tencent_QQ_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=587120
Tencent QQ (简体中文)
2019-10-24T14:24:16Z
<p>Kali-Team: 官方更新了Linux版的QQ</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:Internet applications (简体中文)]]<br />
QQ 是腾讯公司开发的即时通讯软件,为 ICQ 的仿制品,是中国最流行的 IM 软件。本页面列出了 Linux 下使用 QQ 的各种解决方案。<br />
<br />
== 虚拟机 ==<br />
您可以在虚拟机中运行一个完整的 Windows 系统,并在此中运行 QQ。相比于其他的方案,这种方案出错的几率是最小的,缺点是占用的资源较多。<br />
<br />
一般使用 [[VirtualBox (简体中文)|VirtualBox]] 即可满足需求,也可以参考 [[:Category:Hypervisors]] 选择其它的虚拟机程序。<br />
<br />
{{提示|<br />
* 根据[https://www.microsoft.com/en-us/Useterms/OEM/Windows/10Mobile/UseTerms_OEM_Windows_10Mobile_ChineseSimplified.htm 许可条款],在每个虚拟设备上运行 Windows 都需要单独的授权。但您可以选择使用[https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ 微软提供的虚拟机专用系统](免费使用)。<br />
* 如果您使用 VirtualBox,建议您开启'''[https://www.virtualbox.org/manual/ch04.html#seamlesswindows 无缝模式]''',这个功能能让您在宿主机的桌面下无缝操作虚拟机中的窗口。}}<br />
<br />
== Wine ==<br />
<br />
[[Wine (简体中文)|Wine]] 是类 UNIX 系统下运行微软 Windows 程序的"兼容层",可以用它模拟 Windows 环境来运行 QQ/TIM。<br />
<br />
{{警告|Wine QQ/TIM 在平铺式窗口管理器下的样式可能会大规模失控,需要进行[[#平铺式窗口管理器下的配置|额外的配置]]。}}<br />
<br />
=== Deepin QQ/TIM ===<br />
<br />
Deepin QQ/TIM 是 wine 中相对成熟的方案。几乎开箱即用,bug 较少。<br />
<br />
您可以安装{{aur|deepin-qq-im}}或{{aur|deepin-wine-tim}},也可以从 [https://www.archlinuxcn.org/archlinux-cn-repo-and-mirror/ ArchLinux CN 源] 安装deepin.com.qq.office或者deepin.com.qq.im。<br />
<br />
如果是Arch系KDE/Plasma桌面,请[[KDE (简体中文)#%E7%A8%8B%E5%BA%8F%E8%87%AA%E5%90%AF%E5%8A%A8/|按照这个教程]]{{Broken section link}},先安装gnome-settings-daemon,然后将/usr/lib/gsd-xsettings设置为自动启动<br />
<br />
=== Crossover ===<br />
<br />
可以使用 [[CrossOver]] 运行 QQ、TM2013 和 TIM。更多详情可以参阅[https://www.codeweavers.com/compatibility CrossOver的兼容性列表]。<br />
<br />
=== AppImage ===<br />
<br />
AppImage 是一种把应用打包成单一文件的格式。您可以在[https://github.com/askme765cs/Wine-QQ-TIM]下载到封装好的 Wine QQ/TIM。只需要赋予可执行权限即可使用。由于 AppImage 格式附带了程序所需要的依赖,所以这种方式受系统中其他组件版本的影响最小。<br />
{{注意|由于 AppImage 不使用系统的 Wine,所以对 Wine 的调整可能无效,例如[[#HiDPI 支持]]。}}<br />
<br />
=== 清风老师的 Wine QQ 方案 ===<br />
<br />
您也可以使用[http://phpcj.org/wineqq/ 清风老师] 提供的 Wine QQ 方案。<br />
<br />
{{注意| 安装成功之后要取消勾选 QQ 的自动更新,以免自动更新导致不可用。<br />
}}<br />
<br />
=== 手动 Wine 方案 ===<br />
<br />
==== QQ 轻聊版 ====<br />
<br />
{{注意|此方案使用QQ轻聊版6.7,更高版本在当前wine版本需要[https://blog.lilydjwg.me/2015/10/26/run-tencent-qq-lite-with-wine.186640.html 额外的调整]才能安装。}}<br />
<br />
安装{{Pkg|winetricks}}、{{Pkg|wine}}。创建 qqlight.verb 如下:<br />
<br />
w_metadata qqlight apps \<br />
title="QQ Light" \<br />
publisher="Tencent" \<br />
year="2015" \<br />
media="download" \<br />
file1="QQ6.7Light.exe" \<br />
installed_exe1="$W_PROGRAMS_X86_WIN/Tencent/QQ/Bin/QQ.exe" \<br />
homepage="http://www.qq.com" \<br />
unattended="no"<br />
<br />
load_qqlight()<br />
{<br />
w_download http://dldir1.qq.com/qqfile/qq/QQ6.7Light/13466/QQ6.7Light.exe e1e1ff2bf6461c08047d0a01927a43c5a0746bdf<br />
<br />
if w_workaround_wine_bug 29636 "Installing native riched20 to work around crash bug"<br />
then<br />
w_call riched20<br />
fi<br />
<br />
if w_workaround_wine_bug 34566 "Installing native ctf to work around crash"<br />
then<br />
w_call msctf<br />
fi<br />
<br />
# Make sure chinese fonts are available<br />
w_call fakechinese<br />
<br />
# uses mfc42u.dll<br />
w_call mfc42<br />
<br />
cd "$W_CACHE/$W_PACKAGE"<br />
w_try "$WINE" "$file1"<br />
<br />
# fix crash after login<br />
mkdir -p ~/.local/share/wineprefixes/qqlight/drive_c/users/$LOGNAME/Application\ Data/Tencent/QQ/Misc/com.tencent.wireless/SDK<br />
chmod 000 ~/.local/share/wineprefixes/qqlight/drive_c/users/$LOGNAME/Application\ Data/Tencent/QQ/Misc/com.tencent.wireless/SDK<br />
<br />
w_declare_exe "$W_PROGRAMS_X86_WIN\\Tencent\\QQ\\Bin" QQ.exe<br />
}<br />
<br />
运行 winetricks 安装:<br />
<br />
$ winetricks qqlight.verb<br />
<br />
安装完成后通过 wineconsole 启动:<br />
<br />
$ wineconsole .wine/drive_c/run-qqlight.bat<br />
<br />
==== TIM ====<br />
<br />
# 安装{{pkg|wine}}、{{pkg|wine_gecko}} 和 {{pkg|wine-mono}}。<br />
# 执行{{ic|winetricks riched20}},也可使用 {{ic|winecfg}} 设置函数库顶替。<br />
# 中文字体显示见[[#字体配置]]。<br />
# 安装 TIM。<br />
{{提示|安装的tim可能没有在程序列表中生成图标。若要自行添加图标,新建一个名为tim.desktop的文件,写入以下内容:<br />
{{hc|tim.desktop|<br />
<nowiki>[Desktop Entry]<br />
Encoding=UTF-8<br />
Version=1<br />
Name=TIM<br />
Comment=Tencent TIM<br />
Exec=wine '~/.wine/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe'<br />
Icon=~/.wine/drive_c/Program Files/Tencent/TIM/TIMUninst.ico<br />
Terminal=false<br />
Type=Application<br />
Categories=Network;</nowiki>}}<br />
<br />
将 {{ic|tim.desktop}} 移动到{{ic|~/.local/share/applications}}或{{ic|/usr/share/applications}}文件夹下即可。}}<br />
<br />
== 官网版本 ==<br />
<br />
# 在2019年10月24日这个特殊的日子,Linux QQ全新回归,从心出发·趣无止境<br />
# 下载安装请查看官网<br />
== 提示与技巧 ==<br />
<br />
=== HiDPI 支持 ===<br />
在 HiDPI 显示器上,QQ/TIM 的界面可能会过小。在较新版本的 QQ/TIM 中已经加入了对 HiDPI 的支持。只需手动调整 Wine 的 DPI 即可。<br />
<br />
执行 {{ic|winecfg}},在打开的窗口中切换到'''显示'''选项卡并调整 DPI。<br />
{{注意|如果您使用的不是默认的 Wine 容器(例如使用了deepin QQ/TIM),那么需要在执行 {{ic|winecfg}} 时指定{{ic|WINEPREFIX}} 变量。例如{{ic|1=env WINEPREFIX=$HOME/.deepinwine/Deepin-QQ winecfg}} 或是 {{ic|1=env WINEPREFIX=$HOME/.deepinwine/Deepin-TIM winecfg}}。}}<br />
<br />
=== 平铺式窗口管理器下的配置 ===<br />
<br />
==== Awesome ====<br />
Wine QQ/TM 在平铺式窗口管理器下可能不太听话。以下是一些 [[Awesome (简体中文)|Awesome]] 配置,其作用为:<br />
<br />
* 将所有 TM 的窗口设置为浮动<br />
* 清除不需要的窗口边框、避免菜单弹出时焦点移动到菜单上<br />
* 在使用标签式会话窗口时,增加[https://blog.lilydjwg.me/2013/11/15/switch-tabs-with-alt-num-in-wined-tm-exe-in-awesome.41729.html 使用 Alt+数字来切换标签页]的快捷键(需要安装 [[xdotool]])<br />
* 自动关闭弹出的新闻窗口<br />
<br />
function myfocus_filter(c)<br />
if awful.client.focus.filter(c) then<br />
-- This works with tooltips and some popup-menus<br />
if c.class == 'Wine' and c.above == true then<br />
return nil<br />
elseif c.class == 'Wine'<br />
and c.type == 'dialog'<br />
and c.skip_taskbar == true<br />
and c.size_hints.max_width and c.size_hints.max_width < 160<br />
then<br />
-- for popup item menus of Photoshop CS5<br />
return nil<br />
else<br />
return c<br />
end<br />
end<br />
end<br />
<br />
awful.rules.rules = {<br />
-- All clients will match this rule.<br />
{<br />
rule = { },<br />
properties = {<br />
-- 这里使用我们自己的函数<br />
focus = myfocus_filter,<br />
-- 以下是默认的部分<br />
border_width = beautiful.border_width,<br />
border_color = beautiful.border_normal,<br />
keys = clientkeys,<br />
buttons = clientbuttons,<br />
}<br />
}, {<br />
rule_any = { <br />
instance = {'TM.exe', 'QQ.exe'},<br />
},<br />
properties = {<br />
-- This, together with myfocus_filter, make the popup menus flicker taskbars less<br />
-- Non-focusable menus may cause TM2013preview1 to not highlight menu<br />
-- items on hover and crash.<br />
focusable = true,<br />
floating = true,<br />
-- 去掉边框<br />
border_width = 0,<br />
}<br />
}, {<br />
-- 其它规则<br />
}<br />
}<br />
<br />
alt_switch_keys = awful.util.table.join(<br />
-- it's easier for a vimer to manage this than figuring out a nice way to loop and concat<br />
awful.key({'Mod1'}, 1, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+1') end),<br />
awful.key({'Mod1'}, 2, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+2') end),<br />
awful.key({'Mod1'}, 3, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+3') end),<br />
awful.key({'Mod1'}, 4, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+4') end),<br />
awful.key({'Mod1'}, 5, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+5') end),<br />
awful.key({'Mod1'}, 6, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+6') end),<br />
awful.key({'Mod1'}, 7, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+7') end),<br />
awful.key({'Mod1'}, 8, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+8') end),<br />
awful.key({'Mod1'}, 9, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+9') end)<br />
)<br />
function bind_alt_switch_tab_keys(client)<br />
client:keys(awful.util.table.join(client:keys(), alt_switch_keys))<br />
end -- }}}<br />
<br />
client.connect_signal("manage", function (c, startup)<br />
-- 其它配置<br />
<br />
if c.instance == 'TM.exe' then<br />
-- 添加 Alt+n 支持<br />
bind_alt_switch_tab_keys(c)<br />
-- 关闭各类新闻通知小窗口<br />
if c.name and c.name:match('^腾讯') and c.above then<br />
c:kill()<br />
end<br />
end<br />
<br />
-- 其它配置<br />
end)<br />
<br />
[https://github.com/lilydjwg/myawesomerc 一个完整的 Awesome 配置]。<br />
<br />
==== i3 ====<br />
<br />
原生配置下,启动 {{ic|qq2012}} 时会自动最大化,且边框不美观,可在 [[i3]] 的 {{ic|config}} 设置如下两条规则以改善:<br />
<br />
for_window [instance="QQ.exe"] floating enable<br />
for_window [instance="QQ.exe"] border none<br />
<br />
== 疑难解答 ==<br />
<br />
=== 字体配置 ===<br />
如果中文的显示遇到问题,可以尝试先执行{{ic|winetricks fakechinese}}。<br />
<br />
另请参阅 [[Wine#Fonts]] 和 [[Font configuration#Applications without fontconfig support]]。<br />
<br />
=== 文件被占用 ===<br />
<br />
杀死 QQ 或 TIM 的进程即可。<br />
在退出 QQ/TIM 之后,某些相关进程仍然在后台运行。也可以使用如下脚本来启动 QQ/TIM,它会首先查找已有的进程,杀死该进程后启动新的 QQ/TIM。<br />
<br />
{{hc|start-tim.sh|<br />
#!/bin/sh<br />
# script to start TIM<br />
# kill TIM before start TIM<br />
for pid in `pgrep TIM.exe`; do<br />
if [ -n ${pid} ]; then<br />
kill ${pid}<br />
fi<br />
done<br />
# start TIM<br />
wine '~/.wine/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe'<br />
}}<br />
上面的例子适用于 TIM,稍作修改之后即可应用于 QQ。<br />
<br />
=== xfce4(xfwm4)下无法输入表情 ===<br />
打开设置管理器-窗口管理器微调-焦点,取消勾选激活焦点防窃取和遵照标准的ICCCM焦点提示即可。<br />
<br />
原因是表情窗口获取焦点时会发生不兼容现象。<br />
<br />
=== 在非中文 locale 下无法输入中文 ===<br />
修改 {{ic|.desktop}} 文件的 {{ic|Exec}},这个文件一般位于 {{ic|/usr/share/applications/}} 或者 {{ic|~/.local/share/applications/}}。<br />
<br />
在 {{ic|Exec}} 行中加入 {{ic|<nowiki>env LC_ALL=zh_CN.UTF-8</nowiki>}}。<br />
例如,原来的 {{ic|Exec}} 为:<br />
Exec=".wine/drive_c/Program Files/QQ/Bin/QQ.exe"<br />
则应改为:<br />
Exec=env LC_ALL=zh_CN.UTF-8 wine ".wine/drive_c/Program Files/QQ/Bin/QQ.exe"<br />
==参阅==<br />
<br />
* [https://zh.opensuse.org/SDB:QQ openSUSE wiki 的 QQ 条目]<br />
* [http://qun.qzone.qq.com/ Web 端的 QQ 群空间] 当所使用 QQ 客户端不支持群空间时,可以此用该服务代替。<br />
* [http://im.qq.com/mobileqq/ IM QQ-QQ 手机版] 移动端也未尝不也是一种代替方案。<br />
* [https://github.com/hillwoodroc/winetricks-zh hillwoodroc/winetricks-zh] hillwoodroc/winetricks-zh<br />
* [http://tieba.baidu.com/p/4814636033 Wine QQ “杂交版”] huixingjihua@tieba 制作的Wine QQ国际版 2012</div>
Kali-Team