Tencent QQ
QQ は Tencent が開発したインスタントメッセージングソフトウェアで、ICQ の模倣品であり、中国で人気のある IM ソフトウェアです。このページでは、Arch Linux で QQ を使用するためのさまざまなソリューションを紹介しています。
公式バージョン
公式バージョンは既に利用可能です。公式バージョンを使用するには、linuxqqAUR をインストールしてください。
仮想マシン
完全な Windows システムを仮想マシン上で実行し、その中で QQ を動作させることができます。この方法は、他の方法と比べてエラーの発生確率が最も低いです。デメリットは、より多くのリソースを消費することです。
Wine
Wine は、UNIX 系システム上で Microsoft Windows プログラムを実行するための「互換レイヤー」であり、QQ/TIM を実行するための環境をエミュレートするのに使用できます。
Deepin QQ/TIM
Deepin QQ/TIM は、Wine 上で比較的成熟したソリューションで、ほぼそのまま使用でき、バグも少ないです。
通常の QQ をインストールするには deepin-wine-qqAUR を、TIM をインストールするには com.qq.office.deepinAUR(または Spark Store から com.qq.tim.sparkAUR)を使用することができます。または、Arch Linux CN ソース から通常の QQ を deepin.com.qq.im
、または TIM を deepin.com.qq.office
としてインストールできます。
軽量バージョンをインストールするには、deepin.com.qq.im.lightAUR を使用します。
KDE/Plasma デスクトップ環境の場合は、Deepin-wine#Deepin-wine applications fails to start を参照してください。
Crossover
CrossOver を使用して、QQ、TM2013、TIM を実行することもできます。詳細は CrossOver の互換性リスト を参照してください。
AppImage
AppImage は、アプリケーションを 1 つのファイルにパッケージ化する形式です。パッケージ化された Wine QQ/TIM を [1] からダウンロードできます。実行権限を与えるだけで使用できます。AppImage 形式にはプログラムに必要な依存関係が含まれているため、この方法はシステムの他のコンポーネントのバージョンに最も影響されにくいです。
Teacher Qingfeng の Wine QQ プログラム
Teacher Qingfeng が提供する Wine QQ プログラムを使用することもできます。
手動 Wine ソリューション
QQ 軽量チャットバージョン
winetricks と wine をインストールします。以下の内容で qqlight.verb
を作成します:
w_metadata qqlight apps \ title="QQ Light" \ publisher="Tencent" \ year="2015" \ media="download" \ file1="QQ6.7Light.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Tencent/QQ/Bin/QQ.exe" \ homepage="https://www.qq.com" \ unattended="no" load_qqlight() { w_download https://dldir1.qq.com/qqfile/qq/QQ6.7Light/13466/QQ6.7Light.exe e1e1ff2bf6461c08047d0a01927a43c5a0746bdf if w_workaround_wine_bug 29636 "クラッシュバグを回避するためにネイティブ riched20 をインストール" then w_call riched20 fi if w_workaround_wine_bug 34566 "クラッシュを回避するためにネイティブ ctf をインストール" then w_call msctf fi # 中国語フォントが利用可能であることを確認する w_call fakechinese # mfc42u.dll を使用 w_call mfc42 cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" "$file1" # ログイン後のクラッシュ修正 mkdir -p ~/.local/share/wineprefixes/qqlight/drive_c/users/$LOGNAME/Application\ Data/Tencent/QQ/Misc/com.tencent.wireless/SDK chmod 000 ~/.local/share/wineprefixes/qqlight/drive_c/users/$LOGNAME/Application\ Data/Tencent/QQ/Misc/com.tencent.wireless/SDK w_declare_exe "$W_PROGRAMS_X86_WIN\\Tencent\\QQ\\Bin" QQ.exe }
winetricks
を実行してインストールします:
$ winetricks qqlight.verb
インストール後、wineconsole
を使用して起動します:
$ wineconsole .wine/drive_c/run-qqlight.bat
TIM
wine、wine-gecko、wine-mono をインストールします。
winetricks riched20
を実行するか、winecfg
を使用して機能ライブラリの置換を設定します。
中国語フォントの表示を構成する必要がある場合があります。詳細は #Font configuration を参照してください。
TIM をインストールします。
アイコンの生成
インストールされた TIM は、プログラムリストにアイコンを生成していない場合があります。自分でアイコンを追加するには、新しい tim.desktop
ファイルを作成し、以下の内容を書き込みます:
tim.desktop
[Desktop Entry] Encoding=UTF-8 Version=1 Name=TIM Comment=Tencent TIM Exec=wine '~/.wine/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe' Icon=~/.wine/drive_c/Program Files/Tencent/TIM/TIMUninst.ico Terminal=false Type=Application Categories=Network;
tim.desktop
を ~/.local/share/applications
または /usr/share/applications
に移動します。
Tips and tricks
HiDPI support
On the HiDPI display, the QQ/TIM interface may be too small. Support for HiDPI has been added to the newer version of QQ/TIM. Just manually adjust Wine's DPI.
Execute winecfg
, switch to the display tab in the opened window and adjust the DPI.
Configuration under the tiled window manager
Awesome
Wine QQ/TM may be out of control under the tiled window manager, and some configuration is required.
The following configuration has these effects:
- Set all TM windows to float.
- Clear unnecessary window borders to prevent the focus from moving to the menu when the menu pops up.
- When using tabbed conversation window, increased use of digital switches Alt+Number shortcut key, need to install xdotool.
- Automatically close the pop-up news window.
Add the following to the Awesome configuration:
function myfocus_filter(c) if awful.client.focus.filter(c) then -- This works with tooltips and some popup-menus if c.class == 'Wine' and c.above == true then return nil elseif c.class == 'Wine' and c.type == 'dialog' and c.skip_taskbar == true and c.size_hints.max_width and c.size_hints.max_width < 160 then -- for popup item menus of Photoshop CS5 return nil else return c end end end awful.rules.rules = { -- All clients will match this rule. { rule = { }, properties = { -- we use our own function focus = myfocus_filter, -- The following is the default part border_width = beautiful.border_width, border_color = beautiful.border_normal, keys = clientkeys, buttons = clientbuttons, } }, { rule_any = { instance = {'TM.exe', 'QQ.exe'}, }, properties = { -- This, together with myfocus_filter, make the popup menus flicker taskbars less -- Non-focusable menus may cause TM2013preview1 to not highlight menu -- items on hover and crash. focusable = true, floating = true, -- remove the border border_width = 0, } }, { -- Other rules } } alt_switch_keys = awful.util.table.join( -- it's easier for a vimer to manage this than figuring out a nice way to loop and concat awful.key({'Mod1'}, 1, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+1') end), awful.key({'Mod1'}, 2, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+2') end), awful.key({'Mod1'}, 3, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+3') end), awful.key({'Mod1'}, 4, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+4') end), awful.key({'Mod1'}, 5, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+5') end), awful.key({'Mod1'}, 6, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+6') end), awful.key({'Mod1'}, 7, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+7') end), awful.key({'Mod1'}, 8, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+8') end), awful.key({'Mod1'}, 9, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+9') end) ) function bind_alt_switch_tab_keys(client) client:keys(awful.util.table.join(client:keys(), alt_switch_keys)) end -- }}} client.connect_signal("manage", function (c, startup) -- other configuration if c.instance == 'TM.exe' then -- add Alt+n support bind_alt_switch_tab_keys(c) -- close all kinds of news notification small windows if c.name and c.name:match('^腾讯') and c.above then c:kill() end end -- other configuration end)
You can also look at the complete Awesome configuration.
i3
In the native configuration, when qq2012
is started, it will be maximized automatically, and the border is not beautiful. The following two rules can be set in the i3 config
setting to improve:
for_window [instance="QQ.exe"] floating enable for_window [instance="QQ.exe"] border none
Troubleshooting
Font configuration
If you have problems displaying Chinese, you can try to execute winetricks fakechinese
first.
See also fonts and Applications without fontconfig support。
File is occupied
Just kill the process of QQ or TIM. After exiting QQ/TIM, some related processes are still running in the background. You can also use the following script to start QQ/TIM, it will first find the existing process, kill the process and start a new QQ/TIM.
start-tim.sh
#!/bin/sh # script to start TIM # kill TIM before start TIM for pid in `pgrep TIM.exe`; do if [ -n ${pid} ]; then kill ${pid} fi done # start TIM wine '~/.wine/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe'
The above example is applicable to TIM, and can be applied to QQ after a little modification.
Unable to input emoticons under xfce4 (xfwm4)
Open the Settings Manager-Window manager tuning-focus, uncheck the ICCCM focus prompt to activate focus anti-theft and follow the standard.
The reason is that incompatibility occurs when the emoji window gains focus.
Cannot enter Chinese under non-Chinese locale
Modify the Exec
of the .desktop
file, which is usually located in /usr/share/applications/
, but must be copied to ~/.local/share/applications/
in order to not get overwritten.
Add env LC_ALL=zh_CN.UTF-8
to the Exec
line.
For example, the original Exec
was:
Exec=".wine/drive_c/Program Files/QQ/Bin/QQ.exe"
Should be changed to:
Exec=env LC_ALL=zh_CN.UTF-8 wine ".wine/drive_c/Program Files/QQ/Bin/QQ.exe"
Screen flicker when using a monitor with high refresh rate
See Chromium#Chromium rendering at 60 FPS despite using a display with a higher refresh rate.
See also
- openSUSE wiki
- QQ group space on the web side When the QQ client used does not support group space, this service can be used instead.
- IM QQ-QQ mobile version Mobile end is also an alternative.
- hillwoodroc/winetricks-zh hillwoodroc/winetricks-zh