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
に移動します。
ヒントとテクニック
HiDPI サポート
HiDPI ディスプレイでは、QQ/TIM のインターフェースが小さすぎる場合があります。新しいバージョンの QQ/TIM には HiDPI のサポートが追加されています。Wine の DPI を手動で調整するだけです。
winecfg
を実行し、開いたウィンドウで ディスプレイ タブに切り替え、DPI を調整します。
タイル型ウィンドウマネージャーでの設定
Awesome
タイル型ウィンドウマネージャーでは、Wine QQ/TIM が制御不能になる場合があり、いくつかの設定が必要です。
以下の設定には次の効果があります:
- すべての TM ウィンドウをフローティングに設定。
- 不必要なウィンドウの境界線を削除し、メニューがポップアップしたときにフォーカスがメニューに移動するのを防ぐ。
- タブ付きの会話ウィンドウを使用すると、デジタルスイッチ Alt+Number ショートカットキーが有効になり、xdotool のインストールが必要です。
- ポップアップするニュースウィンドウを自動的に閉じます。
以下の設定を Awesome の設定ファイルに追加します:
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
デフォルトの設定では、qq2012
を起動すると自動的に最大化され、境界線が美しくありません。i3 の config
設定で、次の 2 つのルールを設定することで改善できます:
for_window [instance="QQ.exe"] floating enable for_window [instance="QQ.exe"] border none
トラブルシューティング
フォント設定
中国語の表示に問題がある場合は、まず winetricks fakechinese
を実行してみてください。
また、フォントおよび fontconfig をサポートしないアプリケーションも参照してください。
ファイルが占有されている
QQ または TIM のプロセスを強制終了してください。QQ/TIM を終了した後も、一部の関連プロセスがバックグラウンドで実行されている場合があります。以下のスクリプトを使用して QQ/TIM を起動すると、既存のプロセスを見つけて終了し、新しい QQ/TIM を起動します。
start-tim.sh
#!/bin/sh # TIM を起動するスクリプト # 起動前に TIM を終了 for pid in `pgrep TIM.exe`; do if [ -n ${pid} ]; then kill ${pid} fi done # TIM を起動 wine '~/.wine/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe'
上記の例は TIM 用ですが、少し変更することで QQ にも適用できます。
xfce4(xfwm4)で絵文字が入力できない
設定マネージャーで「ウィンドウマネージャーの微調整」→「フォーカス」に移動し、「ICCCM フォーカスプロンプトを無効化してフォーカスの盗難防止を有効にし、標準に従う」をオフにします。
これは、絵文字ウィンドウがフォーカスを取得した際に非互換性が発生するためです。
非中国語ロケールで中国語を入力できない
.desktop
ファイルの Exec
を変更します。通常、/usr/share/applications/
にありますが、上書きされないように ~/.local/share/applications/
にコピーする必要があります。
env LC_ALL=zh_CN.UTF-8
を Exec
行に追加します。
例えば、元の Exec
が以下の場合:
Exec=".wine/drive_c/Program Files/QQ/Bin/QQ.exe"
以下のように変更します:
Exec=env LC_ALL=zh_CN.UTF-8 wine ".wine/drive_c/Program Files/QQ/Bin/QQ.exe"
高リフレッシュレートモニター使用時の画面ちらつき
Chromium#60 FPS より高いリフレッシュレートのディスプレイを使用しているのに Chromium は 60 FPS で描画されるを参照してください。
参照
- openSUSE wiki
- QQ グループスペース (ウェブ版) QQ クライアントがグループスペースをサポートしていない場合、このサービスを代わりに使用できます。
- IM QQ-QQ モバイル版 モバイル版も代替手段として利用可能です。
- hillwoodroc/winetricks-zh hillwoodroc/winetricks-zh