Künstliche Intelligenz

Geht wirklich: Photoshop unter Linux


Windows-Spiele laufen inzwischen recht problemlos unter Linux, aber Adobe-Software und Microsoft Office sind immer noch ein Problem. Bis jetzt: Das Open-Source-Projekt WinBoat holt beliebige Windows-Programme auf den Linux-Desktop, möglichst macht es eine sehr simpel zu installierende Windows-VM im Docker-Container. c’t 3003 hat WinBoat ausführlich getestet.

(Hinweis: Dieses Transkript ist für Menschen gedacht, die das Video oben nicht schauen können oder wollen. Der Text gibt nicht alle Informationen der Bildspur wieder.)

Guckt mal hier, das ist mein Linux und da starte ich jetzt mal Photoshop. Ja, die ganz aktuelle Version, legal über mein Creative-Suite-Abo. Und parallel dazu starte ich mal Microsoft Excel und Paint – warum nicht? Und natürlich ganz wichtig: Solitär.

Wenn ihr jetzt denkt, von Photoshop und MS Office gibt es doch gar keine Linux-Version und läuft das nicht total schlecht bzw. gar nicht mit diesen Linux-Windows-Kompatibilitätsfunktionen, also diesem Wine? Ja, habt ihr recht, aber es funktioniert trotzdem total problemlos.

Denn WinBoat ist das Zauberwort und damit läuft so gut wie jede Windows-Software. Das Tollste daran: Die ist so leicht zu installieren, dass ich das zuerst gar nicht glauben konnte. Ihr müsst auch nicht mit irgendwelchen windigen Windows-ISO-Dateien herummontieren – einfach den Installer starten, ein paar Mal klicken, fertig. Wo ist der Haken, fragt ihr euch? Sage ich euch in diesem Video. Bleibt dran.

Liebe Hackerinnen, liebe Internetsurfer, herzlich willkommen hier bei…

Ja, wenn man Leute fragt, warum sie nicht mal Linux ausprobieren, dann sagen sie ziemlich häufig zwei Sachen: „Ich brauche ganz dringend Programm XY aus der Adobe Suite.“ Oder halt: „Ich brauche unbedingt das echte Microsoft Word, Excel oder PowerPoint.“ Ja, und tatsächlich sind das zurzeit wirklich die allergrößten Hürden, die Leute davon abhalten, Linux eine Chance zu geben.

Bis vor ein paar Jahren waren das vor allem Spiele, die nicht richtig liefen unter Linux. Aber seit die Proton-Kompatibilitätsschicht immer besser geworden ist, laufen die meisten Windows-Spiele unter Linux – manchmal sogar schneller als unter Windows.

Einzige Ausnahme sind Titel mit Anti-Cheat-Software, die tief ins System eingreifen und die Linux prinzipbedingt nicht ausführt, weil es auch durchaus Leute gibt, die sagen: „Das ist keine Anti-Cheat-Software, das sind gefährliche Rootkits, die die Sicherheit des Systems gefährden.“ Also jedenfalls Fortnite, Valorant, Call of Duty – da gibt es keine Chance.

Warum rede ich über Spiele? Ja, weil solche ziemlich tief in Windows verankerte Software fürs digitale Rechte-Management benutzt auch Adobe. Und das ist einer der Gründe, warum Photoshop, Premiere, InDesign und Co. nicht gut unter Linux zu laufen bekommen sind, auch nicht mit der Kompatibilitätsschicht Wine. Ein anderer wichtiger Grund ist, dass Adobe offenbar kein Interesse hat an Kundschaft, die Linux benutzt.

Oh ja, und Letzteres gilt wohl auch für Microsoft, die ihre Office-Software nicht auf Linux portieren. Ja klar, es gibt natürlich inzwischen viele Varianten, die im Browser laufen, auch von Photoshop. Aber die haben am Ende doch weniger Funktionen als die echten Desktop-Varianten.

Das war jetzt die Problembeschreibung. Und jetzt kommt die Lösung. Die heißt WinBoat, ist kostenlos und Open Source. Und ich habe ja am Anfang schon gesagt: Die hatte ich bei mir so schnell und einfach installiert, dass ich zuerst dachte: Hä, was? Das kann ja nicht wahr sein. Ich muss da doch irgendwas vergessen haben oder so. Aber doch, das ist wirklich so einfach.

Also, das war bei mir so, weil ich die ganzen Voraussetzungen schon erfüllt hatte, ihr müsst aber eventuell doch noch was vorbereiten. Ich erkläre euch am Ende nochmal Schritt für Schritt, was ihr machen müsst.

Hier unter CachyOS, das ist gerade mein Hauptbetriebssystem – darüber haben wir schon mal ein Video gemacht –, da habe ich einfach diese AppImage-Datei von WinBoat runtergeladen, mit Rechts auf Eigenschaft bei Berechtigungen die Ausführung als Programm erlauben und dann nochmal mit Rechtsklick in der Konsole ausführen.

Keine Angst, ihr müsst nichts in der Konsole eingeben. Es öffnet sich dann nämlich sofort dieser hübsche grafische Installer. Und das geht dann alles automatisch, wie gesagt, wenn die Voraussetzungen erfüllt sind. Ich gehe mit euch am Ende dieses Videos nochmal die Installation genauer durch und erkläre, was ihr da einstellen könnt und was ihr vorher installiert haben müsst auf eurem Linux.

Auf jeden Fall: WinBoat holt sich hochoffiziell die Windows-Installationsdateien, also die ISO-Dateien von den Microsoft-Servern, modifiziert die so, dass der ganze Windows-Ballast nicht mit installiert wird, und legt auch direkt einen lokalen User an, was normalerweise nur mit Gefrickel funktioniert. Bei WinBoat alles vollautomatisch.

Ist die Installation durch, habt ihr ein Windows in einer virtuellen Maschine laufen. Genauer: WinBoat nutzt das Projekt Duckur für die Windows-Installation. Das ist halt Windows in einem Docker-Container, den man übrigens auch einzeln verwenden kann. Der lässt sich mit einem einzigen Befehl in der Konsole installieren.

Guckt euch mal das Projekt auf GitHub an, habe ich euch auch verlinkt in der Beschreibung. Aber wir nehmen hier mal den Service von WinBoat dankend an. Da geht das nämlich, wie erwähnt, alles automatisch. Da muss man nichts auf der Kommandozeile machen.

Wenn das Ding dann läuft, könnt ihr hier in der WinBoat-Oberfläche die virtuelle Windows-Maschine an- und ausschalten. Das geht einfach mit diesem Button hier. Und dann könnt ihr unter „Apps“ entweder das ganze Windows auf den Bildschirm holen oder aber einzelne in diesem Windows installierte Programme.

Wenn ich hier zum Beispiel auf „Command Prompt“ klicke, dann kriege ich hier unter Linux auf meiner KDE-Oberfläche die Windows-Eingabeaufforderung – einfach ein Fenster in CachyOS. Und ich kann in diesem Fenster auch „winver“ eingeben, und dann poppt da auf Linux dieser Windows-11-Versionshinweis in einem einzelnen Fenster auf.

Das heißt: Die einzelnen Windows-Fenster können auch noch andere Fenster aufrufen. Das funktioniert wirklich ganz gut. Richtig wild finde ich auch, dass man hier den Windows-Explorer direkt neben meinem Linux-Dateimanager Dolphin laufen lassen kann. Beide zeigen dann auch den gleichen Ordner an, nämlich den Linux-Home-Ordner. Der ist standardmäßig direkt eingebunden in die WinBoat-Windows-Installation.

Man findet den einfach unter Netzwerk Host.lan Data. Und wenn ich hier so ein Video anklicke: Wenn ich das in Dolphin anklicke, wird es in Linux abgespielt. Und wenn ich es im Explorer-Fenster anklicke, dann geht der Standard-Windows-Video-Player auf und spielt das Video parallel zum Linux-Player ab. Und was fällt euch auf? Richtig: Das ruckelt gar nicht.

Das war ja sonst häufiger mal bei Virtualisierung ein Problem. Und tatsächlich ist normalerweise die Performance dieses Dockur-Windows-Containers ziemlich schwammig, denn Dockur benutzt standardmäßig eigentlich die VNC-Technik.

Ich sage es jetzt noch mal ganz deutlich, weil es so kompliziert ist mit diesem Dockur: Dockur heißt das Open-Source-Projekt, das Windows in einem Docker-Container nach Linux bringt. Dockur, Docker, complicated. Dockur benutzt also standardmäßig VNC (Virtual Network Computing). Das hat den großen Vorteil, dass man dafür keine zusätzliche Software braucht, sondern dass das halt einfach im Browser läuft.

Tatsächlich geht das auch mit WinBoat. Wenn ihr darüber euer Windows startet, dann könnt ihr einfach in euren Browser eingeben, und dann seht ihr auch die Windows-Installation.

WinBoat verwendet aber offiziell die RDP-Technik. Das ist das Remote-Desktop-Protokoll, übrigens von Microsoft entwickelt, aber das nur am Rande. Das läuft deutlich schwupsiger als dieses VNC im Browser. Es erfordert allerdings Zusatzsoftware, hier in Form von FreeRDP 3. Aber das haben die meisten Linux-Distributionen ganz einfach in den Paketquellen – kann man also direkt installieren.

Am Ende kommt noch mal Genaueres zur Installation. Und das Besondere ist eben: Ich muss nicht den ganzen Windows-Desktop starten, sondern kann einzelne Windows-Programme aufrufen, die dann im Linux-Fenster laufen, so als wären das native Linux-Programme.

Guck mal: Hier ist zum Beispiel Word. Aber ich kann, wenn ich hier in WinBoat auf „Windows Desktop“ klicke, dann poppt einfach sofort der Windows-Desktop auf.

Das einzige, was darauf hindeutet, dass es nicht nativ läuft, ist hier dieser kleine Balken da oben, mit dem ich das Fenster minimieren kann. Aber sonst könnte man wirklich denken, dass das echt ist. Also auch die Darstellungsqualität ist auf jeden Fall nicht schlechter.

Man kennt das ja eigentlich von so VNC-Lösungen oder auch TeamViewer, dass man da schon häufiger so Kompressionsartefakte sieht. Das ist hier bei RDP nicht so. Aber die große Frage: Wie schnell läuft das?

Getestet habe ich das alles auf einem AMD Ryzen 9 7950X3D mit 32 Gigabyte RAM, also einem ziemlich leistungsfähigen Rechner. WinBoat habe ich hier in der Oberfläche 16 CPU-Kerne spendiert und 12 Gigabyte RAM. Außerdem 64 Gigabyte SSD-Speicher.

Und schaut mal hier: Wenn ich in Firefox den Browser-Benchmark Speedometer 3.1 laufen lasse, dann schneidet tatsächlich die in der VM laufende Windows-Version nur wenig schlechter ab als die hier auf dem nativ unter Linux laufenden Firefox. Nicht mal bei Geekbench gab es große Unterschiede: ungefähr 9 Prozent schlechter im Docker-Windows bei den Single-Core-Messungen, 13 Prozent bei Multi-Core.

Ja, und im Praxisbetrieb fühlt sich wirklich vieles super schnell an. Natürlich sowas wie Word, aber okay, das hat natürlich auch keine großen Leistungsanforderungen. Das komplette Windows im Docker reagiert meines Erachtens flotter, als viele Rechner, auf denen Windows 11 nativ läuft. Man muss aber auch sagen, dass das Docker-Windows wirklich sehr runtergestrippt worden ist und deshalb natürlich sowieso besser läuft als ein normales, gebloatetes.

Ich hatte während meiner Tests auch tatsächlich ein reales Problem, für das ich sonst wirklich aus Linux rausgegangen wäre und Windows gebootet hätte. Ich hatte so ein PDF, wo ich Sachen mit Signaturen und so machen musste. Und ja, das ging in meinem Fall nur mit dem echten Acrobat aus der Creative Suite. Und ja, das hat mit WinBoat dann tatsächlich problemlos funktioniert.

Hab einfach das PDF in meinen Linux-Home-Ordner reingeschmissen und dann in dem WinBoat-Windows in Acrobat rein. PDF geöffnet, bearbeitet, gespeichert, und dann war ich wieder zurück in Linux und konnte das von da das editierte PDF verschicken. Genauso soll es sein.

Interessant wird es natürlich mit aufwendigeren Sachen wie Photoshop. Das startet erst mal mit einem Warnhinweis, weil es keine kompatible GPU findet. Ich habe hier in dem Rechner zwar eine Nvidia RTX 4090 drin, aber die schiebt WinBoat nicht durch. Das virtuelle Durchschieben unterstützt WinBoat auch zurzeit nicht oder noch nicht. Ich weiß, das geht. Das ist aber durchaus komplex, also echte GPU-Hardware in die VM zu bringen – aber eben nicht mit WinBoat.

Aber Photoshop ist auf jeden Fall trotzdem gut nutzbar. Also ich würde das jetzt vielleicht nicht in WinBoat verwenden, wenn ich da den ganzen Tag mit arbeiten würde, aber mal kurz eine PSD verändern und da irgendwie eine Ebene verschieben – so wie ich Photoshop benutze, weil ich in den c’t-3003-Thumbnails zum Beispiel, die gestalte ich nicht, sondern die verändere ich noch manchmal. Dafür würde mir die Performance in WinBoat, also auf meinem Rechner, dicke reichen.

Aber Photoshop ist eines der Programme, die nur gut funktionieren, wenn man das ganze Windows nutzt, also nicht die Variante verwendet, wo man in Linux das Photoshop-Fenster öffnet. Bei dieser Variante, wo ich mir eben nur das Photoshop-Fenster in Linux reinhole, da gibt es ständig Probleme, also dass man Schaltflächen nicht klicken kann, dass die Menüs nicht sichtbar sind und nur so flimmern. Also das will man nicht. Das gilt aber nicht für alle Programme, sondern bei mir ist es vor allem bei Photoshop aufgetreten.

Deshalb: Photoshop auf dem ganzen Windows nutzen, also indem man in WinBoat auf Windows-Desktop draufklickt. Das Gleiche gilt für Premiere. Startet man das über den Windows-Desktop, läuft das für die erschwerten Umstände echt ganz gut. Also ich würde so Videos mit 1080p-Auflösung – da würde ich sagen, könnte man wirklich damit bearbeiten. Das ging wirklich echt schwupsig.

Ich habe da mal ein 4K-Video in die Timeline gezogen. Das fängt dann an zu ruckeln. Das macht dann keinen Spaß mehr. Aber 1080p geht. Ruft man Premiere direkt in Linux auf, also das Fenster, dann ist das Ganze auch wieder deutlich instabiler und interessanterweise fühlt es sich auch langsamer an.

Also zusammenfassend würde ich sagen: Leistungsfordernde Dinge wie Photoshop und Premiere immer nur über den Desktop laufen lassen. Einfache Sachen wie Word oder Excel gehen auch wirklich total problemlos ohne Umweg über den Desktop direkt in einem Fenster in Linux.

Aber halt, wie gesagt: mit meiner High-End-CPU hier. Auf einem anderen System mit Ryzen 5 9600X, also mit 6 statt 16 Kernen und 32 GB RAM, lief die Nummer auch noch okay, aber gefühlt etwas weniger smooth – vor allem, wenn man Apps außerhalb des Desktops startet. Also auch die weniger aufwendigen Sachen. Im vollen Desktop-Modus konnte man in Photoshop auch hier kleine Änderungen machen, aber ja, etwas weniger geschmeidig als auf dem Rechner mit der High-End-CPU.

Übrigens, falls ihr jetzt sagt: Hä, WinBoat, warum nehmt ihr nicht WinApps? Das ist doch bekannter, oder? Und das macht doch das Gleiche. Ja, richtig, das scheint tatsächlich bekannter zu sein und arbeitet auch mit diesem Docker-Windows-Projekt, also Windows in Docker. Aber das war bei meinen Versuchen viel frickeliger zu installieren, und das lief bei unseren Tests auf unterschiedlichen Rechnern schlechter als WinBoat.

Was allerdings cool ist: WinApps bindet die Windows-Programme auf Wunsch automatisch ins Linux-Startmenü ein. Das heißt, man kann die Sachen aufrufen, ohne über eine zusätzliche Oberfläche wie bei WinBoat zu gehen. Kann also direkt Start drücken, was weiß ich, „Paint“ eingeben, und dann steht da „MS Paint UWP“. Das holt sich sogar das richtige Icon in Linux und dann poppt das Fenster auf. Aber in meinem Test hier lief eben WinBoat stabiler und schneller.

Eine wichtige Frage noch: Ist das denn eigentlich legal mit dieser Windows-Installation?

Ja, die Dockur-Leute sagen: Ja, klar, wir machen nichts Illegales. Das Projekt enthält ausschließlich Open Source Code und kein urheberrechtlich geschütztes Material. Allerdings ist das gedockerte Windows nicht aktiviert. Also es zeigt auch nicht das Wasserzeichen an. Man kann offenbar damit arbeiten. Ich weiß nicht, wie lange man damit arbeiten kann.

Ich habe das hier bei mir einfach mal aktiviert. Es gibt ja an einigen Orten sehr günstige Windows-Keys. Also ich habe jetzt für meinen, glaube ich, 4,50 Euro oder so bezahlt. Das hat problemlos funktioniert. Das konnte ich dann einfach aktivieren und dann ist man auf der sicheren Seite, dass Windows auf jeden Fall lange funktioniert.

So, jetzt aber zur Installation. Also ich hatte ja am Anfang gesagt, dass man nichts tippen muss, also nicht ins Terminal, sondern dass alles über die grafische Benutzeroberfläche geht. Das stimmt auch, wenn man – und das war bei mir der Fall – schon Docker, Docker Compose v2 und FreeRDP v3 installiert hat. Das sind nämlich die Voraussetzungen.

Außerdem müsst ihr die Virtualisierungsfunktionen bei euch im BIOS beziehungsweise UEFI aktiviert haben. Das ist meist schon standardmäßig aktiv, aber guckt vorsichtshalber mal nach. Im UEFI heißt das bei AMD SVM oder AMD-V und bei Intel VT-X oder VMX.

Die drei benötigten Software-Pakete könnt ihr je nach eurem Linux auch mit eurem grafischen Paketmanager installieren oder halt auch auf der Kommandozeile – also wie ihr wollt. Also hier bei meinem CachyOS entweder grafisch in Octopi oder im Terminal, zum Beispiel mit:

sudo pacman -S --needed docker docker-compose freerdp

Bestätigen, zack – fertig.

Wenn ihr eine andere Linux-Distribution verwendet, guckt in die WinBoat-Dokumentation. Link ist in der Beschreibung. Oder, womit ich in letzter Zeit wirklich super gute Erfahrungen gemacht habe: Fragt einfach ChatGPT und copy-pasted bei Fehlern die konkreten Fehlermeldungen da rein. Auch wenn ChatGPT natürlich grundsätzlich mit Vorsicht zu genießen ist – aber die Linux-Sachen funktionieren wirklich gut. Die sind so gut dokumentiert im Netz, dass das mit ChatGPT super klappt.

So, also alles ist installiert. Jetzt müsst ihr nur noch dafür sorgen, dass der Docker-Service standardmäßig lädt. Das geht mit:

sudo systemctl enable --now docker.service

Danach müsst ihr euren User noch in die Docker-Gruppe aufnehmen:

sudo usermod -aG docker "$USER"

und dann nur noch

newgrp docker

Fertig.

Wenn ihr euer Home-Verzeichnis in der Windows-VM freigeben wollt, müsst ihr noch zwei Kernel-Module freischalten. Das geht mit:

echo -e "ip_tables\niptable_nat" | sudo tee /etc/modules-load.d/iptables.conf

Copy-pasted das einfach. Ich habe euch eine Doc-Datei mit den Befehlen verlinkt.

So, jetzt ist alles vorbereitet. Jetzt könnt ihr euch auf der WinBoat-GitHub-Seite das Ganze in der gewünschten Darreichungsform herunterladen. Ich habe das AppImage genommen. Das funktioniert bei den meisten Linux-Distributionen. Dann das AppImage ausführbar machen, z. B. mit Rechtsklick Eigenschaften Berechtigungen: „Die Ausführung als Programm erlauben“ und dann nochmal Rechtsklick „In Konsole ausführen“.

Dann startet der grafische Installer – und so startet ihr das Ding auch später manuell. Hier klickt ihr einmal die Lizenz ab, dann guckt der Installer, ob alle Voreinstellungen getroffen sind. Ja, alles klar, dann „Next“.

Dann könnt ihr euch eure Windows-Geschmacksrichtung aussuchen. Ich habe hier Windows 11 Pro genommen. Hier könnt ihr auch eigentlich die Sprache auswählen, aber bei Deutsch wird angezeigt, dass da irgendwas kaputt ist und man das nach der Installation umstellen soll. Next.

Dann euer User-Passwort eingeben. Der Username wird einfach aus Linux übernommen. Nice. Next.

Dann hier Hardware-Konfiguration: Wie viele Kerne ihr verwenden wollt. Ich habe einfach mal die Hälfte genommen. Und beim RAM habe ich jetzt mal etwas weniger als die Hälfte genommen, also 12 GB. Next.

Und dann geht die Downloaderei und Installation los. Das dauert jetzt etwas, aber wenn alles fertig ist, könnt ihr direkt euer neues Windows in Linux benutzen. Probiert das doch mal aus. Die Ergebnisse sind ja, wie ihr gesehen habt, je nach Hardware ziemlich unterschiedlich. Aber ausprobieren kostet ja nix.

Ach so, falls ihr es noch nicht wusstet: Von heise online gibt es jetzt den investigativen Cybercrime-Podcast Darknet Diaries auch auf Deutsch. Im Original von Jack Rhysider geht es um Hacker, Botnets, Kryptografie, Hacktivismus, Cyberkriminalität und all die Dinge, die in den verborgenen Ecken des Internets lauern. Hört mal rein! Es gibt alle zwei Wochen eine neue Folge – überall, wo es Podcasts gibt. Und abonnieren nicht vergessen!

c’t 3003 ist der YouTube-Channel von c’t. Die Videos auf c’t 3003 sind eigenständige Inhalte und unabhängig von den Artikeln im c’t Magazin. Die Redakteure Jan-Keno Janssen, Lukas Rumpler, Sahin Erengil und Pascal Schewe veröffentlichen jede Woche ein Video.


(jkj)



Source link

Beliebt

Die mobile Version verlassen