Private DNS im Smartphone

Langsam beginnt der Zensurkrieg der Staatsmächte im Internet. Man versucht, Websites wie de.rt.com aus Russland zu sperren. „Sperren“ heißt zunächst mal „nicht aufrufen können“, auch wenn man die verschiedenen Schreibweisen der Adressen der Anbieter kennt. Man kann sie dann im Browser eingeben, aber sie können nicht angezeigt werden. Die IPs zu kennen, nützt nichts, damit kann man die Websites nicht aufrufen.

Der Grund ist, dass die „textlichen“ Adressen beim Provider (meines Handy- oder Kabel-Vertrags) in mindestens eine IP umgewandelt werden, um verwendet werden zu können. Das erledigen sogenannte DNS-Server – DNS = Domain Name Service – durch einen komplizierten Übersetzungsmechanismus [1]. Soll zum Beispiel de.rt.com gesperrt werden, so wird die Übersetzung dieser Adresse verweigert, die Website existiert quasi nicht mehr.

Für den Datenverkehr über WLAN (!) gibt es folgende Lösung im Smartphone / Tablet – damit ist man von Einstellungen im Router unabhängig:

Will man diese Sperre durch den eigenen Provider umgehen, muss man nur statt des DNS-Servers des einen der zahlreichen freien DNS-Server eintragen. Für Android geht das meines Wissens schon ab Version 8. Wie man das macht, erkläre ich mal beispielhaft am DNS-Anbieter Quad9 [2], der diesen Zweck gut und schnell erfüllt und in der Schweiz (also nicht in der EU) sitzt.

Ich gehe dazu in die „Einstellungen“, dort oben gibt es ein Suchfeld mit einer Lupe (ich kann mir nicht merken, wo die nötige Einstellung ist), und gebe dort einfach „dns“ ein. Ein Ergebnis heißt dann „Private DNS“, darauf tippe ich. Es öffnet sich ein Fenster „Private-DNS-Modus wählen“ und eine der Ortionen heißt „Hostname Private-DNS Anbieter“. Dort trage ich den Namen (nicht die IP!) des Servers ein und die heißt bei Quad9

dns.quad9.net

Fertig. Ab sofort geht der Netzwerkverkehr über Quad9 in einer Standardkonfiguration [3]. Übrigens gibt es auch eine Android-App zur Einstellung namens „Quad9 Connect“, die die Einstellung übersichtlicher und komfortabler macht.

Wer das Ganze für Windows, Linux, Mac oder direkt im Router (sinnvoll!) machen möchte und genügend Sachkenntnis hat, findet bei Quad9 eine Übersicht [5] über alle IPs zur Eintragung für diverse Konfigurationen.

Hinweise:

Bisher hatte ich den in den USA sitzenden Dienst Cloudflare eingetragen, der sehr schnell ist. Ich habe mich allerdings belehren lassen, dass Cloudflare möglicherweise mit der NSA und anderen amerikanischen Geheimdiensten eng zusammenarbeitet und die Datenströme mitliest und auswertet, auch wenn natürlich das Gegenteil behauptet wird. Google bietet ebenfalls einen DNS-Dienst an, liest aber auch mit, wenn auch vermutlich nur im eigenen Interesse.

Bedenke: Die genannten Maßnahmen und Einstellungen beziehen sich immer nur auf den Datenverkehr über WLAN, nicht über die mobile Datenverbindung! Dafür gibt es keine Möglichkeiten, solange man sein Gerät nicht gerootet hat, und auch dann ist es schwierig und man kann sich völlig abklemmen.

Quellen:

[1] hier it-consulting-stahl.de/2019/09/eigene-dns-ip-in-android-geraeten/
[2] Quad9.net
[3] www.ionos.de/digitalguide/server/knowhow/quad9-dns/
[4] play.google.com/store/apps/details?id=com.quad9.aegis
[5] Quad9 Adressen und IPs

Was ist ein VPN?

Techniken wie VPN oder auch nur „Private DNS“ werden in Zukunft wichtig sein, um Zensur und lokale Sperren von Inhalten im Internet zu umgehen. Als Einstieg zitiere ich hier einen Beitrag auf Twitter/X vom 31.5.2023 von Frau Joana Cotar, eine partei- und fraktionslose Abgeordnete des Deutschen Bundestags.

Den folgenden Beitrag werde ich weiterführen. Hier zunächst ein kurzer Einstieg zum Thema:

Erste #EU-Politiker diskutieren tatsächlich ein #Twitter-Verbot. Daher fragte ich gestern, ob alle wüssten, wie man einen #VPN-Server nutzt. Viel zu viele antwortete mit „Nein“. Daher hier eine kurze Einführung:

Ein VPN (Virtual Private Network) ist eine Technologie, die entwickelt wurde, um eine sichere und verschlüsselte Verbindung herzustellen. Wenn man eine Verbindung zu einem VPN herstellt, wird der Datenverkehr von dem eigenen Gerät über das Internet zu einem VPN-Server geleitet. Der VPN-Server verschlüsselt dann deine Daten und leitet sie zu ihrem eigentlichen Ziel weiter. Durch die Verwendung von Verschlüsselungstechniken werden die Daten in ein undurchsichtiges Format umgewandelt, sodass sie für Dritte, wie zum Beispiel Hacker oder Internetdienstanbieter, nicht lesbar sind.

Darüber hinaus kann ein VPN auch die eigene IP-Adresse maskieren, indem es eine virtuelle IP-Adresse zuweist. Dies bedeutet, dass du beim Surfen im Internet deine tatsächliche IP-Adresse verbirgst und es so aussieht als ob du von einem anderen Standort aus online bist. Dies kann hilfreich sein, um Online-Aktivitäten zu anonymisieren und Zugriffsbeschränkungen zu umgehen. Zum Beispiel, um staatliche Internetzensur in autokratischen Ländern wie China, Russland oder Iran zu umgehen (bald auch EU?)

Zusammenfassend gesagt ermöglicht ein VPN eine sichere Verbindung über das Internet, indem es deine Daten verschlüsselt und anonymisiert. Es schützt deine Privatsphäre, erhöht die Sicherheit und ermöglicht den Zugriff auf beschränkte Inhalte.

Joana Cotar bei Twitter vom 31. Mai 2023

Android: Systemapps ohne Root entfernen

Aktualisiert am 29.2.2024, neuere Package-Namen für Standard-Browser!

Gleich vorab:

Ich liefere hier nur eine Kurzbeschreibung des Verfahrens. Wer sich nicht schon mal mit so etwas befasst hat, sollte bitte unbedingt die beiden Quellen ganz unten lesen und viel Sorgfalt walten lassen!


Mit wenigen Ausnahmen sind auf jedem Android-Smartphone beim Kauf mehr oder weniger viele Apps installiert, die wir nicht brauchen: Reisebuchungen, Spiele oder Shops. Die nehmen Platz weg (auch wenn heutzutage genug davon vorhanden ist), lassen sich aber oft nicht einfach so löschen. Allerdings gibt es auch einige Apps, deren Sinn wir nicht unbedingt verstehen und die wir nicht nutzen, die aber dennoch für das System wichtig sind: Google-Tools, Sicherheit oder Dateimanager.

Wenn wir also scheinbar unwichtige Apps entfernen wollen, müssen wir uns im Klaren sein, was genau die tun. Zum Beispiel brauche ich unbedingt den Google-Kalender, denn der liefert die eigentliche Schnittstelle zu beliebigen anderen Kalender-Programmen, die ich nutzen möchte – bei mir (Xiaomi Redmi Note 9 mit MIUI 13) ist es sogar so, dass ich nur dort den Signalton für Termine einstellen kann, weil das eine „Ausnahmegenehmigung“ des Systems braucht.

Ich habe vor einiger Zeit den Browser „Google Chrome“ entfernt, weil der einige hundert MB Platz brauchte und sehr häufig aktualisiert wurde, was wiederum Zeit, manchmal Datenvolumen und noch mehr Platzbedarf benötigte. Dabei sollte gleich noch mit der Standardbrowser von Android verschwinden, der uralt war und nicht mehr gepflegt wurde. In früheren Android-Versionen konnte man manche vorinstallierten Apps deaktivieren – in neueren Versionen geht das vielleicht nicht mehr. Mit Bordmitteln kommt man also nicht weiter.

Wer nicht so „gern“ wie ich ohne Netz und doppelten Boden arbeitet, sollte sich vor den folgenden Aktionen unbedingt mit einem vollständigen Backup seines Smartphones befassen. Gute Anhaltspunkte dafür liefert diese guten Artikel [1], [2] und [3].

Was man braucht, ist

1) der Entwicklermodus auf dem Handy,
2) die ADB-Tools auf einem PC (Windows oder Linux, sicher auch Mac)
3) ein USB-Kabel, um das Smartphone mit dem PC verbinden zu können

Wichtig ist, dass das Smartphone in den Entwicklermodus geschaltet wird und dort „Installieren über USB“ und „USB-Debugging“ aktivuiert wird. Wie man dorthin kommt, ist geräteabhängig!

Der umfangreiche Artikel [1] beschreibt die Schritte zur Vorbereitung sehr detailliert – ich spare mir das jetzt hier. Auf dem PC öffne ich eine Shell (bei Windows z.B. die Powershell) und kann mir dann die spezielle Kommandoumgebung der ADB-Tools aufrufen:

adb shell

EDIT: Das erzeugt ggf. erstmal eine Meldung in der Shell „adb: device unauthorized“ und auf dem Smartphone, in der ein Key bestätigt werden muss. Ich kann das leider nicht wiederholen (das geht nur 1x) und habe mir den genauen Wortlaut nicht gemerkt. Die Meldung sieht man erst, wenn das Handy entsperrt wird, und muss einfach bestätigt werden.

Man bekommt dann ein spezielles Prompt wie etwa „starlte:/ $“, nach dem man Kommandos eingaben kann. Mit dem Befehl list bekomme ich eine Liste der sogenannten Packages, also der installierten Apps – deren genaue Bezeichnung braucht man im nächsten Schritt.

pm list packages [ | grep <bezeichnung> ]

Die Liste ohne den grep-Teil ist lang und unübersichtlich – man muss schon genau hinsehen, um in den folgen Schritten nicht versehentlich das Falsche zu löschen.

Der Teil in [ ] ist optional, wenn man schon eine Vorstellung vom Gesuchten hat, vielleicht „browser“, eingesetzt für <bezeichnung>. Das verkürzt die Liste erheblich, vielleicht gibt es nur 1 Eintrag:

pm list packages | grep browser

VORSICHT: Es gibt keine Rückfrage, weg ist weg!

Für den Fall der gewünschten Browser enthielt meine Liste die Package-Namen com.google.android.chrome und com.android.browser. Jetzt geht es ans Löschen. Dabei sollte man die Package-Namen aus der Liste von eben mit der Maus kopieren, in den uninstall-Befehl einsetzen und vorm Abschicken nochmal genau kontrollieren:

Löschen:
pm uninstall -k --user 0 com.google.android.chrome (Chrome alt)
pm uninstall -k --user 0 com.android.chrome (Chrome neu)

pm uninstall -k --user 0 com.android.browser (Mi-Browser alt)
pm uninstall -k --user 0 com.mi.globalbrowser (Mi-Browser neu)

Oder einfach nur deaktivieren (nur neuere Apps):
pm disable-user com.android.chrome
pm disable-user com.mi.globalbrowser

Oder wieder aktivieren:
pm enable com.android.chrome
pm enable com.mi.globalbrowser

Es gibt keinerlei Rückmeldungen für das Gelingen oder dafür, dass vielleicht Mist gebaut wurde. Mit list kann man sehen, ab die Pakete weg sind, das ist alles.

Wenn man nicht etwas katastrophal falsches gelöscht hat, kommt man leicht wieder aus dem Modus des Smartphones raus, kann die Geräte trennen und sich dann freuen, dass die unerwünschten Apps weg sind. Hat man im Beispiel vergessen, vorher einen anderen Browser zu installieren, kann man das nun nachholen.


Quellen:

[1] https://www.heise.de/tipps-tricks/Android-Vorinstallierte-Apps-loeschen-ohne-Root-4324092.html
[2] https://android.izzysoft.de/articles/named/android-backup-options?lang=de
[3] https://selivan.github.io/2020/02/25/removing-bloatware-from-xiaomi-miui-android.html

Techniken zur Umgehung von Online-Zensur

Es wird immer wichtiger, sich zu informieren, wie man eventuell drohenden Sperren von Internetinhalten durch den Staat erkennt und umgehen kann. Dazu ist technische Sachkenntnis notwendig, aber es ist keine „Raketenwissenschaft“ und einige Werkzeuge sind durchaus auch durch weniger Geübte anwendbar. Wir müssen miteinander verbunden bleiben und den Zugang zu allen wichtigen Informationen erhalten!

Diesen Beitrag habe ich über Telegram erhalten. Dazu habe ich Telegram auch auf dem Smartphone nicht aus dem Google App Store installiert, wo eine eventuell manipulierte Version (Verdacht: Eingebaute Backdoor für den staatlichen Zugriff) angeboten wird, sondern direkt von telegram.org – das war meine erste Maßnahme zur Zeit von „Corona“, um an unzensierte Informationen zu gelangen.

Ich freue mich ausdrücklich um Kommentare und Ergänzungen!


„Umgehen Sie Internetfilter, Zensur im App-Store, Zensur von Big Tech und mehr. Online-Zensur nimmt zu, selbst demokratische Länder erlassen umfassende Gesetze, die die Meinungsfreiheit der Bürger zensieren und ihren Zugang zu Informationen einschränken. Auch Big Tech-Unternehmen beschränken zunehmend die Meinungsfreiheit ihrer Nutzer.

Glücklicherweise gibt es viele Tools und Techniken, die Sie verwenden können, um Internetbeschränkungen zu umgehen und auf Inhalte zuzugreifen, die Regierungen, Tech-Plattformen und andere Zensoren verhindern wollen, dass Sie sie sehen.

Dieser Beitrag identifiziert vier Hauptarten von Online-Zensur und listet verschiedene Tools und Techniken auf, die Ihnen helfen, jede Form von Zensur zu umgehen.“…
Link zu UncutNews.ch

Linux VirtualBox / Windows: USB-Geräte

Hier läuft Linux (Xubuntu 22.04) mit einer Oracle Virtual Box Version 7 (im Folgenden kurz VB) mit installierten Windows Guest Additions [2], in der ein Windows 10 32 Bit läuft. DIe Aufgabe war, an den Rechner einen USB-Stick, ein Festplatte oder besonders in meinem Fall ein Navi von Garmin anzuschließen. Die Software zum Updaten des Navis läuft natürlich nicht unter Linux – daher diese Klimmzüge. Die Software für das Navi heißt „Garmin Express“ und läuft auf einem richtigen Windows-PC sauber.

Ich stecke also zunächst ohne die VB und Windows einfach so an den laufen Linux-PC und sehe zwei Laufwerkssymbole auf dem Xfce-Desktop, die automatisch gemounted werden. Sieht gut aus, so erwarte ich das. Nur kann ich damit nichts anfangen, ich brauche „Garmin Express“ unter Windows. Also starte ich die VB und gehe bei meinem Eintrag Win-10 auf „ändern“. Dann in den Bereich „USB“. Ich wähle USB-3.0-Controller“ aus – der enthält auch die niedrigeren Standards. Über das kleine grüne +-Symbol am rechten Rand bekomme ich das Garmin angezeigt, der Text wird vom Gerät selbst zur Identifikation gesendet. Das Ergebnis ist im Bild zu sehen (ich habe noch 2 Sticks und ein weiteres USB-Gerät, die jetzt nicht angeschlossen sind).

USB-Einstellungen VBox

Jetzt starte ich Windows. Nach ganz kurzer Zeit verschwinden die beiden Laufwerkssymbole auf dem Xfce-Desktop, da das Gerät jetzt von der VB an Windows durchgereicht werden. Dass sie dort ankommen, zeigt eine Meldung in Windows, dass die beiden bisher unbekannten Laufwerke D: und E: (oder ähnlich) geprüft und ggf. repariert werden. Danach sind D: und E: auch im Windows-Explorer sichtbar.

Die „Garmin Express“-Software habe ich schon vorher installiert (Download und Anleitung [1]), nur mein Navi muss ich ihr noch bekannt machen. Das ist leicht.

Mögliche Fehlerquelle: Zunächst hatte ich in der Geräteauswahl für USB den USB-2.0-Controller ausgewählt und das Gerät vermutlich an eine USB-3-Buchse gesteckt (was ich nicht feststellen kann). Damit wurden weder die Sticks noch das Navi innerhalb der VB und Windows erkannt! Warum das so ist, weiß ich ehrlich gesagt nicht. Man muss hier also etwas probieren, wenn es nicht gleich geht; ich erkenn z.B. die Art der USB-Schnittstellen nicht, es steht nicht dran.

[1] https://www.garmin.com/de-DE/software/express/windows
[2] https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html

Ubuntu 22: Die Schwierigkeiten, Firefox zu betreiben

Kurzer Sprung zum Favoriten —>


Seit kurzem nutze ich Ubuntu 22 auf einer neuen schnellen Maschine und ich war gleich sehr zufrieden. Bis ich merkte, dass ich mit dem ebenfalls neuen Firefox 102 überhaupt nicht vernünftig arbeiten konnte. Wie sich herausstellte, war der Grund, dass Firefox neuerdings als Snap installiert wird. Das liefert zwar sicher einiges an Sicherheit, da der Browser nun vollständig in einer Sandbox läuft, aber das ist auch der Grund für einiges Übel. Zwei Probleme ließen sich damit nicht lösen:

1.) Ich bin es gewohnt, Bilder von Webseiten mal eben mit der Maus auf den Desktop zu ziehen. Das geht nicht mehr, denn der Zugriff ist gesperrt. Über Copy/Paste geht es, aber das ist mir mit der Maus zu umständlich.

2.) Ich habe einige Anpassungen in der Optik des Browsers, zum Beispiel bestimmte Trennlinien. An das Profil kommt man aber nicht ran, nicht mal als Root.

Außerdem habe ich gelesen, dass durch den Snap-Mechanismus einige Plugins nicht gehen, was sicher ebenfalls an irgendwelchen Zugriffrechten scheitert.

Flatpak statt Snap

Das erste Problem lässt sich damit umgehen, dass der Firefox als Snap gelöscht und als Flatpak installiert und aufgerufen wird:

snap remove firefox
flatpak install flathub org.mozilla.firefox

Um das dann aufzurufen, habe ich das Knöpfchen im Starter des Panels mit folgendem belegt:

flatpak run org.mozilla.firefox

Rechte von Flatpak-Anwendungen verwalten

Jetzt scheitert aber immer noch der Wunsch, zum Beispiel die userChrome.css im Profilordner zu bearbeiten, einfach weil man den Profilordner nicht findet – denn der ist verborgen. Auch Flatpack arbeitet als Sandbox. Aber immerhin gibt es ein Werkzeug, das solche Einschränkungen gezielt beheben kann: Flatseal. Das ist eine grafische Oberfläche mit allerlei Admin-Tools für jedes installierte Flatpak. Installiert wird es mit

flatpak install flathub com.github.tchx84.Flatseal

denn es ist selbst ein flatpak-Programm. Hier [1] ist (allerdings nur in englisch) sehr detailliert beschrieben, was sich damit alles machen lässt. Konkret für meine Aufgabe, an die Konfiguration heranzukommen, musste ich Firefox auswählen und in der Rubrik „Filesystem“ die Option „All user files / filesystem=home“ anschalten, und darunter bei „Other files“ habe ich noch /home/rollo/Downloads eingetragen. Ich hoffe, dass das genügt und werde es hier ergänzen, wenn noch etwas fehlt.

Firefox über Umwege als .deb

Wie ich heute gefunden habe, gibt es doch auch Wege, Firefox ganz normal wie „früher“ als DEB zu installieren, sogar über ein PPA des Mozilla-Teams. Damit habe ich die Eigenschaften der Sandbox (Snap, Flatpak) nicht mehr, dafür geht alles andere wieder wie gewohnt. Hier [2] ist es ausführlich beschrieben (englisch), dazu [3], und hier kommt die Kurzfassung:

# Zunächst das Snap entfernen
sudo snap remove firefox
# oder das Flatpak
sudo flatpak remove org.mozilla.firefox

Hinweis 1: Gerade wurde auf Version 112 aufgebohrt – und prompt war FF wieder ein Snap! Nun liegt meine mühsam installierte .deb-Version verwaist da. Die muss erstmal weg. Also:
sudo apt autoremove –purge firefox


Hinweis 2: Nein, diese FF-Installation muss nicht weg! Was ist passiert? Snap wurde durch ein Update wieder installiert und hat FF mitgebracht – Ubuntu will das unbedingt durchdrücken! Aber wenn man das gesamt snapd-System entfernt, sollte es auch wegbleiben [4]:

sudo apt autoremove --purge snapd
sudo rm -rf /var/cache/snapd/
rm -rf ~/snap

# Nun das PPA von Mozilla installieren:
sudo add-apt-repository ppa:mozillateam/ppa
# und damit Firefox installieren:
# (Die Optionen sind essentiell, sonst kommt snap wieder!)
sudo apt install -t 'o=LP-PPA-mozillateam' firefox

# Eine Datei zur Steuerung der Priorität anlegen und speichern
sudo gedit /etc/apt/preferences.d/mozillateamppa
# Inhalt:
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

sudo apt update
sudo apt install firefox firefox-locale-de

Das war’s. Danke „J Im“!

Festlegung als Standardbrowser

In Ubuntu gibt es festlegungen von Standardanwendungen, unter anderem des Webbrowsers. Ich vermute mal, das ist ohne weiteres Zutun diese unsägliche snap-Installation von Firefox. Da wir die nun gerade ausgebaut haben, hängen einige Aufrufe nun in der Luft. Zum Beispiel lässt im Client von Nextcloud nichts mehr aufrufen, da dort nicht der Standardbrowser hinterlegt ist, sondern ein Aufruf von „default-web-browser“. Also muss der letzte Schritt unserer Reparatur die neue Zuweisung der Firefox-Installation von eben sein. Das geschieht entweder in der Shell mit

xdg-settings set default-web-browser firefox.desktop

was nicht immer klappt, weil es das Vorhandensein von firefox.desktop voraussetzt, oder „grafisch“ über „Einstellungen / Standardanwendungen“ und folgender Auswahl:

Standardbrowser

„Firefox Web Browser“ wäre die nun nicht mehr vorhandene snap-Installation, was wahrscheinlich das gleiche ist wie der oberste Menüpunkt (kann ich jetzt nicht mehr testen).


Links zum Thema:

[1] www.debugpoint.com/manage-flatpak-permission-flatseal/
[2] ubuntuhandbook.org/index.php/2022/04/install-firefox-deb-ubuntu-22-04/
[3] curius.de/2022/04/ubuntu-wie-du-firefox-als-ppa-anstelle-von-snap-einbindest-und-wann-du-es-tun-solltest/
[4] onlinux.systems/guides/20220524_how-to-disable-and-remove-snap-on-ubuntu-2204

VirtualBox: Zeigegeräte und VBoxGuestAdditions

Ich habe unter Xubuntu 22.04 die VirtualBox 7.0 (im Folgenden VB genannt) installiert, darin als Gast. Windows 10. Die notwendige Extension und die Gastweiterung (s. u.) ist vorhanden. Nebenbei: Die VB ist leider heute erst in der Version 6.1 im Repo verfügbar, daher habe ich sie direkt von Oracle geholt und manuell installiert.

Der Grund dafür waren eigentlich zwei Probleme, die ich auf die zu alte Version geschoben hatte, die vorher installiert war (was sich als sich als falsch gedacht herausstellte). Meine Ausrede ist: Man sollte immer das neueste geprüfte Release verwenden 🙂 !

Aber im Ernst: Das im Repository von Xubuntu enthaltene Release der Virtualbox ist durchaus zu gebrauchen und enthält alles, was benötigt wird – und es bekommt irgendwann ein ordentliche Update ohne eigenes Gefummel.

[1] www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html

Maus ist in der Box nicht benutzbar

Zunächst zeigte sich, dass weder die Maus noch das in der Tastatur (Logitech TK820) integrierte Touchpad mit dem Windows-Gast zusammenarbeitete und auch nicht außerhalb der VB benutzbar war. Eine schwierige Sache, Windows in Linux nur mit der Tastatur wenigstens grundlegend zu bedienen! Die Lösung wurde in einem älteren Forumsbeitrag [2] beschrieben:

Tastatur und Maus muss bzw. darf man nicht als USB-Geräte in den Filtern freigeben, im Gegenteil führt das sogar zum Fehler! Beides wird auf einem anderem mir nicht bekannten Weg vom Host (hier Linux) an den Gast weitergereicht. Der Grund ist, dass es ja sonst nicht möglich wäre, die Maus im Gast zu fangen oder auch außerhalb zu benutzen. Das muss also die VB managen, unabhängig vom Gastsystem. Hier ist die zugehörige Einstellung für eine konkrete virtuelle Maschine – die Maus bekommt kein Häkchen, andere Geräte schon:

Es ist ein Neustart zumindest der VB nötig.

[2] forums.virtualbox.org/viewtopic.php?t=96867

Verwendung der Gasterweiterung

Bevor es losgeht, muss die entsprechende Gasterweiterung für (in meinem Fall) Windows bereitgestellt und einmalig installiert werden. Dazu macht man beim Anlegen des Gastes ein Häkchen an der unten gezeigten Stelle bei „Gasterweiterung einlegen“:

Ein weit verbreiteter Irrtum ist, dass man die CD, auf der mittels dem von Oracle heruntergeladenen ISO die Gasterweiterungen gespeichert wurden, einfach nur einlegen muss und fertig. Aber nichts da! Man muss die Erweiterung natürlich auch im Gast (!) installieren, das heißt im Fall von Windows die Datei GuestAdditions.exe (genau so geschrieben!) installieren und danach Windows neu starten. Die CD kann dann wieder raus, sie wird nicht mehr gebraucht. Dieser Weg ist aber notwendig, da man ohne die Gasterweiterung keinen Zugriff auf Verzeichnisse des Hosts hat, wohl aber auf das CD-Laufwerk.

Ich hatte mein Windows schon vorher installiert, daher hatte ich schon den Zugriff auf ein gemeinsames Verzeichnis in Linux. Somit brauchte ich de CD nicht, sondern konnte meine Dateien für die Gasterweiterung in dieses Verzeichnis legen und von dort aus installieren. Das genannte Kreuzchen musste ich nicht setzen.

Xfce4: Zuweisen eigener Shortcuts

Ich habe eine neue Tastatur angeschlossen, mit der die bisherigen Funktionstasten für die Tonsteuerung (lauter, leiser etc.) nicht mehr funktionierte, weil das Layout anders war. Um das anzupassen, gibt es in Xfce (hier Xububtu 22.04) in den Einstellungen den Punkt „Tastatur“ und darin den Tab „Tastenkürzel für Anwendungen“. Hiermit weist man einem beliebigen Befehl eine nahezu beliebige Taste (Shortcut) zu. Bedingung ist natürlich, dass diese Taste noch keine andere Funktion hat und natürlich auch nicht nur ein einfacher Buchstabe ist. Man wird aber auf Konflikte hingewiesen oder kann solche Kombinationen gar nicht erst eingeben.

Infrage kommen damit ungenutzte Kombinationen mit Ctrl (Strg), Shift (Umsch), Alt, AltGr und besonders der üblicherweise vorhandenen Win(dows)-Taste oder ihrem Equivalent auf Mac-Tastaturen.

Es ist also möglich, zum Beispiel mit „Win + F“ und dem Befehl „firefox“ den Browser zu starten. Das ist trivial. Natürlich gilt das auch für alle möglichen anderen Funktionalitäten.

Was aber, wenn eine Systemfunktion wie „Lautstärke erhöhen“ angeschoben werden soll? Die wird bei einer Standard-Tastatur uber den symbolischen Keycode „XF86AudioRaiseVolume“ bewirkt, was aber nicht als Befehl dargestellt werden kann.

Abhilfe schafft hier eine Hilfsfunktion namens xdotool, die normalerweise nicht als Standard installiert ist. Das kann man aber leicht nachholen mit

sudo apt install xdotool

Dann kann man in der obigen Tastaturfunktion folgendes zum Beispiel für alle Lautstärkefunktionen folgendes schreiben (die Bezeichnungen dürften sich selbst erklären, oder?):

xdotool key XF86AudioPlay
xdotool key XF86AudioNext
xdotool key XF86AudioPause
xdotool key XF86AudioPlay
xdotool key XF86AudioPrev

xdotool key XF86AudioRaiseVolume
xdotool key XF86AudioLowerVolume
xdotool key XF86AudioMute
xdotool key XF86AudioMicMute

Die verknüpften Tasten findet man auf allen Tastaturen mit Multimediatasten oder man muss sich eben sinnvolle, merkbare Kombinationen ausdenken.

Alle Multimedia-Keyboardsymbole:
https://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols

Idee für diesen Beitrag:
https://wiki.archlinux.org/title/Xbindkeys#Audio_control

Ubuntu: Ersatz für gksu

Bis Ubuntu 18.04 gab es das Hilfsprogramm gksu, mit dessen Hilfe man – zum Beispiel innerhalb eines Scriptes – ein anderes Programm als Root starten konnte, indem man „zwischendurch“ das nötige Passwort eingab. Ab dieser Version wurde das aus den Paketquellen entfernt, weil es als Sicherheitsrisiko eingestuft wurde. Damit funktionierten dann plötzlich alle Scripte und (bei mir) Shortcuts nicht mehr, die darauf angewiesen waren (siehe hier bei mir Upgrade Ubuntu 16 nach 18: einige Hürden).

Es gibt Anleitungen im Netz, wie das Problem behoben werden kann, indem man Pakete aus alten Ubuntu-Quellen (Archiv) installiert. Das ist sicher etwas fragwürdig und kann auch kein Update bekommen.

Viel besser ist da der reguläre Weg, der mit dem Befehl sudo arbeitet:

sudo -A <programm>

Das -A bewirkt die Einbindung eines als Askpass bezeichneten Hilfsprogramm, dass das Passwort grafisch (!) abfragt und über sein stdout an den Aufrufer zurückgibt. Allerdings muss dazu etwas getan werden, sonst gibt es eine Fehlermeldung. Zunächst wird der Helfer installiert, der eigentlich für den SSH-Zugriff gedacht ist:

sudo apt install ssh-askpass-gnome

Dann öffnet man als Root die Datei /etc/sudo.conf und fügt eine Zeile zu:

# Use the OpenSSH askpass
#Path askpass /usr/X11R6/bin/ssh-askpass
Path askpass /usr/lib/openssh/gnome-ssh-askpass

Es ist kein Neustart nötig – der nächste Aufruf von „sudo -A“ funktioniert!