折腾运行 Signal Desktop 桌面版 最新版 v7.50.0

环境准备

操作系统方面,最好使用 windows 11 环境,如 win10 环境可能会有部分组件安装失败;其他如 macos/linux 则比较简单。windows 系统需要安装 Visual Studio 2022,留意必须勾选 「使用C++ 开发桌面应用」,如下图所示:
img

同时需要安装 Python3,git 等,并确保环境变量里有 python.exe ,目前的版本(2025-04-15),即使环境变量里有 python3.exe 都不行,必须使得「Win-R 运行中直接输入 python 回车可以看到 python 命令行」。

代码编译

git clone https://github.com/signalapp/Signal-Desktop.git
cd Signal-Desktop
git checkout -b v7.50.0 tags/v7.50.0
git log -1

看一下代码工程所使用的 node 版本,要完全匹配

cat .nvmrc
22.14.0
node --version
v20.18.0

譬如我这里的 .nvmrc 显示的版本是 22.14.0,但本地的版本有点旧,遂下载:https://cdn.npmmirror.com/binaries/node/v22.14.0/node-v22.14.0-win-x64.zip ,解压,加入PATH 环境变量,然后开启 新cmd 窗口, 执行

node --version
npm install -g pnpm
pnpm install

这一步时间可能较长,推荐先配置好 npm 国内镜像 npm config set registry https://registry.npmmirror.com ,下图所示即告完成:
signal desktop 编译

如下命令可以开始编译并生成代码,完成后试运行:

pnpm run generate
pnpm start

默认启动的为调试版,关闭右侧的开发者控制台,可以看到已经正常运行了

但此时拿出手机,使用 Signal 手机版直接扫描是无法登入的,默认配置下,其连入的是单独 staging 服务器,与生产服务器配置不同,无法直接使用。

私服连接

在 vscode 中打开 config/default.json 修改配置,使之连入前几天部署的私有服务器。

signal desktop 桌面版 最新版

聊天记录同步似乎还有点麻烦,不过聊天已经完美了~
signal 私服 聊天

补充 Ubuntu 环境运行步骤

大体上,直接按官方教程来即可 https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md ,这里简单记录一下:

apt install -y gcc g++ make autoconf cmake vim git
cd /opt
mkdir node && cd node
wget -c https://registry.npmmirror.com/-/binary/node/v22.14.0/node-v22.14.0-linux-x64.tar.xz 
tar xf node-v22.14.0-linux-x64.tar.xz

cat >> $HOME/.bash_profile <<EOF
export PATH=/opt/node/node-v22.14.0-linux-x64/bin:$PATH
EOF

source ~/.bash_profile
node --version

# 全局安装 pnpm
/opt/node/node-v22.14.0-linux-x64/bin/node  /opt/node/node-v22.14.0-linux-x64/bin/npm install -g pnpm 
cd ~/ && mkdir workspace && cd ~/workspace
git clone https://github.com/signalapp/Signal-Desktop.git

npm config set registry https://registry.npmmirror.com
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/  pnpm install

pnpm run generate
pnpm start

第一次启动,收到错误提示如下:
[8690:0507/130843.259809:FATAL:setuid_sandbox_host.cc(163)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/sunday/workspace/Signal-Desktop/node_modules/.pnpm/electron@35.1.4/node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755.

pushd /home/sunday/workspace/Signal-Desktop/node_modules/.pnpm/electron@35.1.4/node_modules/electron/dist/
sudo chown root:root chrome-sandbox
sudo chmod 4755 chrome-sandbox
popd

# 再来
pnpm start
# 编译 deb 包 完成后,至 release 目录可以看到 deb 包
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm run build

解决!

build and run Signal Desktop on ubuntu

posted @ 2025-04-17 19:18  pfoxh  阅读(153)  评论(0)    收藏  举报