概要
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 # 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"
上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。
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
この時、以下の手順に従う。
- まず、node_modulesディレクトリとpackage-lock.jsonファイルを削除する。
- 次に、
npm installコマンドを実行する。
この時、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
最終的なJSとCSSアセットを生成する。
yarn generate
必要であれば、Signal Desktopをテストを実行して確認する。
yarn test
Signal Desktopのリリースビルドを実行する。
この時、リリースファイルは、/<Signal Desktopのソースコードディレクトリ>/release/linux-unpackedディレクトリに保存される。
yarn run build:release
もし、リリースビルドを実行せずに、Signal Desktopを実行する場合は、以下に示すコマンドを実行する。
yarn start
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