📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の12版が非表示)
3行目: 3行目:
<br><br>
<br><br>


== Signalのインストール ==
== Signalのインストール (x64向け) ==
==== リポジトリを追加してインストール ====
==== リポジトリを追加してインストール ====
Signal Desktopの公式のソフトウェア署名キーをインストールする。<br>
Signal Desktopの公式のソフトウェア署名キーをインストールする。<br>
19行目: 19行目:
==== ソースコードからインストール ====
==== ソースコードからインストール ====
Signal Desktopに必要な依存関係のライブラリをインストールする。<br>
Signal Desktopに必要な依存関係のライブラリをインストールする。<br>
<u>ビルドには、Python 3.7以降が必要となることに注意する。</u><br>
  # SUSE
  # SUSE
  sudo zypper install make cmake gcc g++ python3 ruby
  sudo zypper install make cmake gcc g++ python3 ruby
# Manjaro ARM
sudo pacman -S --needed ruby libnotify nss libnss_nis libxtst libxss alsa-lib
<br>
<br>
[https://nodejs.org/dist/ NodeJSの公式Webサイト]から、Signal Desktopに必要なNodeJSのバージョンをダウンロードする。<br>
[https://Node.js.org/dist/ Node.jsの公式Webサイト]から、Signal Desktopに必要なNode.jsのバージョンをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
ダウンロードしたファイルを解凍する。<br>
  tar xf node-v<バージョン>-linux-<アーキテクチャ名>.tar.xz
  tar xf node-v<バージョン>-linux-<アーキテクチャ名>.tar.xz
<br>
<br>
~/.profileファイル等に、NodeJSの環境変数<code>PATH</code>を追記する。<br>
~/.profileファイル等に、Node.jsの環境変数<code>PATH</code>を追記する。<br>
  vi ~/.profile
  vi ~/.profile
<br>
<br>
<syntaxhighlight lang="sh">
  ~/.profileファイル
  ~/.profileファイル
   
   
  export PATH="/<NodeJSのインストールディレクトリ>/bin:$PATH"
  export PATH="/<Node.jsのインストールディレクトリ>/bin:$PATH"
</syntaxhighlight>
<br>
<br>
[https://github.com/signalapp/Signal-Desktop/releases Signal DesktopのGithub]にアクセスして、ソースコードをダウンロードする。<br>
[https://github.com/signalapp/Signal-Desktop/releases Signal DesktopのGithub]にアクセスして、ソースコードをダウンロードする。<br>
または、<code>git clone</code>コマンドを実行して、Signal desktopのソースコードをダウンロードする。<br>
または、<code>git clone</code>コマンドを実行して、Signal desktopのソースコードをダウンロードする。<br>
  git clone --depth 1 https://github.com/signalapp/Signal-Desktop.git -b <ブランチ名  例: 6.25.x>
  git clone --depth 1 https://github.com/signalapp/Signal-Desktop.git -b <ブランチ名  例: 8.0.x>
<br>
必要ならば、yarnをインストールする。<br>
npm install --global yarn
<br>
<br>
Signal Desktopのビルドに必要な依存関係のライブラリをインストールする。<br>
Signal Desktopのビルドに必要な依存関係のライブラリをインストールする。<br>
この操作は、時間が掛かることに注意する。 (<u>QEMU Staticを使用してAArch64向けに行う場合、55分程度掛かった</u>)<br>
この操作は、時間が掛かることに注意する。 (<u>QEMU Staticを使用してAArch64向けに行う場合、55分程度掛かった</u>)<br>
  yarn install --frozen-lockfile
  corepack enable
pnpm install --frozen-lockfile
<br>
<br>
上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br>
上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br>
  An unexpected error occurred: "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz: ESOCKETTIMEDOUT"
  An unexpected error occurred: "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz: ESOCKETTIMEDOUT"
<br>
<br>
この時、yarn設定またはnpm設定の<u>strict-sslを無効</u>にして、再度、<code>yarn</code>コマンドを実行する。<br>
この時、npm設定の<u>strict-sslを無効</u>にして、再度、<code>pnpm</code>コマンドを実行する。<br>
yarn config set "strict-ssl" false -g
# または
  npm 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
  pnpm install --frozen-lockfile
<br>
<br>
上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br>
上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br>
63行目: 57行目:
<br>
<br>
この時、以下の手順に従う。<br>
この時、以下の手順に従う。<br>
* 方法 1
*# まず、node_modulesディレクトリを削除する。
*# まず、node_modulesディレクトリ、yarn.lockファイル、package-lock.jsonファイルを削除する。
*# <code>pnpm store prune</code> コマンドを実行する。
*# 次に、<code>npm install</code>コマンドを実行する。
*# 最後に、<code>pnpm install --frozen-lockfile</code>コマンドを実行する。
*:<br>
* 方法 2
*# yarn.lockファイル内にあるnode-abiのエントリーを削除する。
<br>
<br>
上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br>
上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br>
  "ENOSPC: no space left on device, write"
  "ENOSPC: no space left on device, write"
<br>
<br>
この時、<code>df -h</code>コマンドを実行して、ディスクスペースの空きが存在するかどうかを確認する。<br>
この時、<code>df -h</code> コマンドを実行して、ディスクスペースの空きが存在するかどうかを確認する。<br>
<br>
最終的なJSとCSSアセットを生成する。<br>
yarn generate
<br>
<br>
必要であれば、Signal Desktopをテストを実行して確認する。<br>
Signal Desktop 7.xの場合は、ロケールファイルを生成する。<br>
  yarn test
  # Signal Desktop 7.xの場合
pnpm run build:compact-locales
<br>
<br>
Signal Desktopのリリースビルドを実行する。<br>
Signal Desktopのリリースビルドを実行する。<br>
この時、リリースファイルは、/<Signal Desktopのソースコードディレクトリ>/release/linux-unpackedディレクトリに保存される。<br>
この時、リリースファイルは、<u>/<Signal Desktopのソースコードディレクトリ>/release/linux-unpacked</u> ディレクトリに保存される。<br>
  yarn run build:release
  pnpm run build
<br>
<br>
もし、リリースビルドを実行せずに、Signal Desktopを実行する場合は、以下に示すコマンドを実行する。<br>
もし、リリースビルドを実行せずに、Signal Desktopを実行する場合は、以下に示すコマンドを実行する。<br>
  yarn start
  pnpm start
<br>
ビルド完了後、不要なキャッシュファイルを削除する。<br>
(サイズが大きいためストレージのスペースを逼迫するため)<br>
yarn cache clean
rm -rf /<Signal Desktopのソースコードがあるディレクトリ>/node_modules
<br>
<br>
Signal Desktopのデスクトップエントリファイルを作成する。<br>
Signal Desktopのデスクトップエントリファイルを作成する。<br>
107行目: 91行目:
  Icon=signal-desktop
  Icon=signal-desktop
  Categories=Network;InstantMessaging;Chat;
  Categories=Network;InstantMessaging;Chat;
MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha;
  Terminal=false
  Terminal=false
  StartupWMClass=Signal
  StartupWMClass=Signal
162行目: 147行目:
  StartupWMClass=Signal
  StartupWMClass=Signal
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
== Signalのインストール (AArch64向け) ==
==== バイナリをダウンロードしてインストール (Mobian向け) ====
まず、有志が作成したSignal Desktopを[https://gitlab.com/undef1/signal-desktop-builder/-/packages GitLab]からダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
tar xf signal-desktop_<バージョン>.tar.xz
mv signal-desktop_<バージョン> Signal-Desktop
<br>
必要ならば、Signal Desktopを任意のディレクトリに配置する。<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のインストールディレクトリ>/icons/128x128.png
Categories=Network;InstantMessaging;Chat;
Terminal=false
StartupWMClass=Signal
</syntaxhighlight>
<br>
==== ソースコードからインストール ====
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>
<br><br>