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

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.

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

When users like myself see posts that don’t improve the conversation go unmoderated despite being flagged as such, the only inspiration and/or motivation to be had is to stop contributing.

Offtopic

I am happy I invoked the content of your posts to be more helpful to the community. That is what matters.

For completeness sake, here’s some additional bash to help install LibreWolf:

#!/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://deb.librewolf.net/keyring.gpg | 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://deb.librewolf.net/keyring.gpg | gpg --dearmor -o /usr/share/keyrings/librewolf.gpg

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

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

# 4. Remove requirements
apt remove wget -y
apt autoremove -y
2 Likes
Offtopic

If genuinely concerned with the community, please focus on serving said community and Don’t post no-content replies

When installing in debian-11-minimal, most probably the OP would want to consider using --no-install-recommends flag when using apt install.
I’ve seen some installs reduced up to 60% by using it.