MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - Signal Desktopのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - Signal Desktop
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Signal Desktopは、AndroidやiOSのSignalとリンクし、Windows、macOS、LinuxのPCからメッセージを送受信することができる。<br> <br><br> == Signalのインストール (x64向け) == ==== リポジトリを追加してインストール ==== Signal Desktopの公式のソフトウェア署名キーをインストールする。<br> wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null <br> Signal Desktopのリポジトリを追加する。<br> echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\ sudo tee /etc/apt/sources.list.d/signal-xenial.list <br> パッケージデータベースを更新して、Signal Desktopをインストールする。<br> sudo apt update sudo apt install signal-desktop <br> ==== ソースコードからインストール ==== Signal Desktopに必要な依存関係のライブラリをインストールする。<br> # SUSE sudo zypper install make cmake gcc g++ python3 ruby <br> [https://nodejs.org/dist/ NodeJSの公式Webサイト]から、Signal Desktopに必要なNodeJSのバージョンをダウンロードする。<br> ダウンロードしたファイルを解凍する。<br> tar xf node-v<バージョン>-linux-<アーキテクチャ名>.tar.xz <br> ~/.profileファイル等に、NodeJSの環境変数<code>PATH</code>を追記する。<br> vi ~/.profile <br> ~/.profileファイル export PATH="/<NodeJSのインストールディレクトリ>/bin:$PATH" <br> [https://github.com/signalapp/Signal-Desktop/releases Signal DesktopのGithub]にアクセスして、ソースコードをダウンロードする。<br> または、<code>git clone</code>コマンドを実行して、Signal desktopのソースコードをダウンロードする。<br> git clone --depth 1 https://github.com/signalapp/Signal-Desktop.git -b <ブランチ名 例: 6.25.x> <br> 必要ならば、yarnをインストールする。<br> npm install --global yarn <br> Signal Desktopのビルドに必要な依存関係のライブラリをインストールする。<br> この操作は、時間が掛かることに注意する。 (<u>QEMU Staticを使用してAArch64向けに行う場合、55分程度掛かった</u>)<br> yarn install --frozen-lockfile <br> 上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br> An unexpected error occurred: "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz: ESOCKETTIMEDOUT" <br> この時、yarn設定またはnpm設定の<u>strict-sslを無効</u>にして、再度、<code>yarn</code>コマンドを実行する。<br> yarn config set "strict-ssl" false -g # または npm config set "strict-ssl" false -g # または (strict-sslを無効にしたくない場合) yarn config set registry <nowiki>https://registry.npmjs.org</nowiki> yarn install --frozen-lockfile <br> 上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br> Error: Could not detect abi for version XX.X.X and runtime electron. Updating "node-abi" might help solve this issue if it is a new release of electron <br> この時、以下の手順に従う。<br> * 方法 1 *# まず、node_modulesディレクトリ、yarn.lockファイル、package-lock.jsonファイルを削除する。 *# 次に、<code>npm install</code>コマンドを実行する。 *:<br> * 方法 2 *# yarn.lockファイル内にあるnode-abiのエントリーを削除する。 <br> 上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br> "ENOSPC: no space left on device, write" <br> この時、<code>df -h</code>コマンドを実行して、ディスクスペースの空きが存在するかどうかを確認する。<br> <br> 最終的なJSとCSSアセットを生成する。<br> yarn generate <br> 必要であれば、Signal Desktopをテストを実行して確認する。<br> yarn test <br> Signal Desktopのリリースビルドを実行する。<br> この時、リリースファイルは、/<Signal Desktopのソースコードディレクトリ>/release/linux-unpackedディレクトリに保存される。<br> yarn run build:release <br> もし、リリースビルドを実行せずに、Signal Desktopを実行する場合は、以下に示すコマンドを実行する。<br> yarn start <br> ビルド完了後、不要なキャッシュファイルを削除する。<br> (サイズが大きいためストレージのスペースを逼迫するため)<br> yarn cache clean rm -rf /<Signal Desktopのソースコードがあるディレクトリ>/node_modules <br> Signal Desktopのデスクトップエントリファイルを作成する。<br> vi ~/.local/share/applications/Signal-Dekstop.desktop <br> <syntaxhighlight lang="ini"> # ~/.local/share/applications/Signal-Dekstop.desktop [Desktop Entry] Type=Application Name=Signal Desktop GenericName=Signal Comment=Private messaging from your desktop Exec=/<Signal Desktopのインストールディレクトリ>/signal-desktop --no-sandbox %U Icon=signal-desktop Categories=Network;InstantMessaging;Chat; Terminal=false StartupWMClass=Signal </syntaxhighlight> <br> ==== Snap Craftからインストール ==== EPELリポジトリを追加する。<br> # RHEL 8の場合 sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf upgrade <br> オプショナルリポジトリとエクストラリポジトリの追加も推奨される。<br> sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms" sudo dnf update <br> Snapをインストールする。<br> sudo yum install snapd <br> Snap通信ソケットを管理するSystemdサービスユニットを有効にする。<br> sudo systemctl enable --now snapd.socket <br> クラシックスナップサポートを有効にする場合は、/var/lib/snapd/snapと/snapの間にシンボリックリンクを作成する。<br> sudo ln -s /var/lib/snapd/snap /snap <br> 再ログインする、または、PCを再起動して、Snapのパスが正しく更新されていることを確認する。<br> <br> Signal Desktopをインストールする。<br> sudo snap install signal-desktop <br> ==== バイナリファイルをダウンロード (Mobianのみ) ==== [https://gitlab.com/undef1/signal-desktop-builder/-/packages 有志のGitLab]からMobian向けSignal Desktopのバイナリファイルをダウンロードする。<br> ダウンロードしたファイルを解凍する。<br> tar xf signal-desktop_<バージョン>.tar.xz mv signal-desktop_<バージョン> Signal-Desktop <br> 解凍したファイルを任意のディレクトリに移動する。<br> mv Signal-Desktop <任意のインストールディレクトリ> <br> Signal Desktopのデスクトップエントリファイルを作成する。<br> vi ~/.local/share/applications/Signal-Dekstop.desktop <br> <syntaxhighlight lang="ini"> # ~/.local/share/applications/Signal-Dekstop.desktop [Desktop Entry] Type=Application Name=Signal Desktop GenericName=Signal Comment=Private messaging from your desktop Exec=/<Signal Desktopのインストールディレクトリ>/signal-desktop --no-sandbox %U Icon=signal-desktop Categories=Network;InstantMessaging;Chat; Terminal=false StartupWMClass=Signal </syntaxhighlight> <br><br> == Signalのインストール (AArch64向け) == Signal Desktopのビルドに必要なライブラリをインストールする。<br> # Manjaro ARM sudo pacman -S --needed make cmake gcc g++ python3 ruby git-lfs libnotify nss libnss_nis libxtst libxss alsa-lib # Mobian sudo apt install wget curl pkg-config build-essential make cmake gcc g++ python3 tcl ruby ruby-dev generate-ninja ninja-build \ clang llvm lld clang-tools git git-lfs \ libffi-dev libssl-dev libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 libx11-xcb1 libgdk-pixbuf-2.0-0 libgtk-3-0 \ libdrm2 libgbm1 <br> まず、有志が作成したSignal Desktop Builderを[https://gitlab.com/undef1/signal-desktop-builder.git GitLab]からクローンする。<br> git clone https://gitlab.com/undef1/signal-desktop-builder.git cd signal-desktop-builder <br> 次に、[https://github.com/signalapp/Signal-Desktop/releases Signal DesktopのGithub]にアクセスして、ソースコードをダウンロードする。<br> または、<code>git clone</code>コマンドを実行して、Signal desktopのソースコードをダウンロードする。 git clone --depth 1 https://github.com/signalapp/Signal-Desktop.git -b <ブランチ名 例: 6.25.x> cd Signal-Desktop <br> Git LFSをインストールする。<br> git-lfs install <br> 任意ではあるが、Gitの初期設定を行う。<br> git config --global user.name name git config --global user.email name@example.com <br> Signal Desktopのソースコードにパッチを当てる。<br> git am ../patches/0001-Minimize-gutter-on-small-screens.patch git am ../patches/0001-reduce-minimum-dimensions-to-allow-for-mobile-screen.patch git am ../patches/0001-Always-return-MIN_WIDTH-from-storage.patch <br> AArch64向けのビルドでは、モックテストが壊れるため、<u>mock</u>という文字列が存在する行を削除するように修正する。<br> sed -r '/mock/d' -i package.json <br> ビルドから<u>--no-sandbox</u>コミットを削除する。<br> git revert 1ca0d821078286d5953cf0d598e6b97710f816ef <br> 試験実行のために、SQLite3の設定を修正する。<br> sed -r 's#("better-sqlite3": ").*"#\1file:../better-sqlite3"#' -i package.json <br> デプスを再構築するには、1度キャンセルして再度実行する必要があるかもしれない。<br> yarn install # Signal Desktopでは非推奨であるが、上記2つを修正したために必要となる yarn install --frozen-lockfile <br> AArch64向けでは、モックビルドは壊れるため削除する。<br> rm -rf ts/test-mock <br> 最終的なJSとCSSアセットを生成する。<br> yarn generate yarn build:webpack <br> Signal Desktopのリリースビルドを実行する。<br> リリースファイルは、/<Signal Desktopのソースコードディレクトリ>/release/linux-unpackedディレクトリに保存される。<br> yarn build:release --arm64 --linux --dir <br><br> == Signal CLI == ==== 概要 ==== Signal CLIは、Signalのコマンドラインインターフェイスである。<br> Android向けSignalのソースコードからパッチを当てたlibsignal-service-javaを使用している。<br> <br> Signal CLIの登録には、SMSや着信を受け取れる電話番号が必要である。<br> <br> Signal CLIは、主に重要なイベントを管理者に通知するためにサーバで使用することを想定している。<br> この用途のために、JSON RPCインターフェースとD-BUSインターフェースを備えたデーモンモードがある。<br> JSON RPCインターフェースには、Rustで書かれた簡単なクライアント例もある。<br> <br> Signal CLIは自身でビルドすることもでき、提供されているバイナリファイルを使用することもできる。<br> また、Dockerイメージやコミュニティによって提供されているLinuxパッケージも存在する。<br> <br> システム要件<br> * JRE 21以降 * x64向けlibsignal-client <br> ==== バイナリファイルからインストール ==== Signal CLIの実行に必要なライブラリをインストールする。<br> # Mobian sudo apt install default-jre <br> [https://github.com/AsamK/signal-cli/releases Signal CLIのGithub]にアクセスして、Signal CLIのバイナリファイルをダウンロードする。<br> ダウンロードしたファイルを解凍する。<br> tar xf signal-cli-<バージョン>.tar.gz mv signal-cli-<バージョン> Signal-CLI <br> 解凍したSignal CLIを任意のディレクトリに配置する。<br> mv Signal-CLI <任意のディレクトリ> <br> ~/.profileファイル等に、環境変数<code>PATH</code>を追記する。<br> vi ~/.profile <br> <syntaxhighlight lang="sh"> # ~/.profileファイル export PATH="/<Signal CLIのインストールディレクトリ>/bin:$PATH" </syntaxhighlight> <br> ==== ソースコードからインストール ==== Signal CLIでは、依存関係のビルドとメンテナンスにGradleを使用している。<br> [https://github.com/AsamK/signal-cli/releases Signal CLIのGithub]にアクセスして、Signal CLIのソースコードをダウンロードする。<br> ダウンロードしたファイルを解凍する。<br> tar xf signal-cli-<バージョン>.tar.gz cd signal-cli <br> または、<code>git clone</code>コマンドを実行して、Signal CLIのソースコードをダウンロードする。<br> git clone https://github.com/AsamK/signal-cli.git <br> Gradleを実行する。<br> ./gradlew build <br> build/install/signal-cli/binディレクトリにシェルラッパーを作成する。<br> ./gradlew installDist <br> build/distributionsディレクトリにtarファイルを作成する。<br> ./gradlew distTar <br> build/libs/signal-cli-fatディレクトリにfat tarファイルを作成する。<br> ./gradlew fatJar <br> Signal CLIをビルドして実行する。<br> ./gradlew run --args="--help" <br> ==== 使用方法 ==== 詳細な使用方法については、manページとwikiを読むこと。<br> <br> <u>※注意</u><br> <u>アカウントとは、ユーザの国際電話番号のことであり、国のコードを含む必要がある。</u><br> <u>したがって <code>+</code>記号で始まる必要があることに注意する。</u><br> <br> アカウント (SMS認証付き) を登録する。<br> signal-cli -a <アカウント名> register # 例: 電話番号が09012345678の場合 signal-cli -a +819012345678 register <br> 音声認証を使用してSignalのアカウントを登録することもできる。<br> この場合、上記のコマンドの最後に<code>--voice</code>オプションを付加することにより、SMS認証をスキップして、音声認証することがでできる。<br> signal-cli -a <アカウント名> register --voice # 例: 電話番号が09012345678の場合 signal-cli -a +819012345678 register --voice <br> 登録には、CAPTCHAチャレンジを解く必要がある場合がある。<br> https://github.com/AsamK/signal-cli/wiki/Registration-with-captcha<br> <br> SMSまたは音声で受信した登録コードを使用して番号を確認する。<br> アカウントにPINコードを追加している場合は、オプションで<code>-pin <PIN番号></code>オプションを付加する。<br> signal-cli -a <アカウント名> verify <登録コード> # または signal-cli -a <アカウント名> verify <登録コード> -pin <PIN番号> <br> メッセージを送信する場合、以下に示すコマンドを実行する。<br> signal-cli -a <アカウント名> send -m "This is a message" RECIPIENT <br> 別のプロセスからメッセージの内容をパイプする場合、以下に示すコマンドを実行する。<br> uname -a | signal-cli -a <アカウント名> send --message-from-stdin RECIPIENT <br> メッセージを受信する場合、以下に示すコマンドを実行する。<br> signal-cli -a <アカウント名> receive <br> Signalプロトコルは、受信メッセージが定期的に受信されることを期待している。(デーモンまたは受信コマンドの使用)<br> これは、暗号化が効率的に動作し、グループや有効期限タイマー等の更新を取得するために必要である。<br> <br> ==== データの保存先 ==== パスワードと暗号鍵は登録時に作成され、現在のユーザのホームディレクトリに保存される。<br> * $XDG_DATA_HOME/signal-cli/data/ * $HOME/.local/share/signal-cli/data/ <br> <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]
インストール - Signal Desktop
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse