Ubuntu: Installation von Skype

Nach wie vor ist die Installation von Skype unter Linux nicht trivial, da es Microsoft natürlich nicht für nötig hält, überhaupt eine Linux-Version seiner beliebten Software bereitzustellen, die man einfach so z.B. über Synaptic installieren könnte. Man muss also den Umweg über Fremdquellen gehen, was wiederum auch etwas aufwändiger ist als einfach ein PPA zu benutzen. Hier ist beschrieben, wie es geht, ich habe es eben unter Xubuntu 20.04 ausprobiert. Das Paket heißt skypeforlinux.

Im Kern macht man also folgendes:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add -

# make sure you have 'apt-transport-https' installed
dpkg -s apt-transport-https > /dev/null || bash -c "sudo apt-get update; sudo apt-get install apt-transport-https -y"

echo "deb [arch=amd64] https://repo.skype.com/deb stable main" | sudo tee /etc/apt/sources.list.d/skypeforlinux.list

sudo apt-get update

sudo apt-get install skypeforlinux -y 

Achtung, die Zeilen sind länger als die Breite des Bildschirms!

Linux: Zugriff auf Windows-10-Freigaben

Jahrelang habe ich mit meinem Linux Rechner mit Xubuntu 20 auf einige wenige freigegebene Ordner eines PC mit Windows 10 zugegriffen. Bequem konnte ich im Filemanager Thunar auf „Netzwerk durchsuchen“ gehen, habe dann „Workgroup“ gefunden und darin die Freigaben von Windows. Nach dem Doppelklick stand in der Adresszeile

smb://192.168.178.1/<freigabename>

Vor kurzem ging das plötzlich nicht mehr. Ich wusste, dass es gerade ein recht großes Update gegeben hatte. Da ich es gewohnt war, dass sich früher bei Windows manchmal nach Updates die Einstellungen der Firewall geändert hatten und die Zugriffe von außen plötzlich gesperrt waren, kontrollierte ich erstmal das – ohne Erfolg. Windows ist nun nicht „mein“ Fachgebiet, also konsultierte ich einen Freund und der wusste sofort, was Sache war.

Die letzten großen Updates von Windows 10 hießen 20H2 und 21H1. Eins von beiden, vermutlich das letztere, habe den Zugriff auf Freigaben über das SMB-Protokoll aus Sicherheitsgründen aus Windows entfernt.

Meine Suchen ergaben, dass es zwar möglich sei, diesen Teil des Protokolls wieder zu installieren, aber das sei recht umständlich und bringe die gerade entfernte Unsicherheit natürlich wieder mit. Das war nun nicht gerade mein Ziel. Weitere Recherchen im Usenet brachten den Tip, stattdessen die entfernten Verzeichnisse als CIFS-Laufwerk zu mounten. Das basiert zwar auch auf SMB(2), realisiert den Zugriff aber transparent als virtuelles Filesystem.

Ich habe das hier beschriebene realisiert und zeige hier lediglich die Kurzfassung als Überblick. Das in Ubuntu nötige Paket cifs.utils ist vermutlich standardmäßig vorhanden, könnte aber leicht nachinstalliert werden:

sudo apt-get install cifs-utils 

Zunächst erstellt man ein für den User zugängliches Verzeichnis als Mountpoint, vielleicht so:

mkdir ~/Windows

Voraussetzung für das Weitere ist, dass es in Windows einen bekannten User gibt. Entweder greift man als der sowieso angemeldete einzige User zu oder man hat sich dort einen eigenen User eingerichtet, was ich als eleganter empfinde. Ich benutze die Verbindung selten und nur zum abgesprochenen Austausch diverser Files; zudem läuft Windows nicht immer und ein automatisches Mounten beim Hochfahren von Linux ist nicht sinnvoll. Deswegen habe ich mir lediglich zwei Starter auf dem Desktop erstellt, einen zum Mounten, den anderen zu Aushängen (den man eigentlich nicht zwingend braucht – weg ist weg!). Zunächst habe ich ein paar Zeile einschließlich Kommentar in die /etc/fstab geschrieben, die das „Laufwerk“ zwar nicht mounted, aber alle Parameter enthält und nicht unbefugt benutzt werden kann:

# auf WIN-PC freigegebenes Verzeichnis linux einbinden:
# =========================================================
//192.168.178.2/linux /home/rollo/Windows cifs username=...,password=...,user,noauto,rw,_netdev 0 0
# user sorgt dafür, dass ohne sudo gemounted werden kann und ~/Windows mir gehört
# mount: mount /home/rollo/Windows
# umount: umount ~/Windows
# _netdev ignoriert die Zeile, wenn kein Netzwerk da ist

Danach habe ich zwei Starter auf dem Desktop erzeugt, die die oben genannten Kommandozeilen enthalten und wegen dem Parameter „user“ ohne sudo aufrufbar sind. Daneben noch eine Verlinkung auf den Mountpoint ~/Windows und fertig. Hier die beiden Starter – wie man sieht ohne sudo:

mount /home/rollo/Windows
umount /home/rollo/Windows

Natürlich ließe sich das Ganze noch ausbauen durch einen Mechanismus zum automatischen Verbinden, sobald Windows beim Booten schon da ist oder später dazukommt. Da es aber keinen einfachen und sicheren Mechanismus zum automatischen Aushängen gibt, lasse ich das.

Fernwartung mit AnyDesk

Bislang habe ich die gelegentliche Fernwartung auf Rechnern bei Kunden über den beliebten TeamViewer durchgeführt. Kürzlich wurde die Lockerung des Nutzungskonzepts allerdings aufgehoben, die mir bisher den privaten und damit kostenlosen Status ermöglicht hatte.

Deswegen bin ich nun zu AnyDesk gewechselt. AnyDesk funktioniert in der Basisversion recht ähnlich und ermöglicht es mir, kleine Hilfestellungen zu leisten und Bedienhandlungen zu zeigen – mehr will ich gar nicht.

AnyDesk gibt es für alle gängigen Betriebssysteme zum kostenlosen Download. Im Fall von Linux, für das es ebenfalls für diverse Systeme verfügbar ist, wird auf der Download-Seite sehr gut die Installation dokumentiert. Achtung: Für den Ungeübten fehlt leider der Hinweis. dass alle Schritte als ROOT zu machen sind, also durch vorangestelltes sudo oder besser in einem als ROOT gestarteten Terminal.

Hinweis nur für Linux:

Unter Linux (hier Xubuntu 20) wird AnyDesk beim Booten als Dienst gestartet. Für meinen nur gelegentlichen Einsatz möchte ich das nicht. Wie folgt kann man das als root beeinflussen:

systemctl disable anydesk.service (als automatischen Dienst ausschalten)
systemctl start | stop anydesk (manuell starten/stoppen)
systemctl status anydesk (Status anzeigen)

(Quelle: askubuntu.com/questions/1305405/how-to-disable-anydesk-autostart-in-ubuntu)

Firefox: userChrome.css wirken lassen

Irgendwann hatte ich das Problem, dass ich in der Datei userChrome.css (je nach Betriebssystem in verschiedenen Pfaden zu finden!) Änderungen machen konnte, wie ich wollte – und nichts wurde wirksam. Bis ich die entscheidende Einstellung fand:

Nach about:config habe ich den Schlüssel

toolkit.legacyUserProfileCustomizations.stylesheets

gesucht. Ich glaube, ich musste ihn sogar erst als boolean anlegen. Dem verpasste ich den Wert true und nach dem nächsten Neustart (!) waren meine Einstellungen in den user*.css-Files wirksam.

Thunderbird im Tray

Dieser Beitrag sei eine Ergänzung zu den alten Beiträgen Thunderbird 60: Ersatz für FireTray und Thunderbird 60+: funktionierendes Addon FireTray hier auf meiner Website.

Früher gab es die Erweiterung „FireTray“, mit der man den Thunderbird so schließen konnte, dass er als Tray-Icon sichtbar blieb und im Hintergrund weiter auf Empfang war. Nach der Version 60 von TB funktionierten viele AddOns nicht mehr, da die Schnittstelle geändert worden war. Für Linux wurde das AddOn „BirdTray“ erfunden, das ähnlich arbeitet, mir persönlich aber in der Bedienung nicht so gut gefällt. Ich benutze es trotzdem, da es für Linux keine andere Lösung gibt.

Nur für Windows wurde inzwischen die Erweiterung „ThunderBirdTray“ entwickelt. Hier könnt ihr den Beitrag der Zeitschrift Chip dazu lesen, wo man das AddOn auch herunterladen kann.

Xfce4: Weather Plugin zeigt keine Daten mehr

Seit dem letzter Woche zeigte das Wetter-Plugin im Panel keine Daten mehr. Mist, so wusste ich nicht ob ich ohne Mütze rausgehen konnte… Im Ernst: Das ist zwar nur ein Goodie in Xfce, zumal ich das Wetter ja auch vom Smartphone bekomme und sogar zum Fenster raus gucken kann, aber hübsch ist es schon. Und es stört, wenn es nicht geht.

Leider ist die URL des Wetterdienstes, von dem die Daten bezogen werden, immer schon fest verdrahtet und nicht änderbar. Immer, wenn sich diese Adresse ändert, geht das Plugin nicht mehr. Aber ein anderes gibt es auch nicht für das Panel, die Leiste von Xfce.

Ich habe Xubuntu 20.04 (focal) hier laufen und gedenke das auch nicht so schnell zu updaten. Meine Suche ergab hier auf der Seite des Entwicklers, dass man die Lösung für Xubuntu 20.10 (groovy) auch für die ältere Version verwenden kann. In den Paketquellen von 20.04 ist die Version 0.8 enthalten, benötigt wird Version >= 0.10, derzeit aktuell ist 0.11. Das bekommt man mit einem PPA hin:

sudo add-apt-repository ppa:tomtomtom/xfce4-weather-plugin
sudo apt-get update
sudo apt install cfce4-weather-plugin

Ich musste danach noch das Plugin aus der Leiste löschen und neu einfügen und zusätzlich den Ort und die gewünschten Werte für die Anzeige neu konfigurieren. Fertig.

MySQL: Langsames „ALTER TABLE“?

neulich musste ich die Struktur einer Tabelle mit 20.000 Einträgen mittels phpMyAdmin ändern. Ein als „text“ definiertes Feld stellte sich als zu kurz heraus und musste in „mediumtext“ geändert werden. Dabei kommt ein mySQL-Befehl wie dieser heraus (sichtbar mit „SQL Vorschau“):

ALTER TABLE `tabelle` CHANGE `spalte` `spalte` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci; 

Da die Anzahl der Datensätze nun nicht besonders groß ist, hoffte ich auf ein paar Sekunden Verarbeitungszeit. Weit gefehlt – wenigsten 10 Minuten war der Rechner am Arbeiten, sodass inzwischen sogar mehrmals die 23 Sekunden PHP-Laufzeit (phpMyAdmin läuft mit PHP) überschritten wurde und der Browser die Verbindung verlor. Lediglich die HD-Lampe verriet mir, dass die Sache noch im Gang war.

Später machte ich die gleiche Sache auch beim Kunden und bat die Mitarbeiter, die Finger von den tasten zu nehmen. Allerdings dauerte der Vorgang dort dann wirklich nur vielleicht 2 Sekunden. Hä?

Ich bin der Sache auf den Grund gegangen. Es liegt nicht an mySQL, auch nicht an PHP oder am Webserver. Es lag hier an der unterschiedlichen Hardwareausstattung beider Systeme! Beim Kunden läuft ein „richtiger Server“ mit viel Speicher und Tempo, bei mir nur eine etwas zu schmale Workstation mit einem Prozessor mit 2×2 GHz und 6 GB RAM.

Ein ALTER TABLE erfordert ein mehrfaches Umkopieren des gesamten Inhalts der Tabelle und ein umfängliches Handling der Indexe. Das dauert auf einer schmalen maschine eben bedeutend länger und erfordert vielleicht sogar noch Auslagerungen von Speicher. Möglicherweise kommt es auch darauf an, wie PHP und mySQL an den Webserver angebunden sind (?).

Hier bei Stackoverflow wird die Sache gut beschrieben und einige Tips sind auch dabei.

Dass mein Frontend abgeschossen wurde, weil die Laufzeit zu lang wird, hat nicht geschadet – als die HD-Lampe endlich aus blieb, reichte ein Reload und phpMyAdmin war wieder da.

Ubuntu: Nachinstallation des Network Manager (2)

Ich beziehe mich hier auf meinen Artikel „Ubuntu: Nachinstallation des Network Manager (1)„, weil ich einiges ergänzen muss.

Denn so, wie ich es dort beschrieben habe, funktioniert es unter Umständen nicht. Nämlich dann, wenn nicht nur der NetworkManager deinstalliert wurde, sondern auch Netplan deaktiviert wie hier beschrieben. Und dann muss man Netplan auch erst wieder einrichten, wie es hier beschrieben wird, aktivieren und den Rechner neu starten (damit GRUB durchlaufen wird). Bei diesem Schritt bitte beachten: „sudo update-grub“ wird gern vergessen…

Ich habe jetzt gerade nochmal alles, alles, alles von vorn gemacht und siehe da, es scheint zu spielen. Ich habe ein paar VPN-Verbindungen über ProtonVPN und FreeVPN eingerichtet und sie funktionieren!

Aber ich würde mich über weitere Hinweise in Kommentaren sehr freuen, denn es war wirklich eine schwierige Geduldsübung.

Thunderbird 78 und Google

Ich benutze Thunderbird unter Xubuntu 20 und bis eben in der Version 68. Für die Synchronisation der Kontakte und und Kalender bei Google (wegen Smartphone) waren die Addons gContactSync und Provider für Google Calendar zuständig. Das war praktikabel, aber nicht sehr schön – die Anbindung an Google musste über zwei getrennte Verwaltungstools erfolgen, obwohl die sich ja auf den selben Account bei Google bezogen.

Vorhin habe ich Thunderbird ein Upgrade auf die Version 78 verpasst (über ppa:ubuntu-mozilla-security/ppa) und damit flogen unter anderem die beiden genannten Addons als nicht mehr kompatibel raus.

Zum Glück gibt es schon länger das Addon TbSync, das auch schon bei TB 68 funktioniert.

TbSync ist eine zentrale Benutzeroberfläche zur Verwaltung von Cloud-Konten und zur Synchronisierung ihrer Kontakt-, Aufgaben- und Kalenderinformationen mit Thunderbird.

Also genau das Richtige. Also installiert, dabei musste noch das zusätzlich erforderliche Addon Provider für CalDAV & CardDAV zugefügt. werden… und dann habe ich erstmal enttäuscht geguckt: Google wird nicht mehr unterstützt! Wie das?

Google wird nicht mehr offiziell unterstützt. Bitte fordern Sie keinen Google-Support mehr an. Kommentare zu Google sind unzulässig.

Das klingt endgültig. Offenbar hat es irgendeinen Streit mit Google gegeben. Aber immerhin habe ich zufällig einen Hinweis hier im Forum gefunden, der die Situation rettet. Man gehe in die erweiterte Konfiguration von Thunderbird und suche (oder füge ein) den Schlüssel

extensions.dav4tbsync.googlesupport = true

Und siehe da: Über Extras – AddOn-Einstellungen – TbSync konnte ich nun nicht nur mein eigenes Google-Konto eintragen, sondern auch gleich noch ein fremdes. So muss ich nicht mehr den fremden Kalender auf der Google-Website einfügen und dann von dort in TB/ aufrufen, sondern kann das mit einem Aufwasch erledigen.

Danke an John Bieling (jobisoft im Forum), den Entwickler von TbSync!

Android: Berechtigung „Rückrufnummer“ fehlt

Ich benutze ein Huawei P8 Lite 2017 mit Android 8.

Eine zeitlang habe ich bei diversen installierten Apps oder während der Installation – und scheinbar häufiger werdend – eine Fehlermeldung bekommen mit folgendem Inhalt:

Diese App funktioniert nur dann richtig, wenn du den Google Play Diensten Zugriff auf Folgendes gewährst:

Rückrufnummer

Um fortzufahren, gehe zu Einstellungen / Berechtigungen und aktiviere alle aufgelisteten Optionen.

Auch wenn mir die Option „Rückrufnummer“ rätselhaft schein, folgte ich dem enthaltenen Link und sah die fraglichen Einstellungen:

Nur „Telefon“ passte irgendwie zum genannten Fehler, aber das war eingeschaltet. Bei verschiedenen Apps kann diese Liste anders aussehen, aber „Telefon“ war immer dabei.

Nach Recherchen im Internet und der passenden Newsgroup im Usenet (de.alt.comm.android) stieß ich dann auf einen Hinweis, der zwar seltsam klang, aber auch bei mir funktioniert hat. Man möge eben diese Berechtigung „Telefon“ bei den Google Play Diensten ausschalten, die Warnung wegen drohender Funktionsunfähigkeit ignorieren und die Option gleich wieder einschalten. Einige empfehlen noch einen abschließenden Neustart, was ja sowieso ab und zu mal nützlich ist.

Fazit: Zum Einen handelt es sich um einen Übersetzungsfehler – es heißt nicht Rückrufnummer, sondern Telefon. Zum anderen: Dass diese Berechtigung zwar eingeschaltet ist, aber nicht funktioniert, und dass einfaches Ein- und Ausschalten den Fehler behebt, ist für mich klar ein Bug. Der zudem nicht neu ist, sondern anscheinend seit Jahren bekannt und zwar unabhängig von der Android-Version.