Issues installing signal with Qubes 4.1. Bullseye instead of xenial in main?

I’m trying to install signal in Qubes 4.1

I tried this:

curl -s -x 127.0.0.1:8082 https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK
user@debian-11:~$ echo "deb [arch=amd64] https://updates.signal.org/desktop/apt bullseye main" | sudo tee -a /etc/apt/sources.list.d/signal-bullseye.list
deb [arch=amd64] https://updates.signal.org/desktop/apt bullseye main
user@debian-11:~$ sudo apt update && sudo apt install signal-desktop
Hit:1 https://brave-browser-apt-release.s3.brave.com stable InRelease          
Hit:2 https://deb.debian.org/debian bullseye InRelease                         
Hit:3 https://deb.qubes-os.org/r4.1/vm bullseye InRelease                      
Hit:4 https://deb.debian.org/debian-security bullseye-security InRelease       
Ign:5 https://updates.signal.org/desktop/apt bullseye InRelease     
Err:6 https://updates.signal.org/desktop/apt bullseye Release
  404  Not Found [IP: 127.0.0.1 8082]
Hit:7 http://deb.debian.org/debian bullseye-backports InRelease
Reading package lists... Done
E: The repository 'https://updates.signal.org/desktop/apt bullseye Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
user@debian-11:~$ echo "deb [arch=amd64] https://updates.signal.org/desktop/apt buster main" | sudo tee -a /etc/apt/sources.list.d/signal-buster.list
deb [arch=amd64] https://updates.signal.org/desktop/apt buster main
user@debian-11:~$ sudo apt update && sudo apt install signal-desktop
Hit:1 http://deb.debian.org/debian bullseye-backports InRelease                
Hit:2 https://deb.qubes-os.org/r4.1/vm bullseye InRelease                      
Ign:3 https://updates.signal.org/desktop/apt bullseye InRelease                
Hit:4 https://brave-browser-apt-release.s3.brave.com stable InRelease          
Hit:5 https://deb.debian.org/debian bullseye InRelease              
Ign:6 https://updates.signal.org/desktop/apt buster InRelease
Hit:7 https://deb.debian.org/debian-security bullseye-security InRelease
Err:8 https://updates.signal.org/desktop/apt bullseye Release
  404  Not Found [IP: 127.0.0.1 8082]
Err:9 https://updates.signal.org/desktop/apt buster Release
  404  Not Found [IP: 127.0.0.1 8082]
Reading package lists... Done
E: The repository 'https://updates.signal.org/desktop/apt bullseye Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'https://updates.signal.org/desktop/apt buster Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
user@debian-11:~$ 


So i tried adding bullseye and buster. What are the correct commands? :slight_smile:
Just learnt about non-free and contrib also. I’m going to comment out those in software… I did remove non-free and contrib in qubes list 20 min ago also.
Guess i need to remove buster and signal now… Still a beginner when it comes to linux, but it’s fun to learn slowly… Signal should be free though… i hope. open source.

The following message about Signal was posted on a thread about configuring Debian minimal templates. Ideally, Signal would be the only thing installed in a minimal template. Less RAM usage, less disk space, fewer unnecessary packages installed=less attack surface etc. But minimal templates require more initial modifications and finessing to get set up properly so you might want to wait until you get more familiar with Qubes before using them. Either way, this might help you get Signal set up in your template.

2 Likes

Great answers! Thanks again. :slight_smile: I was messing around with this in the normal template just now, a minimal is optimal i will try that!

But dude… Too much work?? I want a couple of easy commands and install signal. Any ideas?

I’m trying this is dom0…
qvm-run --pass-io -u root tpl-deb-10-signal “curl --proxy http://127.0.0.1:8082/ -s https://updates.signal.org/desktop/apt/keys.asc | apt-key add -"

copying from cat signal.txt
But why do i often get these in the terminal and how do i work or bypass it?

Why can’t i just install signal-desktop in linux like other stuff??? This takes too much time!!!
I don’t get signal! It’s open source… Should be on f-droid, not google play, should be able to install it with one command in debian! Annoying. I can’t waste time in linux when i’m not as good… i got stuff to do… They should implement quick commands!

sudo apt-get install signal = done.
This is wasting my time…Why is it not on debian… Might be, i just have issues with getting it to work at the moment…

Note to self:
Instead of wasting over 1 hour installing signal. Use the official signal guide. It just works!

here is how you install signal:
Linux (Debian-based) Install Instructions

# NOTE: These instructions only work for 64 bit Debian-based
# Linux distributions such as Ubuntu, Mint etc.

# 1. Install our official public software signing key
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
cat signal-desktop-keyring.gpg | sudo tee -a /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null

# 2. Add our repository to your list of repositories
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\
  sudo tee -a /etc/apt/sources.list.d/signal-xenial.list

# 3. Update your package database and install signal
sudo apt update && sudo apt install signal-desktop

Anyways, it works now… A couple of easy commands…

Forgot to wrote i changed to a proxy though and used curl instead of wget, which did not work in a template… might help someone less linux experienced like me out there:

user@debian-11:~$ curl --proxy 127.0.0.1:8082 https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3090 100 3090 0 0 2698 0 0:00:01 0:00:01 --:–:-- 2698

2 Likes

I could have check if the issue was already on the qubes github docs… :wink:

If someone else happens to google this and having issues finding the right links straight away, without even looking through the qubes documentation…
A solution that just works straight away. :wink:

1 Like

user@debian-11:~$ sudo su
root@debian-11:/home/user# cat signal-desktop-keyring.gpg | sudo tee -a /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/nul
root@debian-11:/home/user# exit
exit
user@debian-11:~$ echo ‘deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main’ |
sudo tee -a /etc/apt/sources.list.d/signal-xenial.list
deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main
user@debian-11:~$ sudo apt-get update
Get:1 https://updates.signal.org/desktop/apt xenial InRelease [2,316 B]
Hit:2 Index of /r4.1/vm/ bullseye InRelease
Get:3 https://updates.signal.org/desktop/apt xenial/main amd64 Packages [6,616 B]
Hit:4 Index of /debian bullseye InRelease
Hit:5 Index of /debian-security bullseye-security InRelease
Fetched 8,932 B in 1s (6,385 B/s)
Reading package lists… Done
user@debian-11:~$ sudo apt-get install signal-desktop
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following NEW packages will be installed:
signal-desktop
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 128 MB of archives.
After this operation, 451 MB of additional disk space will be used.
Get:1 https://updates.signal.org/desktop/apt xenial/main amd64 signal-desktop amd64 5.26.1 [128 MB]
Fetched 128 MB in 17min 39s (121 kB/s)
Selecting previously unselected package signal-desktop.
(Reading database … 99174 files and directories currently installed.)
Preparing to unpack …/signal-desktop_5.26.1_amd64.deb …
Unpacking signal-desktop (5.26.1) …
Setting up signal-desktop (5.26.1) …
Processing triggers for desktop-file-utils (0.26-1) …
Processing triggers for hicolor-icon-theme (0.17-2) …
Processing triggers for qubes-core-agent (4.1.31-1+deb11u1) …
Processing triggers for mailcap (3.69) …

I just haven’t had problems installing it last night out of curiosity…

Ok, i wrote this:

fwiw I had to install the following additional packages to have signal running in the debian 11 minimal template:

libatk1.0-0
libatk-bridge2.0-0
libcups2
libgtk-3-0

(I’d have thought that apt would pull those deps automatically like rpm does ; there’s probably an option that can do that)

Very weird. I had to do no such thing. However maybe these packages came with one of the other dependencies I installed:

  • qubes-core-agent-passwordless-root
  • qubes-app-shutdown-idle
  • qubes-core-agent-networking
  • curl

I don’t think it’s any of them, however I also installed:

  • xfce4-notifyd

… because you need some kind of notification daemon (e.g. dunst will do the job too). Otherwise your signal will hang the first time you receive a message when the window doesn’t have the focus.

I also installed:

  • nautilus
  • qubes-core-agent-nautilus
  • zenity

For convenience of handling files. zenity is needed by the Qubes OS functions in qubes-core-agent-nautilus to show the progress dialog when moving / copying files. If I had to guess, I would thing either nautilus or zenity pulled in automatically what you found.

Right now i get:
sudo apt update && sudo apt install signal-desktop
Hit:1 Index of /r4.1/vm/ bullseye InRelease
Err:2 https://updates.signal.org/desktop/apt xenial InRelease
403 Forbidden [IP: 127.0.0.1 8082]
Hit:3 Index of /debian bullseye InRelease
Hit:4 Index of /debian-security bullseye-security InRelease
Reading package lists… Done
E: Failed to fetch https://updates.signal.org/desktop/apt/dists/xenial/InRelease 403 Forbidden [IP: 127.0.0.1 8082]
E: The repository ‘https://updates.signal.org/desktop/apt xenial InRelease’ is not signed.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Why?
What has changed and how do i install it now?
edit… Have they removed some key?

edit: Svens brilliant posts helped me. Use this one instead.

You are missing the key. Either download the key in a disposable and copy it into the template or run this command in the template:

curl --proxy http://127.0.0.1:8082/ -O https://updates.signal.org/desktop/apt/keys.asc

Now you have the actual keys.asc file. If you want you can then verify it:

gpg --import keys.asc
gpg --edit-key D980A17457F6FB06

In there then type fpr and you should see this fingerprint:

Primary key fingerprint: DBA3 6B51 81D0 C816 F630 E889 D980 A174 57F6 FB06

You can exit with quit. Arguably, if you don’t check the fingerprint there isn’t much use to the keys. Here is a website that mentions the key. You can also do your own search on the internet to verify/compare the fingerprint.

In any case after you are satisfied that you have the correct key:

sudo apt-key add keys.asc

Now you added the key. This time when you do sudo apt update it should fetch everything without an error. If so, then finally sudo apt install signal-desktop.

Good luck!

1 Like

Ok, that’s what i did wrong. Yeah your other post helped me out also. But this is good to know.
Great posts! Thanks for your quality posts on this forum sven! Peace :peace_symbol: out :slight_smile:

I just gave it a try, xfce4-notifyd pulled the missing dependencies:

The following NEW packages will be installed:
  adwaita-icon-theme at-spi2-core glib-networking glib-networking-common glib-networking-services gsettings-desktop-schemas
  gtk-update-icon-cache libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3
  libcolord2 libcups2 libgtk-3-0 libgtk-3-bin libgtk-3-common libjson-glib-1.0-0 libjson-glib-1.0-common libnotify-bin libproxy1v5
  librest-0.7-0 librsvg2-common libsoup-gnome2.4-1 libsoup2.4-1 libstartup-notification0 libwayland-cursor0 libwayland-egl1 libxcb-util1
  libxfce4panel-2.0-4 libxfce4ui-2-0 libxfce4ui-common libxfce4util-bin libxfce4util-common libxfce4util7 libxfconf-0-3 libxkbcommon0
  xfce4-notifyd xfconf

The signal doc on qubes-community uses the “full” debian 11 template where those deps are most likely already installed ; If it’s OK for you I’ll add a section for the minimal template with a copy/paste of your reply

Excellent idea and thank you for doing it!

Please you and everyone else feel free to simply take anything I post here and use it in any way you see fit. Especially if it helps the community.

2 Likes

n.t.s:

# Get public software signing key:
$ wget -O - https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg

# Install it:
$ sudo cp signal-desktop-keyring.gpg /etc/apt/keyrings/

# Update its permissions:
$ sudo chmod 644 /etc/apt/keyrings/signal-desktop-keyring.gpg

# Add repository to list of repositories:
$ echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list

# Update package database and install Signal
$ sudo apt update
$ sudo apt install signal-desktop

This is driving me quite mad… I can’t seem to install signal AGAIN!!! Hmm. How do i install this on Qubes? Please write now if you know, have the time and knowledge… Otherwise i will have to get back to this at a later time… But i need to install signal now…
This is extremely annoying that i rarely seem to be able to install signal on Qubes… are there some howto guide out there? Or could someone please help me out with a step-by-step command guide?
Im trying to install it in debian 11 tempate… HOW??? The last steps don’t seem to work, or if i did it wron the first time… Thanks

edit: I get this annoying message… I need to remove librewolf also…
udo apt update
Hit:1 Index of /debian bullseye InRelease
Hit:2 Index of /r4.1/vm/ bullseye InRelease
Get:3 https://deb.librewolf.net bullseye InRelease [25.2 kB]
Hit:4 Index of /debian-security bullseye-security InRelease
Err:3 https://deb.librewolf.net bullseye InRelease
The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D29FBD5F93C0CFC3
Reading package lists… Done
W: GPG error: https://deb.librewolf.net bullseye InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY D29FBD5F93C0CFC3
E: The repository ‘https://deb.librewolf.net bullseye InRelease’ is not signed.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Some tips? I eventually fixed these errors in the past. But i don’t have the patience after every new install and when trying to set up my system you know… I like when i set up my qubes system and when stuff works but its a “nightmare” sometime for me as a “newbie” in unix … My patience… Anyways… Trying to install Signal. And librewolf… Might need the unofficial guide fr that other one. Trying to have patience here, but its some small commands, i forgot… A step-by-step updated signal guide would be cool… That works right now. Thanks

Taking notes for each specific setup is the best advice. Otherwise, it’ll happen again and again, like it did to me until did this.

Since the last response was overflowing with “helpful” wisdom from the local genius, try this; I hope it will get you on your way.


TL;DR:


Here are commands that will install Signal Desktop in a template which has been derived from the debian-11-minimal template:

(root level permissions are necessary for most of the commands thus, execute from a root shell ( # prompt not $ ) or, should the system in question support the sudo command, append where required)

#!/bin/bash
# 0. Install requirements
cd /tmp
apt install wget -y

# 1. Verify & install official public software signing key
export https_proxy=127.0.0.1:8082
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --with-colons --import-options show-only --import --fingerprint | grep pub
read -p "Accept? (Y/n) " approve; approve=${approve:-Y}; if [[ "$approve" != [Yy] ]]; then exit; fi
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
cat signal-desktop-keyring.gpg | tee -a /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null

# 2. Add our repository to your list of repositories
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | tee -a /etc/apt/sources.list.d/signal-xenial.list

# 3. Update your package database and install signal
apt update && apt install signal-desktop -y

# 4. Remove requirements
apt remove wget -y
apt autoremove

Extra:

To avoid typing/mistyping the commands in the console manually, one can:

  • Save the commands to a file on a qube that supports “Copy to other AppVM”
    • example: install_signal.sh
  • Right-click file and, “Copy to other AppVM”
    • Enter awesome-signal-template as the target
  • Select awesome-signal-template and, “Open console in qube”
    • Login as root user
  • Enter the following string of commands:
mv /home/user/QubesIncoming/*/install_signal.sh /tmp; cd /tmp; rm -rf /home/user/QubesIncoming; bash install_signal.sh

Detailed walk-through:


  1. Open Qubes manager

  2. Locate & select debian-11-minimal template

  3. Clone debian-11-minimal to something like awesome-signal-template or, any other name that suits you

    1. “Clone qube” function can be found within the “Qubes” menu item or by right-clicking on the qube (debian-11-minimal in this case)
  4. Locate & select your new awesome-signal-template

  5. Update awesome-signal-template

    1. “Update” function can be found via the “Update” button or by right-clicking on the qube (awesome-signal-template in this case)

    2. Either option ought launch a new console window titled:

      [awesome-signal-template] update

  6. When the update is complete, there ought be a prompt within the update console shell which says:

    Press Enter to shutdown the template, or Ctrl-C to just close this window

    Press Ctrl-C as, we do not want to shutdown just yet

  7. Back in Qubes manager, locate & select awesome-signal-template & “Open console in qube”

    1. “Open console in qube” function can be found via the “Open console in qube” button or by right-clicking on the qube (awesome-signal-template)
  8. Enter the commands mentioned above

  9. Poweroff/Shutdown awesome-signal-template

  10. Create AppVM and/or associated DispVM based on awesome-signal-template


3 Likes

It is indeed great when users are inspired and motivated to contribute to the community. I am especially honored whenever I was the inspiration.