Fedora: Wie man Skype per SNAP installiert

Weil Microsoft den Support via RPM eingestellt hat, müssen wir uns heute leider mit der Installation von Skype via SNAP befassen, kein sehr angenehmes Thema. Der Ein oder Andere würde jetzt kontern: Was ist Skype? … Brauche ich zum telefonieren, obwohl ich im Abnabelprozess bin 😉

Fedora: Wie man Skype per SNAP installiert

Ohne das Thema mit den Unzulänglichkeiten von SNAP in die Länge zuziehen, hier die Anweisungen:

$ sudo -i
$ dnf install snapd
$ systemctl enable –now snapd

das sieht dann so aus:

[linuxamdienstag@fedora ~]$ sudo -i
[sudo] Passwort für linuxamdienstag:
[root@fedora ~]# dnf install snapd
Aktualisiere und lade Paketquellen:
Paketquellen geladen.
Paket Architektur Version Paketquelle Größe
Installiere:
snapd x86_64 2.67-0.fc41 updates 54.9 MiB
Abhängigkeiten werden installiert:
snap-confine x86_64 2.67-0.fc41 updates 10.6 MiB
snapd-selinux noarch 2.67-0.fc41 updates 44.4 KiB
xdelta x86_64 3.1.0-19.fc41 fedora 189.8 KiB

Transaktionszusammenfasung:
Installiere: 4 Pakete

Die vollständige Größe eingehender Pakete ist 20 MiB. Heruntergeladen werden müssen 20 MiB.
Nach dieser Operation werden 66 MiB mehr benötigt (installiere 66 MiB, entferne 0 B).
Is this ok [y/N]: j
Is this ok [y/N]: y
[1/4] snapd-selinux-0:2.67-0.fc41.noarch 100% | 584.7 KiB/s | 82.4 KiB | 00m00s
[2/4] snap-confine-0:2.67-0.fc41.x86_64 100% | 7.3 MiB/s | 2.9 MiB | 00m00s
[3/4] xdelta-0:3.1.0-19.fc41.x86_64 100% | 320.1 KiB/s | 90.6 KiB | 00m00s
[4/4] snapd-0:2.67-0.fc41.x86_64 100% | 14.6 MiB/s | 17.2 MiB | 00m01s
———————————————————————————————————————————————————————————————————————————————-
[4/4] Total 100% | 12.3 MiB/s | 20.3 MiB | 00m02s
Transaktion wird ausgeführt
[1/6] Verifiziere Paket Dateien 100% | 75.0 B/s | 4.0 B | 00m00s
[2/6] Transaktion vorbereiten 100% | 5.0 B/s | 4.0 B | 00m01s
[3/6] Installiere xdelta-0:3.1.0-19.fc41.x86_64 100% | 2.9 MiB/s | 191.3 KiB | 00m00s
[4/6] Installiere snapd-selinux-0:2.67-0.fc41.noarch 100% | 3.9 KiB/s | 45.4 KiB | 00m12s
[5/6] Installiere snap-confine-0:2.67-0.fc41.x86_64 100% | 170.3 MiB/s | 10.6 MiB | 00m00s
[6/6] Installiere snapd-0:2.67-0.fc41.x86_64 100% | 24.9 MiB/s | 54.9 MiB | 00m02s
>>> Führe post-install scriptlet aus: snapd-0:2.67-0.fc41.x86_64
>>> Fertiggestellt post-install scriptlet: snapd-0:2.67-0.fc41.x86_64
>>> Scriptlet Ausgabe:
>>> Created symlink ‚/etc/systemd/system/sockets.target.wants/snapd.socket‘ → ‚/usr/lib/systemd/system/snapd.socket‘.
>>> Created symlink ‚/etc/systemd/user/sockets.target.wants/snapd.session-agent.socket‘ → ‚/usr/lib/systemd/user/snapd.session-agent.socket‘.
>>>
Abgeschlossen!
[root@fedora ~]# systemctl enable –now snapd
Created symlink ‚/etc/systemd/system/multi-user.target.wants/snapd.service‘ → ‚/usr/lib/systemd/system/snapd.service‘.
[root@fedora ~]#

Jetzt müssen wir Skype installieren

Das ist genauso einfach:

$ snap install skype
2025-02-06T09:45:10+01:00 INFO Waiting for automatic snapd restart…
skype 8.136.0.203 from Skype✓ installed

Jetzt haben wir Skype drauf, nun brauchen wir als User nur noch Skype bei jedem Start per Hand in der Konsole starten, weil Snaps leider der totale Scheiß sind!

[linuxamdienstag@fedora ~]$ snap run skype

Die gestartete Skype UI und eine Menge an Fehlermeldungen vom Start. Nicht so wichtig.

Wie integriert man das jetzt richtig?

Ihr kopiert diesen Block in eine Datei: /usr/share/applications/skypeforlinux.desktop

[Desktop Entry]
Name=Skype for Linux
Comment=Skype Internet Telephony
Exec=/usr/bin/snap run skype
Icon=skypeforlinux
Terminal=false
Type=Application
StartupNotify=false
X-GNOME-Autostart-enabled=true

jetzt habt Ihr einen Eintrag im Anwendungsmenü, den Ihr starten könnt und via Startprogramme auch in den Autostart vom Desktop bekommt.

Wieso sind Snaps jetzt scheiße?

Auch wenn die Installation ganz leicht war, wäre da zum einen der Punkt mit der mangelnden Desktopdatei und zum anderen das hier:

[marius@eve ~]$ df -h
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf

/dev/loop0 128K 128K 0 100% /var/lib/snapd/snap/bare/5
/dev/loop1 56M 56M 0 100% /var/lib/snapd/snap/core18/2846
/dev/loop4 92M 92M 0 100% /var/lib/snapd/snap/gtk-common-themes/1535
/dev/loop5 182M 182M 0 100% /var/lib/snapd/snap/skype/380
/dev/loop6 45M 45M 0 100% /var/lib/snapd/snap/snapd/23545
/dev/loop2 165M 165M 0 100% /var/lib/snapd/snap/gnome-3-28-1804/198
/dev/loop3 182M 182M 0 100% /var/lib/snapd/snap/skype/378

Für jedes Paket das Snap als Abhängigkeit installiert, legt es einen Mountpoint an. d.h. habt Ihr 50 davon, habt Ihr auch 50 Mounts in der Liste.

Was könnte da wohl jetzt das Problem sein?

„Warnung: Das Laufwerk /var/lib/snapd/snap/bare/5 ist zu 100% voll.“
„Warnung: Das Laufwerk /var/lib/snapd/snap/core18/2846 ist zu 100% voll.“

usw.. jede Minute.. weil die Software, die die Laufwerke überwacht und einen warnt, so daß man keine Datenverluste hat wenn eine Platte vollläuft, jede Minute eine Audiowarnung für jedes volle Laufwerk von sich gibt.  JEDES!

Weil das öffentliche Mounts sind, tauchen die auch im Dateimanager auf. Völlig sinn- und zweckfrei versteht sich. Klar, man könnte sich ansehen was drin ist, aber das kann ich bei Flatpaks auch, ohne das es mir ständig unter die Benutzernase gerieben wird!

Wieso mountet man seine Pakete, die alle Schreibgeschützt sind und keinen jucken, überhaupt global ein? Ich kann es Euch nicht sagen. Flatpaks sieht man nicht im System als Laufwerke.

Also Ihr Vers**** bei Canonical, bekommt den Scheiß in den Griff und zwar Pronto!

Ich hab mußte Drittherstellersoftware anpassen, nur weil Ihr so einen Blödsinn veranstaltet!

Wie deinstalliert man das alles wieder?

[root@fedora ~]# rm -f /usr/share/applications/skypeforlinux.desktop
[root@fedora ~]# snap remove skype
skype removed
[root@fedora ~]# systemctl stop snapd
Stopping ’snapd.service‘, but its triggering units are still active:
snapd.socket
[root@fedora ~]# dnf remove snapd
Paket Architektur Version Paketquelle Größe
Wird entfernt:
snapd x86_64 2.67-0.fc41 updates 54.9 MiB
Nicht benötigte Abhängigkeiten werden entfernt:
snap-confine x86_64 2.67-0.fc41 updates 10.6 MiB
snapd-selinux noarch 2.67-0.fc41 updates 44.4 KiB
xdelta x86_64 3.1.0-19.fc41 fedora 189.8 KiB

Transaktionszusammenfasung:
Entferne: 4 Pakete

Nach dieser Operation werden 66 MiB frei (installiere 0 B, entferne 66 MiB).
Is this ok [y/N]: y
Transaktion wird ausgeführt
[1/5] Transaktion vorbereiten 100% [==================] | 1.0 B/s | 4.0 B | 00m00s
>>> Führe pre-uninstall scriptlet aus: snapd-0:2.67-0.fc41.x86_64
>>> Fertiggestellt pre-uninstall scriptlet: snapd-0:2.67-0.fc41.x86_64
>>> Scriptlet Ausgabe:
>>> Removed ‚/etc/systemd/system/multi-user.target.wants/snapd.service‘.
>>> Removed ‚/etc/systemd/system/sockets.target.wants/snapd.socket‘.
>>> Removed ‚/etc/systemd/user/sockets.target.wants/snapd.session-agent.socket‘.
>>> Stopping var-lib-snapd-snap-bare-5.mount
>>> Stopping unit var-lib-snapd-snap-bare-5.mount
>>> Warning: The unit file, source configuration file or drop-ins of var-lib-snapd-snap-bare-5.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Waiting until unit var-lib-snapd-snap-bare-5.mount is stopped [attempt 1]
>>> var-lib-snapd-snap-bare-5.mount is stopped.
>>> Removing snap bare
>>> Removing var-lib-snapd-snap-bare-5.mount
>>> Stopping var-lib-snapd-snap-core18-2846.mount
[1/5] Transaktion vorbereiten 100% | 1.0 B/s | 4.0 B | 00m03s
>>> Führe pre-uninstall scriptlet aus: snapd-0:2.67-0.fc41.x86_64 of var-lib-snapd-snap-core18-2846.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Fertiggestellt pre-uninstall scriptlet: snapd-0:2.67-0.fc41.x86_64 [attempt 1]
>>> Scriptlet Ausgabe:-core18-2846.mount is stopped.
>>> Removed ‚/etc/systemd/system/multi-user.target.wants/snapd.service‘.
>>> Removed ‚/etc/systemd/system/sockets.target.wants/snapd.socket‘.
>>> Removed ‚/etc/systemd/user/sockets.target.wants/snapd.session-agent.socket‘.
>>> Stopping var-lib-snapd-snap-bare-5.mount2d3\x2d28\x2d1804-198.mount
>>> Stopping unit var-lib-snapd-snap-bare-5.mountfile or drop-ins of var-lib-snapd-snap-gnome\x2d3\x2d28\x2d1804-198.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Warning: The unit file, source configuration file or drop-ins of var-lib-snapd-snap-bare-5.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Waiting until unit var-lib-snapd-snap-bare-5.mount is stopped [attempt 1]
>>> var-lib-snapd-snap-bare-5.mount is stopped.
>>> Removing snap barenapd-snap-gnome\x2d3\x2d28\x2d1804-198.mount
>>> Removing var-lib-snapd-snap-bare-5.mountn\x2dthemes-1535.mount
>>> Stopping var-lib-snapd-snap-core18-2846.mountn\x2dthemes-1535.mount
>>> Stopping unit var-lib-snapd-snap-core18-2846.mountor drop-ins of var-lib-snapd-snap-gtk\x2dcommon\x2dthemes-1535.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Warning: The unit file, source configuration file or drop-ins of var-lib-snapd-snap-core18-2846.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Waiting until unit var-lib-snapd-snap-core18-2846.mount is stopped [attempt 1]
>>> var-lib-snapd-snap-core18-2846.mount is stopped.
>>> Removing snap core18pd-snap-gtk\x2dcommon\x2dthemes-1535.mount
>>> Removing var-lib-snapd-snap-core18-2846.mount
>>> Stopping var-lib-snapd-snap-gnome\x2d3\x2d28\x2d1804-198.mount
>>> Stopping unit var-lib-snapd-snap-gnome\x2d3\x2d28\x2d1804-198.mountr-lib-snapd-snap-snapd-23545.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Warning: The unit file, source configuration file or drop-ins of var-lib-snapd-snap-gnome\x2d3\x2d28\x2d1804-198.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Waiting until unit var-lib-snapd-snap-gnome\x2d3\x2d28\x2d1804-198.mount is stopped [attempt 1]
>>> var-lib-snapd-snap-gnome\x2d3\x2d28\x2d1804-198.mount is stopped.
>>> Removing snap gnome-3-28-1804napd-23545.mount
>>> Removing var-lib-snapd-snap-gnome\x2d3\x2d28\x2d1804-198.mount
>>> Stopping var-lib-snapd-snap-gtk\x2dcommon\x2dthemes-1535.mountt 1]
>>> Stopping unit var-lib-snapd-snap-gtk\x2dcommon\x2dthemes-1535.mount
>>> Warning: The unit file, source configuration file or drop-ins of var-lib-snapd-snap-gtk\x2dcommon\x2dthemes-1535.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Waiting until unit var-lib-snapd-snap-gtk\x2dcommon\x2dthemes-1535.mount is stopped [attempt 1]
>>> var-lib-snapd-snap-gtk\x2dcommon\x2dthemes-1535.mount is stopped.
>>> Removing snap gtk-common-themesrvice
>>> Removing var-lib-snapd-snap-gtk\x2dcommon\x2dthemes-1535.mountvice not loaded.
>>> Stopping var-lib-snapd-snap-snapd-23545.mountstopped [attempt 1]
>>> Stopping unit var-lib-snapd-snap-snapd-23545.mount
>>> Warning: The unit file, source configuration file or drop-ins of var-lib-snapd-snap-snapd-23545.mount changed on disk. Run ’systemctl daemon-reload‘ to reload units.
>>> Waiting until unit var-lib-snapd-snap-snapd-23545.mount is stopped [attempt 1]
>>> var-lib-snapd-snap-snapd-23545.mount is stopped.
>>> Removing snap snapd.mounts-pre.target
>>> Removing var-lib-snapd-snap-snapd-23545.mount stopped [attempt 1]
>>> Stopping unit snapd.autoimport.service
>>> Waiting until unit snapd.autoimport.service is stopped [attempt 1]
>>> snapd.autoimport.service is stopped.
>>> Stopping unit snapd.seeded.serviceapd to helper tools
>>> Waiting until unit snapd.seeded.service is stopped [attempt 1]
>>> snapd.seeded.service is stopped.ate data
>>> Stopping unit snapd.apparmor.service
>>> Failed to stop snapd.apparmor.service: Unit snapd.apparmor.service not loaded.
>>> Waiting until unit snapd.apparmor.service is stopped [attempt 1]
>>> snapd.apparmor.service is stopped.
>>> Stopping unit snapd.mounts.target
>>> Waiting until unit snapd.mounts.target is stopped [attempt 1]
>>> snapd.mounts.target is stopped.
>>> Stopping unit snapd.mounts-pre.target
>>> Waiting until unit snapd.mounts-pre.target is stopped [attempt 1]
>>> snapd.mounts-pre.target is stopped.
>>> Discarding preserved snap namespaces
>>> Removing downloaded snaps
>>> Removing features exported from snapd to helper tools
>>> Final directory cleanup
>>> Removing leftover snap shared state data
>>> Removing snapd catalog cache
>>>
[2/5] Entferne snapd-0:2.67-0.fc41.x86_64 100% | 1.1 KiB/s | 91.0 B | 00m00s
>>> [RPM] Datei /var/snap: remove failed: Datei oder Verzeichnis nicht gefunden
>>> [RPM] Datei /var/lib/snapd/snap: remove failed: Datei oder Verzeichnis nicht gefunden
[3/5] Entferne snapd-selinux-0:2.67-0.fc41.noarch 100% | 0.0 B/s | 6.0 B | 00m11s
[4/5] Entferne snap-confine-0:2.67-0.fc41.x86_64 100% | 1.2 KiB/s | 33.0 B | 00m00s
[5/5] Entferne xdelta-0:3.1.0-19.fc41.x86_64 100% | 7.0 B/s | 10.0 B | 00m01s
Abgeschlossen!

Jetzt dürft Ihr noch alle SNAP Ordner in allen Homeverzeichnissen löschen, von Benutzern, die Skype gestartet haben und auch noch die snapd Restbestände löschen:

[root@fedora ~]# rm -rf /var/lib/snapd /home/*/snap

Und komme mir nie wieder jemand mit „Snaps wären geil“ .. waren sie nie und werden sie nie sein! Eine Ahnung was Microsoft da geritten hat.

PVA: Carola hat Ihr eigenes Repo bekommen

Ein wichtiger Schritt für unseren kleinen PVA, ein irrelevanter Schritt für die Menschheit 😉

PVA: Carola hat Ihr eigenes Repo bekommen

So Fedora-Freunde, ihr könnt jetzt PVA direkt installieren, sofern ihr mir vertraut, versteht sich 😉

Schreibt das hier mal in /etc/yum.repos.d/pva :

[pva]
name=PVA $releasever – $basearch
baseurl=http://repo.linux-am-dienstag.de:80/$basearch/fedora/$releasever/
enabled=1
metadata_expire=1d
#repo_gpgcheck=1
type=rpm
gpgcheck=1
gpgkey=http://repo.linux-am-dienstag.de:80/RPM-GPG-KEY-fedora-$releasever-$basearch

Dann macht:

dnf –repo=pva makecache
dnf install pva-base pva-vosk-model-de-small

und der PVA samt Sprachmodell installiert sich bei Euch \o/ .

Wie tauscht Ihr das Modell aus?

Ihr besucht diese Seite https://alphacephei.com/vosk/models und ladet die passende ZIP Datei runter. Die wird dann im /usr/share/pva ausgepackt und mit

rm -f model; ln -s vosk-model-de-0.21 model

verlinkt Ihr das aktuelle Model. technisch braucht man das nicht machen, weil mit dem Small RPM kommt eine passende Konfigdatei mit, die dem PVA das alles passend erklären sollte.

Wenn da was nicht passen sollte, schickt mir einfach eine Email mit dem Problem zu, oder schreibt es in die Kommentare.

Pinephone: Wie man Fedora installiert

Da sich Andreas eine Anleitung auf Deutsch gewünscht hat, machen wir das einfach mal.

Pinephone: Wie man Fedora installiert

Das ist eigentlich ganz einfach, wir brauchen:

1x SD-Kartenleser
1x „Gnome-Disks“ zu Deutsch „Laufwerke“ oder für die Konsole „dd“
1x Fedora Image

Das Image bekommt man hier:

https://github.com/nikhiljha/pp-fedora-sdsetup/releases/tag/v0.4.0

Es gibt zwar neuere Images, aber das ist ist meine aktuelle Basis im Pinephone, die funktioniert und ist mit einem DNF-Update auf meinem Softwarestand. Die ganzen Tricks die ich anwende sind da noch nicht dabei.

Wie findet man das passende Device für den SD-Kartenleser?

Für Anfänger: seht im Laufwerketool nach!
Für Konsolenfans: cat /proc/partitions am einfachsten vor und nach dem Einstöpseln des Lesers vergleichen!

Die Installation

Erst einmal in der Konsole:

  • Imagedatei entpacken: xz -d filename.tar.xz;tar xf filename.tar
    Hinweis: das nimmt schnell mal viel Platz weg
  • SD-Karte in den Leser stecken und schauen welches Device der Leser hat! Wer da nicht drauf achtet, der könnte sich sein System unrettbar überschreiben. Deswegen empfehle ich da eher das Laufwerketool zu benutzen, das warnt einen eindringlich:
    dd if=fedora.img of=/dev/<YOUR_SD_CARD>
  • Nun müssen wir noch die letzte Partition so vergrößern, so das Sie die ganze SD-Karte füllt. Es empfiehlt sich „parted“ und/oder „gparted“ zu installieren und es ggf. grafisch zu tun. Nun geht Ihr genau das hier ein und ersetzt dabei nur Euer Device an der richtigen Stelle:
    • sudo parted /dev/<your_sd_card_device>
    • (parted) resizepart 2 100%
    • (parted) quit
    • sudo resize.f2fs /dev/<the_second_sd_card_PARTITION>

Das war es schon. Die letzte SD-Karten-Partition ist die mit der höchsten Nummer! Die sieht man aber in /proc/partitions erst, wenn das Image geschrieben und die Partitionstabelle synchronisiert wurde.

Jetzt die Karte in das Pinephone stecken und Booten.

Login als „pine“ mit „123456“. Job Nummer 1 ist das Passwort wechseln. Erst danach loggt man sich ins WLAN ein!

Entweder Ihr loggt Euch per SSH von außen ein, oder macht ein Terminal auf. Nicht Verzagen „Kings Cross“ ist das gesuchte Programm. Nicht fragen, ist längst raus geflogen, weil Gnome-Terminal problemlos funktioniert.

Root werden: „sudo su“  + Eurer neues Passwort

Das Masterupdate: „dnf -y update“. Dann gleich Rebooten und soweit ausgestanden 😉

Die grafische Installation

Weil das Schreiben des Images auf USB genauso funktioniert wie das Schreiben auf eine SD-Karte:

Linux – ISO Image brennen

 

Einfach dort nachlesen. Wenn Ihr fertig seid ohne Eure Systemfestplatte gekillt zu haben, startet Ihr GParted, wählt die SD-Karte aus, klickt auf die letzte Partition weist Gparted an, diese Partition zu vergrößern ( rechter Mausklick ). Befehl abnicken, warten, fertig.

Ich empfehle

Danach den „maxbattery“ Tweak, den „ModemManager“ Tweak, das Flashlight und SuspendGuardian zu installieren. Fast alles hier zu finden:  https://github.com/Cyborgscode/pinephone

Fedora erobert das Pinephone

Die Autoscreenrotation braucht Ihr nicht mehr, die ist in Phosh jetzt funktional.

Der ModemManager-Tweak hat es noch nicht auf die Seite geschafft

Legt eine Datei namens: /etc/systemd/system/ModemManager.service an und schreibt das hier rein:

[Unit]
Description=Modem Manager
After=
Requires=

[Service]
Type=dbus
BusName=org.freedesktop.ModemManager1
ExecStart=/usr/sbin/ModemManager –test-no-suspend-resume
StandardError=null
Restart=on-abort
CapabilityBoundingSet=CAP_SYS_ADMIN
ProtectSystem=true
ProtectHome=true
PrivateTmp=true
RestrictAddressFamilies=AF_NETLINK AF_UNIX
NoNewPrivileges=true
User=root

[Install]
WantedBy=multi-user.target
Alias=dbus-org.freedesktop.ModemManager1.service

danach „systemctl daemon-restart“ „systemctl restart ModemManager“ . Fertig. Jetzt bleibt das Modem im Pinephone im System-Suspend in Betrieb und Ihr könnt angerufen werden 😉 SIM Karte vorausgesetzt.

PS: GPS geht auch nur mit SIM-Karte, weil ohne gehts Modem gar nicht.