Discord
Discord はプロプライエタリで、クロスプラットフォームの、オールインワンなボイス・テキストチャットアプリケーションです。多くのオープンソースコミュニティが公式の Discord サーバを持っています。Discord は、Web ブラウザで使うこともできますし、(Electron で作成されている) デスクトップアプリケーションから使うこともできます。
目次
- 1 インストール
- 2 ヒントとテクニック
- 3 トラブルシューティング
- 3.1 ギルドをスクロールするときにラグい
- 3.2 音声通話時に音が割れる
- 3.3 Wayland での画面共有
- 3.4 Flatpak 版で Rich Presence を有効化する
- 3.5 長時間通話すると Discord が応答しなくなる
- 3.6 ping やメッセージを受け取ったときに Discord がフリーズする
- 3.7 通知音が PipeWire で鳴らない
- 3.8 絵文字が正しく描画されない
- 3.9 リンクをクリックしても Web ブラウザが開かない
- 3.10 コンピューターと同期機能が動作しない
- 3.11 KDE Plasma のシステムトレイの Discord アイコンがぼやける
- 3.12 Discord が systemd journal に大量のメッセージを送信する
- 3.13 純粋な ALSA 環境でボイスチャットが出来ない
- 3.14 通知バッジが表示されない
- 3.15 NVIDIA プロプライエタリドライバで Wayland を起動すると黒い画面が表示される
インストール
以下のパッケージのうちどれかを使って Discord のデスクトップアプリケーションをインストールできます:
グラフィカルなクライアント
公式アプリケーション
- 安定版: discord
- テスト版: discord-ptbAUR
- Nightly 版: discord-canaryAUR
システムの electron を使用する公式クライアント
セキュリティ向上と潜在的なパフォーマンス向上のために、システムで提供される electron を使用する公式クライアント:
- 安定版: discord_arch_electronAUR
- Nightly 版: discord-canary-electron-binAUR
サードパーティのクライアント
- Abaddon — C++/gtkmm で作成された代替の Discord クライアント。
- discord-screenaudio — Linux での音声付きストリーミングをサポートするカスタム discord クライアント。
- Fast-Discord — C++ と Qt で作成された新しい Discord クライアント。
- gtkcord4 — Go で記述された GTK4 Discord クライアント。
- Ripcord — Slack と Discord のようなグループ中心型サービスのための、Qt toolkit 上に構築された、軽量のプロプライエタリなデスクトップチャットクライアント。
- WebCord — Discord ウェブクライアントのラッパ。プライバシーを向上し、Wayland 上でのスクリーン共有を可能にします。
- VenCord — Discord の起動前に全体をロードする Discord クライアント mod。Discord をより高速に、より安定化させることを目的としています。
コマンドラインのクライアント
CLI ベースのサードパーティ製クライアントが AUR 上 に多数存在しています (GitHub 上にもパッケージングされていないものが存在します)。しかし、それらのうち殆どは非推奨となっているか壊れています。discordo はメンテナンスされており、さらに AUR 上に discordo-gitAUR としてパッケージングされています。
チャットクライアントプラグイン
- bitlbee-discord — Bitlbee のための Discord プラグイン。
- weechat-discord — WeeChat のための Discord プラグイン。
カスタム CSS & プラグイン
- BetterDiscord — CSS とプラグインを使えるように Discord を改造するプロジェクトです。
- Discocss — Discord クライアントにカスタムの CSS をインジェクトできるシンプルなスクリプトです。discord-ptbAUR と discord-canaryAUR のバージョンに CSS をインジェクトするには、
discord
フォルダ内の記述をすべて使用するバージョンに置き換えてください。
- Replugged — Powercord のフォーク。軽量の Discord クライアント MOD。シンプリシティとパフォーマンスにフォーカスを置いています。
オーバーレイ
Linux クライントでは、Discord はゲーム内オーバーレイをサポートしていません。discover-overlayAUR は、オープンソースの GTK アプリケーションで、そのような機能を提供します。Discover は X11 や wlroots 環境で機能します。
ヒントとテクニック
GNOME のトップバーアイコン
GNOME のトップバーにアイコンを配置したい場合、拡張機能 AppIndicator and KStatusNotifierItem Support と libappindicator-gtk3 をインストールしてください。
リポジトリでまだ利用できないアップデートを Discord が要求してくる
Discord は、利用可能なアップデートがある場合、起動を拒否し、"Must be your lucky day, there's a new update!" と表示されます。アップデート後のバージョンがまだ公式リポジトリ内で利用できない場合、Arch Build System を使ってアップデート後のパッケージをビルド、インストールできます。
アップデートのチェックを無効化するには、以下を ~/.config/discord/settings.json
に追加してください:
~/.config/discord/settings.json
"SKIP_HOST_UPDATE": true
Discord を最小化した状態で起動する
--start-minimized
引数を使えば、最小化した状態で Discord を起動できます。
マイクのノイズを抑制する
Discord にはノイズ抑制が組み込まれており、Krisp が提供する標準オプションと AI を利用したオプションの両方があります。PipeWire# Noise suppression for voice に従って、PipeWire に独自のノイズ抑制を提供することもできます。
音声と一緒に画面共有する
音声と一緒に画面共有することは、Linux ではサポートされていません。代替策としては:
- PulseAudio については、次のとおりです。PulseAudio/サンプル#選択したオーディオソースの再マッピング 共有するプログラムの モニター ソースを取得します。これは、ブラウザーで実行されている Discord の別のインスタンスの入力として使用できます。
もう 1 つの方法は、オーディオをマイクでミックスするのではなく、Discord ストリームにオーディオをフィードするように改造されたクライアントを使用することです:
- PipeWire の場合、オーディオスクリーン共有を使用する最も簡単な方法は、discord-screenaudioAUR を使用することです。
開発者ツールを有効化する
最近のアップデートで、安全上の理由により Discord 上の開発者ツールがデフォルトで無効化されました。開発者ツールを再び有効化するには、以下を ~/.config/discord/settings.json
に追加してください:
"DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true
テキスト-トゥ-スピーチを有効化する
デフォルトでは、テキスト-トゥ-スピーチは Discord クライアントで無効化されています。しかし、--enable-speech-dispatcher
フラグを使うことで有効化できます。この機能は、スピーチを出力するために speech-dispatcher デーモンを使用します。
トラブルシューティング
ギルドをスクロールするときにラグい
ギルドをスクロールするときにラグやカクつきが発生する場合、ハードウェアアクセラレーションが正しく動作していることを確認してください。Chromium ベースのブラウザで chrome://gpu
を開くことで、確認することができます。ハードウェアアクセラレーションが動作していない場合、Chromium#ハードウェアビデオアクセラレーション の内容を確認し、いくつか追加のオプションを付けて Discord を実行してみてください:
$ discord --ignore-gpu-blocklist --disable-features=UseOzonePlatform --enable-features=VaapiVideoDecoder --use-gl=desktop --enable-gpu-rasterization --enable-zero-copy
音声通話時に音が割れる
音声通話時に音声が割れる場合、PulseAudio/トラブルシューティング#音ズレ、音飛び、音割れ の記事の手順を試してみてください。
Wayland での画面共有
バージョン 0.0.17 現在、画面共有機能は Wayland 上では動作しません (/usr/bin/discord --enable-features=UseOzonePlatform --ozone-platform=wayland
を使って Wayland のための Ozone を有効化していたとしてもです)。この Reddit 投稿 と Discord バグレポート を見てください。
回避策として、Wayland 上での画面共有を完全にサポートする webcordAUR を使うことができます。しかし、Discord の Web バージョンをバンドルしているため、Rich Presence のような機能が不足しています。Web バージョン自体を使うこともできます。
他の代替案としては、仮想カメラを使用することです。Open Broadcaster Software#仮想カメラ出力 と スクリーンキャプチャ#仮想 Web カメラのビデオフィード経由 を参照してください。
もう一つは、XwaylandVideoBridge です。Wayland#X11 アプリケーションで Wayland ウィンドウをスクリーンキャストする を参照してください。
Flatpak 版で Rich Presence を有効化する
Discord の Flatpak 版は、そのままでは Rich Presence が動作しません。動作させるには、$XDG_RUNTIME_DIR/discord-ipc-0
から $XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0
へのシンボリックリンクを作成する必要があります。現在のユーザセッションでそのシンボリックリンクを作成するには、以下を実行してください:
$ ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-0
systemd-tmpfiles を使うことで、このシンボリックリンクを自動的に作成できます。~/.config/user-tmpfiles.d/
内に拡張子 .conf のファイルを作成し、以下の行を追加してください:
L %t/discord-ipc-0 - - - - app/com.discordapp.Discord/discord-ipc-0
長時間通話すると Discord が応答しなくなる
長時間の通話により Discord が応答しなくなる場合、--no-sandbox
引数を試してみてください。以下を .bashrc に追加したり、シェルのエイリアスファイルを追加したりすることもできます:
alias discord='discord --no-sandbox'
ping やメッセージを受け取ったときに Discord がフリーズする
通知をトリガーするようなメッセージ (ping、DM、通知を ON にしているサーバなど) によってクライアントがフリーズしてしまう場合、クライアントは通知サーバを見つけられなかったということです。通知サーバをインストールせずにこの問題を修正するには、通知 の デスクトップ通知を有効にする を無効化してください。
通知音が PipeWire で鳴らない
PipeWire#Discord から通知音が鳴らない を見てください。
絵文字が正しく描画されない
絵文字の描画の問題が発生する場合 (例えば、絵文字が四角として描画されるなど)、discord-canary-electron-binAUR には任意の依存パッケージとして適切なフォントがあります。ttf-symbolaAUR、noto-fonts-cjk、noto-fonts-emoji をインストールする必要があります。
絵文字をチャネル名に表示させるには ttf-twemojiAUR が必要です。75-twemoji.conf
を /etc/fonts/conf.d/
へインストールしてください。デフォルトでは、このようにインストールされません。
リンクをクリックしても Web ブラウザが開かない
リンクをクリックしてもデフォルトの Web ブラウザでタブが開かない場合、任意の依存パッケージである xdg-utils をインストールする必要があります。
コンピューターと同期機能が動作しない
Discord は以下のファイルをパースし、適用すべきテーマを調べます:
$HOME/.config/gtk-3.0/settings.ini
そして、以下の特定の行を探します:
[Settings] gtk-theme-name=Adwaita-dark
もしあなたがテーマを Adwaita-dark から Adwaita に変更したとすると、Discord は自動的にライトバージョンに変更します。逆も然りです。
Discord は数個のテーマしかサポートしていないことに注意してください。なので、Discord があなたの使っているテーマ (以下の例では Materia テーマ) で動作しない場合、"雑な" 修正法は、以下を settings.ini ファイルに追加することです:
[Settings] gtk-theme-name=Adwaita-dark gtk-theme-name=Materia-dark
定義の順番は重要です。なぜなら、GTK は2番目の定義 (この場合 Materia-dark) を使用しますが、Discord は、GTK テーマの最初の変数定義によって Adwaita-dark のダークテーマが使用されていることを検出できるからです。
KDE Plasma のシステムトレイの Discord アイコンがぼやける
libappindicator-gtk3 をインストールし libappindicator-gtk2 を置き換えることで、この問題の修正を試みることができます (libappindicator-gtk2 はこの問題を引き起こすことが知られています)。
Discord が systemd journal に大量のメッセージを送信する
Discord が journal に以下のようなフォーマットのメッセージを大量に作成してしまう場合があります:
(device_info_linux.cc:45): NumberOfDevices
この汚染を引き起こすログを無効化するには、「ユーザ設定」に行き、「音声・ビデオ」を選択し、スクリーンの下までスクロールし、「デバッグログ」を無効化してください。
純粋な ALSA 環境でボイスチャットが出来ない
Discord のデスクトップアプリケーションは、ボイスチャットを PulseAudio に依存しており、ALSA で直接実行出来ません。apulse を回避策として使用することは、この場合非推奨です。PulseAudio または Pipewire なしで Discord のボイスチャットを使用する場合は、Chromium ベースの Web ブラウザー から Discord の Web クライアントにアクセスします。あるいは、Chromium ベースのラッパーとして、Webcord は純粋な ALSA 環境で動作します。
このルートを選択した場合、ミュートを解除できない、つまりマイクへのアクセス許可を得られない場合は、~/.asoundrc
で デフォルトのマイク・キャプチャデバイスの設定 します。また、Discord で、ユーザー設定 > 音声とビデオ > 入力デバイス に移動し、デフォルト が選択されていることを確認します。
通知バッジが表示されない
Discord はタスクバーアイコンに未読のメンション数を示すバッジを表示することができます。バッジが表示されない場合は、libunityAUR パッケージがインストールされていることを確認してください、この機能を動作させるのに必要です。
NVIDIA プロプライエタリドライバで Wayland を起動すると黒い画面が表示される
Wayland 上の Discord は VA-API サポートを必要としますが、NVIDIA のプロプライエタリドライバにはありません。libva-nvidia-driverAUR などの変換レイヤーを使用して、VA-API サポートを得られます。