Hallo zusammen,
Nach der langen Schilderung diverser Probleme (die ich zum erheblichen Teil selbst nachvollziehen konnte), konnte ich heute rausfinden, wie ich die aktuelle Programmversion auf einem neuen Windows 11 Rechner betreiben kann.
Zuvor hatte ich es mit einer Installation von Python 3, dem Windows-Installer von PSS 0.8.31 und einem nachfolgenden Upgrade auf 0.9.3 mittels pip3 versucht. Letzteres startete vielversprechend, wollte dann aber noch, dass man ihm die Visual C++ Build Tools installiert, damit irgendwas für Qt zusammengebaut werden kann. Doch auch dann klappte das nicht, es kam eine mir nicht ausreichend verständliche Fehlermeldung.
Heute hatte ich dann die Idee, einen anderen Ansatz zu probieren, nämlich mit dem Windows Subsystem für Linux (WSL) mein Glück zu versuchen. Das war erfolgreich.
Zunächst muss man sich
WSL installieren.
Dazu startet man die PowerShell als Administrator.
In der Shell
> wsl --install
ausführen und den Rechner neu starten.
Und wieder rein in die Kraftmuschel, um die
Ubuntu Distribution zu installieren. Zwar stand in einer Anleitung, die käme standardmäßig mit, aber das war bei mir nicht der Fall. Also sagen, dass man Ubuntu haben möchte:
> wsl.exe --install Ubuntu
Man wird danach aufgefordert, einen Benutzernamen und ein Passwort festzulegen.
Ist das soweit passiert, hat man ein Ubuntu mit einem Python 3. Das gilt es zunächst auf den neuesten Stand zu bringen:
$> sudo apt-get update
$> sudo apt-get install python3-pip
Nun kann der
PSS installiert werden:
$> sudo apt install planetary-system-stacker
$> sudo apt update && sudo apt upgrade
Als das passiert war, konnte ich die Software mit
$> PlanetarySystemStacker
starten. Ein Problem fiel sofort auf: die Schriften waren winzig und nur schwer zu lesen. Und beim ersten Testlauf zeigte sich ein richtiger Show Stopper: die Anwendung hatte keine Schreibrechte und konnte das bearbeitete Bild nicht speichern. Mist...
Schreibrechte bekommt man, wenn man den PSS per sudo ausführt. Aber was macht man mit der Subminiatur-GUI?
Lösung gefunden bei
Set dpi of wsl2 windows independently of screen resolution · Issue #590 · microsoft/wslg
In der Datei .bashrc in /home/<user> folgendes Skript (z.B. nach der aliases-Definition) eintragen:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
wslg_dpi_scale() {
local dpi_scale WindowMetricsAppliedDPI
dpi_scale="${GDK_DPI_SCALE:-${QT_SCALE_FACTOR:-}}"
if [[ -z "${dpi_scale:-}" ]] ; then
WindowMetricsAppliedDPI=$("/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe" "(Get-ItemProperty -Path 'HKCU:\\Control Panel\\Desktop\\WindowMetrics').AppliedDPI")
WindowMetricsAppliedDPI=${WindowMetricsAppliedDPI%$'\r'}
dpi_scale=$(bc <<<"scale=2; $WindowMetricsAppliedDPI / 96")
fi
export GDK_DPI_SCALE=${GDK_DPI_SCALE:-$dpi_scale}
export GTK_SCALE=${GTK_SCALE:-$dpi_scale}
#
High DPI Displays | Qt 5.15
# export QT_AUTO_SCREEN_SCALE_FACTOR=${QT_AUTO_SCREEN_SCALE_FACTOR:-1}
# export QT_ENABLE_HIGHDPI_SCALING=${QT_ENABLE_HIGHDPI_SCALING:-1}
export QT_SCALE_FACTOR=${QT_SCALE_FACTOR:-$GDK_DPI_SCALE}
# export MESA_D3D12_DEFAULT_ADAPTER_NAME="Intel(R) UHD Graphics 770"
}
[ -d /mnt/wslg/runtime-dir ] && wslg_dpi_scale
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Und siehe da, PSS präsentiert sich vernünftig lesbar.
Und die Sache mit den Schreibrechten? Starte ich den PSS per sudo, um die Schreibrechte zu erhalten, dann greift diese Konfiguration für die Fontgrößen nicht. Man müsste das Skript irgendwo unter root eintragen, aber WSL verbietet hier sämtliche Manipulationen (gut so!). Ausführung des PSS also nicht über sudo, es muss eine Lösung her wie man Dateien speichern kann.
Also mal mit chmod 777 auf dem für die PSS-Projekte angelegten Verzeichnis unter /home/<user> probiert. Ich kürze ab: das klappt nicht, weil WSL irgendwie dazwischengrätscht.
Abhilfe schafft ein Mount eines Verzeichnisses auf dem Hostrechner, also z.B. unter C:\pssData. Dort kann man dann die zu verarbeitenden Videos hinlegen und PSS sieht sie dann auf der Linux-Seite. Wir brauchen also ein Verzeichnis im /home/<user>:
$> sudo mkdir /home/<user>/pssData
Dann gelingt etwas umständlich der
Start von PSS mit lesbaren GUI-Texten und Schreibrechten (de facto in C:\pssData, wo sich die fehlenden Berechtigungen in Kombination von Ubuntu und WSL nicht auswirken):
PowerShell starten
> wsl
$> cd /home/<user>
$> sudo mount -t drvfs c:/pssData /home/<user>/pssData
$> PlanetarySystemStacker
Leider muss man diesen Mount bei jedem Start machen. Ich habe auch versucht, das zu verskripten, bin aber auch wieder bei WSL angeeckt.
Mit der gefundenen Lösung kann ich mich arrangieren. Sollte jemand eine schlauere Lösung für die Schreibrechte finden als mein immer wieder neues Mounting, dann bitte gerne berichten.
CS und vielleicht hilft es ja jemandem.
Tom