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 KDE Plasma のシステムトレイの Discord アイコンがぼやける
- 3.11 Discord が systemd journal に大量のメッセージを送信する
- 3.12 純粋な ALSA 環境でボイスチャットが出来ない
- 3.13 通知バッジが表示されない
- 3.14 NVIDIA プロプライエタリドライバで Wayland を起動すると黒い画面が表示される
- 3.15 エモートが四角に文字化けする
インストール
以下のパッケージのうちどれかを使って Discord のデスクトップアプリケーションをインストールできます:
グラフィカルなクライアント
公式アプリケーション
- 安定版: discord
- テスト版: discord-ptbAUR
- Nightly 版: discord-canaryAUR
システムの electron を使用する公式クライアント
セキュリティ向上と潜在的なパフォーマンス向上のために、システムで提供される electron を使用する公式クライアント:
- 安定版: discord_arch_electronAUR
- Nightly 版: discord-canary-electron-binAUR
または、Flatpak で Discord を入手することもできます。この方法は、システムのライブラリに関連するいくつかの問題を解決することがあり、一部のケースでパフォーマンスが向上します。しかし、Rich Presence を有効化するには追加の作業が必要となります。#Flatpak 版で Rich Presence を有効化する を参照してください。
$ flatpak install discord
サードパーティのクライアント
- Abaddon — C++/gtkmm で作成された、音声サポート付きの代替 Discord クライアント。
- discord-screenaudio — Linux での音声付きストリーミングをサポートするカスタム discord クライアント。
- Dissent — Go で書かれた GTK4 Discord クライアント。
- Ripcord — Slack と Discord のようなグループ中心型サービスのための、Qt toolkit 上に構築された、軽量のプロプライエタリなデスクトップチャットクライアント。
- WebCord — Discord ウェブクライアントのラッパ。プライバシーを向上し、Wayland 上でのスクリーン共有を可能にします。
- VenCord — Discord の起動前に全体をロードする Discord クライアント mod。Discord をより高速に、より安定化させることを目的としています。
- ArmCord — 軽量に保ちつつ Discord のエクスペリエンスを向上させるために設計されたカスタムクライアント。
- Vesktop — Vesktop は、より高速な 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。シンプリシティとパフォーマンスにフォーカスを置いています。
- VenCord — Discord の起動前に全てを読み込む Discord クライアント MOD です。Discord をより高速化かつ安定させることを目的としています。
オーバーレイ
Linux クライントでは、Discord はゲーム内オーバーレイをサポートしていません。discover-overlayAUR は、オープンソースの GTK アプリケーションで、そのような機能を提供します。Discover は X11 や wlroots 環境で機能します。
ユーティリティ
- Chuncord — Webhook を使って Discord CDN にファイルを部分毎にアップロードするコマンドラインツールです。
ヒントとテクニック
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
JSON の要件上、WINDOW_BOUNDS
オブジェクトの後にコンマを追加する必要があることに注意してください。つまり:
{ "IS_MAXIMIZED": true, "IS_MINIMIZED": false, "WINDOW_BOUNDS": { "x": 2240, "y": 219, "width": 1280, "height": 720 }, "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 を使用することです。
Web RPC 拡張機能
Discord rich presence の選択されたウェブアクティビティを表示するための拡張機能がいくつか存在します:
- PreMiDAUR と適切なブラウザ拡張機能。
- discord-rpc-extension-binAUR と PreWrap または Mal-sync ブラウザ拡張機能。
開発者ツールを有効化する
最近のアップデートで、安全上の理由により 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 バグレポート を見てください。
可能な回避策は以下のとおりです:
- Firefox など、画面共有をサポートするブラウザ内で Discord を使う。ブラウザは、共有すべきウィンドウまたは画面を選択するネイティブなダイアログを表示します。
- XwaylandVideoBridge。Wayland#X11 アプリケーションで Wayland ウィンドウをスクリーンキャストする を参照。
- 仮想カメラを使う。Open Broadcaster Software#仮想カメラ出力 と スクリーンキャプチャ#仮想 Web カメラのビデオフィードを使う を参照。
- サードパーティのクライアントを使う (Discord の利用規約に注意し、自己責任で使用してください):
- webcordAUR は Wayland における画面共有を完全にサポートしています。しかし、ウェブバージョンの Discord をバンドルしているため、rich presence といった機能が不足しています。
- Vesktop。vesktop-binAUR でインストールできます。
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 をインストールする必要があります。
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-driver などの変換レイヤーを使用して、VA-API サポートを得られます。
エモートが四角に文字化けする
エモートを正しく表示させるには、絵文字を含むフォントパッケージをインストールする必要があります。