Den virtuellen Desktop kann man gewöhnlich schön per Tastenkombination wechslen, was leider nicht funktioniert, wenn eine VirtualBox-VM den Fokus hat. Dabei wäre es so schön, wenn man auf einem virtuellen Desktop eine VM im Vollbildmodus hätte und man bequem zwischen Host und Gast wechseln könnte.
Da ich leider keine VBox-Einstellung oder irgendeinen einfachen Trick gefunden habe, um dieses Verhalten zu ändern, habe ich eine vielleicht etwas primitive aber einfache Lösung gefunden.
Ein kleines Tool, welches auf dem Host läuft und per Socket einfache Befehle wie "down" oder "up" entgegen nimmt und daraufhin den virtuellen Desktop wechselt. Im Gast-System muss man noch die dortigen Tastenkombinationen für das wechseln des virtuellen Desktops so ändern, dass stattdessen an den Host diese Befehle gesendet werden.
Hier gibt es das Programm, welches auf dem Host laufen muss. Dieses lauscht auf Port 9302 und nimmt die Befehle "up", "down", "left" und "right" an, wobei "left" und "right" aktuell das gleiche machen wie "up" und "down". Außerdem gibt es noch keine Konfigurationsmöglichkeiten oder Sicherheitsmechanismen.
Im Gastsystem erstellt man dann passende Scripte wie dieses hier:
#!/bin/sh
echo "up" | nc host 9302
Diese Scripte müssen dann nur noch per Tastenkombination ausgeführt werden.
Das ganze ist noch etwas primitiv, aber Verbesserungen sind geplant. Fortsetzung folgt (irgendwann).
Gnome 3 hat das nette Feature, dass ein GTK-Theme eine light und eine darkVariante hat, und einzelne GTK-Anwendungen können sich aussuchen, welche Theme-Variante sie nutzen wollen. Nutzt eine Anwendung jedoch nicht GTK, so gibt es trotzdem eine Möglichkeit zumindestens einen dunklen Fenster-Rahmen zu erhalten.
Welche Farbe ein Fenster hat, hängt nur von einer X-Property ab. Starten wir einfach mal xprop
und klicken auf ein dark-theme-Fenster, dann gibt das Programm alle Properties aus. Darunter findet sich dann auch diese Zeile:
_GTK_THEME_VARIANT(UTF8_STRING) = "dark"
Man kann mit xprop
auch Properties setzen:
xprop -f _GTK_THEME_VARIANT 8u -set _GTK_THEME_VARIANT "dark"
Klickt man dann auf ein Fenster, müsste seine Titelleiste das dark theme nutzen.
Um das gleiche in C mit der xlib zu machen, reicht folgender Code:
void set_dark_theme(Display *dp, Window window) {
Atom atom = XInternAtom(dp, "_GTK_THEME_VARIANT", False);
Atom type = XInternAtom(dp, "UTF8_STRING", False);
XChangeProperty(
dp,
window,
atom,
type,
8,
PropModeReplace,
(const unsigned char*)"dark",
4);
}
Mit xclip kann man von der Kommandozeile aus mit der X11-Zwischenablage interagieren. Das Tool kann seine Eingabe von stdin in die Zwischenablage speichern oder die Zwischenablage auf stdout ausgeben.
Folgendes Beispiel speichert die Ausgabe von ls in der Zwischenablage
ls | xclip -selection clipboard
Die Zwischenablage auf stdout ausgeben kann man mit
xclip -selection clipboard -o
Dass man X11-Anwendungen auch remote per ssh ausführen kann dürfte allseits bekannt sein. Die Anwendung ist dann allerdings an die ssh-Sitzung gebunden. Wird diese terminiert, wird auch die Anwendung beendet. Mit dem Tool Xpra (X Persistent Remote Applications) kann man jedoch auch Anwendungen Remote starten und dann nahtlos auf andere Computer bzw Displays übertragen oder die lokale Sitzung unterbrechen und später wieder aufnehmen.
Die Bedienung ist denkbar einfach. Zuerst muss nur die Anwendung auf dem Server gestartet werden:
xpra start ssh:user@server:100 --start-child=gedit
Dieser Befehl baut eine Verbindung zum Server auf und startet die gewünschte Anwendung, die nach dem Login auch gleich auf dem Client angezeigt wird. Die Zahl 100 steht für das Display ist frei wählbar. Wichtig dabei ist, dass man jedes Display nur für eine Anwendung benutzen kann. Möchte man mehrere Anwendungen starten, wählt man einfach eine andere Displaynummer.
Der lokale xpra-Prozess kann einfach beendet werden und die Anwendung läuft auf dem Server weiter. Möchte man später die Verbindung wieder herstellen, egal ob vom gleichen Computer oder einem anderen, geht das auch sehr einfach:
xpra attach ssh:user@server:100
Auf dem Server kann man sich mit xpra list eine Liste aller Sitzungen anzeigen lassen und mit xpra stop :100 ein Display und damit auch die Anwendung wieder stoppen.
Kommentare
Andreas | Artikel: Datenanalyse in der Shell Teil 1: Basis-Tools
Einfach und cool!
Danke Andreas
Rudi | Artikel: Raspberry Pi1 vs Raspberry Pi4 vs Fujitsu s920 vs Sun Ultra 45
Peter | Artikel: XNEdit - Mein NEdit-Fork mit Unicode-Support
Damit wird Nedit durch XNedit ersetzt.
Danke!
Olaf | Artikel: XNEdit - Mein NEdit-Fork mit Unicode-Support
Anti-Aliasing hängt von der Schriftart ab. Mit einem bitmap font sollte die Schrift klassisch wie in nedit aussehen.
Einfach unter Preferences -> Default Settings -> Text Fonts nach einer passenden Schriftart suchen.
Peter | Artikel: XNEdit - Mein NEdit-Fork mit Unicode-Support
Mettigel | Artikel: Raspberry Pi1 vs Raspberry Pi4 vs Fujitsu s920 vs Sun Ultra 45
Ich hatte gedacht, dass der GX-415 im s920 deutlich mehr Dampf hat als der Raspi4.
Mein Thinclient verbraucht mit 16 GB RAM ~11 W idle, das ist das Dreifache vom RP4. Das muss man dem kleinen echt lassen... Sparsam ist er.
Olaf | Artikel: Raspberry Pi1 vs Raspberry Pi4 vs Fujitsu s920 vs Sun Ultra 45
Ergebnisse von der Ultra 80 wären natürlich interessant, insbesondere im Vergleich mit dem rpi1.
kosta | Artikel: Raspberry Pi1 vs Raspberry Pi4 vs Fujitsu s920 vs Sun Ultra 45
ich hätt hier zugriff auf Ultra-80 4CPU 4GB 2x Elite3D.