プロジェクトの背後にある動機は、主流のチャットアプリ(要素、電報など)のように感じられ、IRCクライアントのようにはないマトリックス用のネイティブデスクトップアプリを提供することです。
その他のオプションと詳細については、インストールセクションを参照してください。
できるだけ多くの人がNhekoを使用できるように翻訳を手伝ってください!
現在の実装はほとんど安定していますが、監査されることはありませんでした。セキュリティに依存している場合、保証することはできません。
チャットアプリケーションに期待される機能のほとんどは現在欠落していますが、より機能の完全なクライアントに近づいています。具体的には、次のサポートがあります。
-p nameを使用)。Linux(Flatpak)、MacOS(ディスクイメージ)、Windows(X64 MSIXまたはAppInstaller)のリリースは、GitHubリリースにあります。 Windows上のAppInstallerでは、サーバーが定期的に更新を確認します。 msixはしません。
sudo pacman -Syu nheko開発バージョンはAURで利用できます:
yay -S nheko-git # Or your favorite way of installing AUR packagesNhekoは秘密サーバーを実行する必要があるため、デスクトップ環境で提供されていない場合は、KDEウォレットやGNOMEキーリングなどのサービスをインストールして構成する必要があります。
sudo apt install nhekosudo dnf install nhekosudo eselect repository enable guru
sudo emaint sync -r guru
sudo emerge -a nheko Gnome keyringまたはkeepassxcをデーモンとしてkeepassxcを使用している場合は、 keyringの使用フラグがdev-libs/qtkeychainで有効になっていることを確認してください。
sudo urpmi nheko # Imperatively: (not recommended)
nix-env -iA nixpkgs.nheko
# In an ephemeral shell: (recommended if you just want to try it out without committing to a full installation)
nix-shell -p nheko --run nheko
# Note: The above command will both install and run Nheko.
# To stop it from running immediately, just remove the `--run nheko` from the end.または、次の方法のいずれかで構成に追加します。(長期インストールに推奨)
システム全体:
environment . systemPackages = with pkgs ; [
# ...
nheko
# ...
] ;ユーザー固有:
users . users . <user> . packages = with pkgs ; [
# ...
nheko
# ...
] ; home-manager経由:
programs . nheko . enable = true ; edgeのテストリポジトリが有効になっていることを確認してください。これはPostmarketosでは必要ないことに注意してください。
sudo apk add nheko注:これらの指示は、TumbleWeedでのみテストされています。
まず、nhekoをインストールします:
sudo zypper addrepo https://download.opensuse.org/repositories/network:messaging:matrix/openSUSE_Tumbleweed/network:messaging:matrix.repo
sudo zypper ref
sudo zypper in nhekojdenticonサポートを追加する場合:
sudo zypper install qt-jdenticon flatpak install flathub im.nheko.Nheko
guix install nheko
DesktopモードのDiscoverアプリを介してNHEKOをインストールします(これにより、フラットパックがインストールされます)。また、ゲームモードで動作させるために、KWALLETDとNHEKOを開始するラッパースクリプトを作成することができます。次のコンテンツを使用して/home/deck/nheko.shを作成してから、このスクリプトを「非巻きゲーム」として追加することができます。
#! /bin/sh
kwalletd6 &
flatpak run --env=XDG_CURRENT_DESKTOP=KDE --env=KDE_SESSION_VERSION=5 --branch=stable --arch=x86_64 --command=im.nheko.Nheko --file-forwarding im.nheko.Nheko @@u @@Homebrewで:
brew install --cask nhekoチョコレートと:
choco install nheko - rebornNhekoは、D-Busプラグインのバイナリを提供していません。ただし、既知のプラグインの次のリストを提供しています。
Q: Windowsでビデオが実行されないのはなぜですか?
A:おそらく、必要なビデオコーデックを見逃しているのは、K-Lite Codecパックをダウンロードしてください。
Q: Nhekoによってサポートされているコマンドは何ですか?
A: https://github.com/nheko-reborn/nheko/wiki/commandsを参照してください
Q: Nhekoはエンドツーエンド暗号化(EE2E)をサポートしていますか?
A:はい、機能リストを参照してください
Q:出血エッジ開発バージョンをテストできますか?
A: Nightly Builds https://matrix-static.neko.dev/room/!tshdrgpbnbdmfdeegn:neko.dev/
Q:ステッカーとカスタム絵文字を追加するにはどうすればよいですか?
A:ステッカーとカスタム絵文字は、画像パックで整理されています。アカウントのみがアクセスできるユーザーイメージパックが1つあり、定義されている部屋の全員がアクセスできるルーム画像パックがあります。ルーム画像パックをグローバルにアクティブにして、どの部屋でも使用できます。
Nhekoの画像パックを管理するには、部屋の設定にアクセスして、ステッカーとEmoteの設定に入ります。プライベートパック(ユーザーイメージパック)が表示され、そこで編集できます。ショートコードは、画像を選択するために使用する一意の識別子であり、ボディは画像をサポートしないクライアントに表示される代替テキストです(HTML画像のALTタグなど)。
必要なアクセス許可がある場合は、画像パックリストの下部にボタンが付いた新しいルームパックを作成できます。それらはユーザーパックと同じですが、あなたはあなたが望むだけを作成することができ、部屋の全員がそれらを使用できます。画像パックだけが共有を容易にするためだけに余分な部屋を作成することをお勧めします。
Q:画像タイプが表示されません!
A: NhekoはQTの画像プラグインを使用して画像をレンダリングします。 WebPなどの画像タイプを表示するには、追加のパッケージをインストールする必要がある場合があります。通常、これらのパッケージはqt6-image-formats-plugins 、 qt6-imageformatsまたは同様と呼ばれます。 KDEには同様のプラグインがあり、サポートされている画像タイプをさらに拡張できます。
-DVOIP=OFF OFF DAINABLE。)。-DSCREENSHARE_X11=OFFで無効にすることができます。-DLIBSECRET_SUPPORT=OFFを通過しない限り、LibseCretが必要です。) Nhekoは、ディストリビューションのバージョンが古すぎる場合、これらのライブラリのほとんどにバンドルバージョンを自動的に使用できます。それらを使用するには、 -DHUNTER_ENABLED=ONを渡すことでハンター統合を有効にすることができます。 -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_*渡すことにより、これらの依存関係を静的にリンクすることはおそらく賢明でしょう。デフォルトでは、ハンターを有効にすると、すべての依存関係がバンドルされます。 (それの例外はOpenSSLです。これは常にデフォルトで無効にされています。)ビルドの問題が発生し、ハンターなしでmtxclientライブラリをリンクしようとしている場合は、 CMakeList.txtに記載されているライブラリバージョン(コミット)を使用してください。 mtxclientを破壊する必要がある場合があり、その期間には両方のレポのマスターブランチが互換性がない場合があります。
バンドルフラグは現在です。
バンドルされたOpenSSLに関するメモ:それを明示的に有効にする必要があり、有効にする場合はデフォルトでシステム証明書ディレクトリを使用しません。実行時にSSL_CERT_FILE変数をオーバーライドする必要があります。ただし、Windowsでは、OpenSSLディレクトリの代わりにシステムストアからロードするため、システム証明書を使用しています。
外部依存関係をインストールしたくない場合は、Dockerを使用してローカルで補題を生成できます。それはそれほどよく維持されていませんが...
make docker-app-imagesudo pacman -S qt6-base
qt6-tools
qt6-multimedia
qt6-svg
cmake
gcc
fontconfig
lmdb
cmark
qtkeychain-qt6 # Install build requirements
sudo apt install -y cmake asciidoc-base libevent-dev libspdlog-dev libre2-dev liblmdb++-dev libcurl4-openssl-dev libssl-dev libolm-dev libcmark-dev nlohmann-json3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev libkdsingleapplication-qt6-dev
sudo apt install -y qt6-base-dev qt6-tools-dev qt6-svg-dev qt6-multimedia-dev qt6-declarative-dev qtkeychain-qt6-dev qt6-base-private-dev qt6-declarative-private-dev
# Clone nheko repository from github
sudo apt install -y git
git clone https://github.com/Nheko-Reborn/nheko && cd nheko
# Build
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DUSE_BUNDLED_COEURL=1 -DUSE_BUNDLED_MTXCLIENT=1 -DUSE_BUNDLED_LMDBXX=1
cmake --build build実行時に必要な要件 + QMLモジュールをビルドします(すべてを必要としない場合がありますが、レポートに従って次のように動作しているようです):
sudo apt install --no-install-recommends g++ cmake make zlib1g-dev libssl-dev libolm-dev liblmdb-dev libcmark-dev nlohmann-json3-dev libspdlog-dev libevent-dev libcurl4-openssl-dev libre2-dev libxcb-ewmh-dev asciidoc-base
qt{base,declarative,tools,multimedia,quickcontrols2-}5-dev libqt6svg5-dev qt6keychain-dev qml-module-qt{gstreamer,multimedia,quick-extras,-labs-settings,graphicaleffects,quick-controls2,quick-particles2}
libgstreamer1.0-dev libgstreamer-plugins-{base,bad}1.0-dev qtgstreamer-plugins-qt6 libnice-dev ninja-build LMDB ++ -DEVは古すぎるため、バンドルされたLMDBXXを使用する必要があります。
Debian BullseyeのLibspdlog-Devは(バックポートなしで)古すぎるため、ハンターを使用してバンドルされたspdlogを使用する必要があります。
Debian Bullseyeの提案フラグ: -DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=OFF
Debian BookWormの推奨フラグ: -DUSE_BUNDLED_COEURL=1 -DUSE_BUNDLED_MTXCLIENT=1 -DUSE_BUNDLED_LMDBXX=1
sudo dnf builddep nheko # note that some newer packages might not be captured by that sudo emerge -a " >=dev-qt/qtgui-5.15.0 " media-libs/fontconfig dev-libs/qtkeychainguix environment nhekobrew update
brew install qt6 lmdb cmake llvm spdlog cmark libolm qtkeychainVisual Studio 2022の「デスクトップ開発」と「C ++を使用したLinux開発」(Cmake統合用)ワークロードをインストールします。
Windowsインストーラー用の最新のQTをダウンロードして、どこかにインストールします。少なくともQT 5.15のために、 MSVC 2022 64-bitツールセットを必ずインストールしてください。
OpenSSLがインストールされていない場合は、Perlをインストールしてビルドする必要があります(つまり、Strawberry Perl)。
Nhekoを構築できます:
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build buildバンドル依存関係を使用するには、ハンターを使用できます。
cmake -S. -Bbuild -DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=OFF
cmake --build build --config Release必要に応じて、use_bundled_*を調整します。
次のエラーでビルドが失敗した場合
Could not find a package configuration file provided by "Qt6Widgets" with
any of the following names:
Qt6WidgetsConfig.cmake
qt6widgets-config.cmake
-DCMAKE_PREFIX_PATH渡してcmakeに渡す必要があるかもしれません。
たとえば、macos
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(brew --prefix qt6)
cmake --build build
nhekoバイナリはbuildディレクトリにあります。
すべての依存関係をインストールした後、 CMakeSettings.jsonを編集して、Visual Studio内にNHEKOをロードおよびコンパイルできるようにする必要があります。
Qt6_DIRのパスに記入する必要があります。 QT6 dirはlibcmakeQt6 dirを指す必要があります。
パスの例は次のとおりです。
C:\Qt\6.5.2\msvc2017_64\lib\cmake\Qt6また、 HUNTER_ENABLED ONに設定し、 BUILD_SHARED_LIBSをOFFにすることにより、ハンターを有効にする必要があります。
ルートNHEKOソースディレクトリを右クリックして、 Open in Visual Studioを選択します。トップツールバーでビルドタイプのリリースとデバッグを選択できます。 Cmakeの発電が成功した後、 nheko.exe実行ターゲットとして選択できます。次に、CMAKEメニューでBuild all選択するか、 F7を押して実行可能ファイルをコンパイルします。
アプリケーションを実行できるようにするために、最後のステップは、NHEKOバイナリの横に必要なQT依存関係をインストールすることです。
「qt x.xx.x 64ビット用デスクトップ(MSVC 2017)」 windeployqt開始します。
cd < path-to-nheko > build-vcReleaseRelease
windeployqt nheko.exe最終的なバイナリは、リリースビルドおよびビルドbuild-vcReleaseRelease build-vcDebugDebug release relinee内に配置されます。
また、それぞれのcmark.dllをbuild/cmark-build/src/Release (またはdebug)からバイナリdirにコピーします。
貢献を参照してください。
現在、D-Bus APIのドキュメントはありませんので、それを利用したい場合は、#NHEKO:nheko.imでサポートを求めてください。
UIの感触を得るためのスクリーンショットは次のとおりですが、おそらく状況は変わります。