「インストール - Signal Desktop」の版間の差分

提供: MochiuWiki : SUSE, EC, PCB

183行目: 183行目:
<br>
<br>
==== バイナリファイルからインストール ====
==== バイナリファイルからインストール ====
Signal CLIの実行に必要なライブラリをインストールする。<br>
sudo apt install default-jre
<br>
[https://github.com/AsamK/signal-cli/releases Signal CLIのGithub]にアクセスして、Signal CLIのバイナリファイルをダウンロードする。<br>
[https://github.com/AsamK/signal-cli/releases Signal CLIのGithub]にアクセスして、Signal CLIのバイナリファイルをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
ダウンロードしたファイルを解凍する。<br>

2023年11月21日 (火) 08:45時点における版

概要

Signal Desktopは、AndroidやiOSのSignalとリンクし、Windows、macOS、LinuxのPCからメッセージを送受信することができる。


Signalのインストール

リポジトリを追加してインストール

Signal Desktopの公式のソフトウェア署名キーをインストールする。

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


Signal Desktopのリポジトリを追加する。

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


パッケージデータベースを更新して、Signal Desktopをインストールする。

sudo apt update
sudo apt install signal-desktop


ソースコードからインストール

Signal Desktopに必要な依存関係のライブラリをインストールする。

# SUSE
sudo zypper install make cmake gcc g++ python3 ruby

# Manjaro ARM
sudo pacman -S --needed ruby libnotify nss libnss_nis libxtst libxss alsa-lib


NodeJSの公式Webサイトから、Signal Desktopに必要なNodeJSのバージョンをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf node-v<バージョン>-linux-<アーキテクチャ名>.tar.xz


~/.profileファイル等に、NodeJSの環境変数PATHを追記する。

vi ~/.profile


~/.profileファイル

export PATH="/<NodeJSのインストールディレクトリ>/bin:$PATH"


Signal DesktopのGithubにアクセスして、ソースコードをダウンロードする。
または、git cloneコマンドを実行して、Signal desktopのソースコードをダウンロードする。

git clone --depth 1 https://github.com/signalapp/Signal-Desktop.git -b <ブランチ名  例: 6.25.x>


必要ならば、yarnをインストールする。

npm install --global yarn


Signal Desktopのビルドに必要な依存関係のライブラリをインストールする。
この操作は、時間が掛かることに注意する。 (QEMU Staticを使用してAArch64向けに行う場合、55分程度掛かった)

yarn install --frozen-lockfile


上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。

An unexpected error occurred: "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz: ESOCKETTIMEDOUT"


この時、yarn設定またはnpm設定のstrict-sslを無効にして、再度、yarnコマンドを実行する。

yarn config set "strict-ssl" false -g
# または
npm config set "strict-ssl" false -g
# または (strict-sslを無効にしたくない場合)
yarn config set registry https://registry.npmjs.org

yarn install --frozen-lockfile


上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。

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


この時、以下の手順に従う。

  • 方法 1
    1. まず、node_modulesディレクトリ、yarn.lockファイル、package-lock.jsonファイルを削除する。
    2. 次に、npm installコマンドを実行する。

  • 方法 2
    1. yarn.lockファイル内にあるnode-abiのエントリーを削除する。


上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。

"ENOSPC: no space left on device, write"


この時、df -hコマンドを実行して、ディスクスペースの空きが存在するかどうかを確認する。

最終的なJSとCSSアセットを生成する。

yarn generate


必要であれば、Signal Desktopをテストを実行して確認する。

yarn test


Signal Desktopのリリースビルドを実行する。
この時、リリースファイルは、/<Signal Desktopのソースコードディレクトリ>/release/linux-unpackedディレクトリに保存される。

yarn run build:release


もし、リリースビルドを実行せずに、Signal Desktopを実行する場合は、以下に示すコマンドを実行する。

yarn start


ビルド完了後、不要なキャッシュファイルを削除する。
(サイズが大きいためストレージのスペースを逼迫するため)

yarn cache clean
rm -rf /<Signal Desktopのソースコードがあるディレクトリ>/node_modules


Signal Desktopのデスクトップエントリファイルを作成する。

vi ~/.local/share/applications/Signal-Dekstop.desktop


 # ~/.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


Snap Craftからインストール

EPELリポジトリを追加する。

# RHEL 8の場合
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf upgrade


オプショナルリポジトリとエクストラリポジトリの追加も推奨される。

sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms"
sudo dnf update


Snapをインストールする。

sudo yum install snapd


Snap通信ソケットを管理するSystemdサービスユニットを有効にする。

sudo systemctl enable --now snapd.socket


クラシックスナップサポートを有効にする場合は、/var/lib/snapd/snapと/snapの間にシンボリックリンクを作成する。

sudo ln -s /var/lib/snapd/snap /snap


再ログインする、または、PCを再起動して、Snapのパスが正しく更新されていることを確認する。

Signal Desktopをインストールする。

sudo snap install signal-desktop


バイナリファイルをダウンロード (Mobianのみ)

有志のGitLabからMobian向けSignal Desktopのバイナリファイルをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf signal-desktop_<バージョン>.tar.xz
mv signal-desktop_<バージョン> Signal-Desktop


解凍したファイルを任意のディレクトリに移動する。

mv Signal-Desktop <任意のインストールディレクトリ>


Signal Desktopのデスクトップエントリファイルを作成する。

vi ~/.local/share/applications/Signal-Dekstop.desktop


 # ~/.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



Signal CLI

概要

Signal CLIは、Signalのコマンドラインインターフェイスである。
Android向けSignalのソースコードからパッチを当てたlibsignal-service-javaを使用している。

Signal CLIの登録には、SMSや着信を受け取れる電話番号が必要である。

Signal CLIは、主に重要なイベントを管理者に通知するためにサーバで使用することを想定している。
この用途のために、JSON RPCインターフェースとD-BUSインターフェースを備えたデーモンモードがある。
JSON RPCインターフェースには、Rustで書かれた簡単なクライアント例もある。

Signal CLIは自身でビルドすることもでき、提供されているバイナリファイルを使用することもできる。
また、Dockerイメージやコミュニティによって提供されているLinuxパッケージも存在する。

システム要件

  • JRE 21以降
  • x64向けlibsignal-client


バイナリファイルからインストール

Signal CLIの実行に必要なライブラリをインストールする。

sudo apt install default-jre


Signal CLIのGithubにアクセスして、Signal CLIのバイナリファイルをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf signal-cli-<バージョン>.tar.gz
mv signal-cli-<バージョン> Signal-CLI


解凍したSignal CLIを任意のディレクトリに配置する。

mv Signal-CLI <任意のディレクトリ>


~/.profileファイル等に、環境変数PATHを追記する。

vi ~/.profile


 # ~/.profileファイル
 
 export PATH="/<Signal CLIのインストールディレクトリ>/bin:$PATH"