Kategorie: Anwendungen

Adobe Photoshop CS5 unter Debian Bullseye

· · · 0 Kommentare

War mit dem in Debian Buster vorhandenen Wine bereits die 32-bit-Version von Adobe Photoshop CS5 mit ein paar Tricks zur Kooperation zu überreden, so funktioniert mit dem in Debian Bullseye vorhandenen Wine auch die 64-bit-Version.

Die Installaton und Aktualisierung läuft bis auf ein paar kleine Anpassungen analog zur bereits beschriebenen Vorgehensweise.

Installation

Davon ausgehend, daß die Installations-DVD im Laufwerk liegt, ist die Installation schnell erledigt. Nach dem Anlegen einer passenden Umgebung

$ WINEPREFIX="$HOME/wineps64" winecfg
...

wird auf der Kommandozeile in das Installationsverzeichnis gewechselt und anschließend die Installation gestartet

$ cd /media/cdrom0/Adobe\ CS5/
$ WINEPREFIX="$HOME/wineps64" wine Set-up.exe
...

Eventuell im Laufe der Installation auftretende Wine-Warnungen können ignoriert werden.

Aktualisierung

Da die von Adobe ausgelieferte "AdobePatchInstaller.exe" auch unter Bullseye genauso wenig funktioniert wie unter Buster, wird die Aktualisierung manuell durchgeführt. Nach dem Öffnen einer Kommandozeile innerhalb der Wine-Umgebung

$ WINEPREFIX="$HOME/wineps64" wine cmd

wird die "Setup.exe" aufgerufen. Es ist lediglich zu beachten, daß diese in 64-bit-Umgebungen im Verzeichnis "Program Files (x86)" statt "Program Files" liegt und ggf. der Pfad des entpackten Installationspakets anzupassen:

c:\>"C:\Program Files (x86)\Common Files\Adobe\OOBE\PDApp\core\..\DWA\Setup.exe" --installSourcePath=h:\Downloads\AdobePhotoshop12_5-mul-AdobeUpdate

c:\>Begin Adobe Setup
UI mode: Silent
100.00%
End Adobe Setup. Exit code: 0
002b:err:ole:CoUninitialize Mismatched CoUninitialize

Wichtig ist die Ausgabe, daß die Aktualiserung zu "100.00%" durchgeführt wurde sowie die Ausgabe des korrekten "Exit-Code: 0".


Synology Hyper Backup: Lokales Sicherungsziel

· · · 0 Kommentare

Leider ist die Oberfläche von Synologys Hyperbackup nicht sonderlich gesprächig, was die Unterschiede zwischen den einzelnen Sicherungsformen angeht.

Auch das Synology Knowledge Center liefert mit "Wie kann ich meine Daten mit Hyper Backup in einem lokalen freigegebenen Ordner oder auf USB sichern?" keine sinnvolle Anwort auf die Frage, wie sich die Sicherungsart "Lokaler Ordner und USB" von der Sicherungsart "Lokaler Ordner und USB (Einzelversion)" unterscheidet.

Des Rätsels Lösung findet sich im Reddit-Beitrag "What's the difference between "Local Folder & USB" and "Local Folder & USB (single-version)?":

I think you'll need the single-version. The other version wraps the files in a format that has be to opened with HyperBackup (.hbk). For just straight file copies I use the single-version.

Während die "Einzelversion" also 1:1 die zu sichernden Dateien kopiert, sichert die "andere" Version die Dateien in eine HyperBackup-Datei. Diese unterstützt auch Kompression, Versionierungen und Verschlüsselung.


Virtueller Webserver auf Debian-Basis

· · · 0 Kommentare

Als Test- und Entwicklungssystem für Websites bietet sich ein virtueller Server auf der Basis von LAMP an: Linux, Apache, MariaDB und PHP (Perl, Python, ...). So bleibt der Server mit all seinen Komponenten vom eigentlichen Arbeitssystem getrennt, kann einzeln gesichert und ggf. auch wiederhergestellt werden und Dank Snapshots kann man eventuell fehlschlagenden Experimenten deutlich entspannter entgegensehen.

Sofern das Betriebssystem bereits entsprechende Mechanismen mitbringt, sollte für die Virtualisierung auf Bordmittel zurückgegriffen werden - unter Linux zum Beispiel auf GNOME Boxes oder den Virtual Machine Manager, unter Windows 10 Professional oder Enterprise stattdessen auf Hyper-V. Ansonsten kann auch eine alternative Lösung wie VMware Workstation Player oder Oracle VirtualBox installiert werden.

Auf Details der Virtualisierungsumgebung wird hier nicht weiter eingegangen, diese können bei Bedarf in der jeweiligen Dokumentation nachgelesen werden.

Der Server wird absichtlich "offen" als internes System konfiguriert und sollte in dieser Konfiguration auf keinen Fall aus dem Internet erreichbar sein!

Weiterlesen


ORA-01861: literal does not match format string

· · · 0 Kommentare

Als jemand, der überwiegend MySQL bzw. MariaDB als Datenbank verwendet, stolpere ich mehr oder minder regelmäßig über die Aufgabe, Oracle ein Datum mitzuteilen.

Als Workaround hilft ein

ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD';

am Beginn der Session, dann funktionieren auch Angaben wie '2021-09-30'.


PuTTY-Einstellungen vereinheitlichen

· · · 0 Kommentare

Innerhalb von PuTTY ist leider keine Möglichkeit vorgesehen, die Einstellungen verschiedener Sessions zu verheinheitlichen. Sich im Laufe der Benutzung ergebende Änderungen an den "Default Settings" müssen ggf. manuell in andere gespeicherte Sessions kopiert werden.

Bei mehr als einer Hand voll Sessions ist die Übertragung nervig und lästig, aber ein kleines Perl-Skript kann die Aufgabe automatisiert erledigen:

# +----------------------------------------------------------------------------+
# |  putty-settings.pl                                                         |
# |    copy settings from 'Default Settings' to all other sessions             |
# +----------------------------------------------------------------------------+
# |  Copyright (c) 2021 by Andreas Thul                                        |
# |  putty-settings.pl is published under the Perl Artistic License 2.0        |
# +----------------------------------------------------------------------------+
# |  2021-09-29 initial release                                                |
# +----------------------------------------------------------------------------+

# - import ---------------------------------------------------------------------

use strict;
use warnings;
use Win32::TieRegistry(Delimiter=>"/", ArrayValues=>0);

# -- global --------------------------------------------------------------------

my $sourceSessionName = 'Default%20Settings';

my @valuesToCopy = qw(
	ANSIColour AltF4 AltOnly AltSpace AlwaysOnTop ApplicationCursorKeys ApplicationKeypad AutoWrapMode
	BCE BackspaceIsDelete Beep BeepInd BellOverload BellOverloadN BellOverloadS BellOverloadT BellWaveFile BlinkCur BlinkText BoldAsColour BoldFont BoldFontCharSet BoldFontHeight BoldFontIsBold
	CJKAmbigWide CRImpliesLF CapsLockCyr ChangeUsername CloseOnExit Colour0 Colour1 Colour10 Colour11 Colour12 Colour13 Colour14 Colour15 Colour16 Colour17 Colour18 Colour19 Colour2 Colour20 Colour21 Colour3 Colour4 Colour5 Colour6 Colour7 Colour8 Colour9 ComposeKey CtrlAltKeys CtrlShiftCV CtrlShiftIns CurType
	DECOriginMode DisableArabicShaping DisableBidi
	Environment EraseToScrollback
	Font FontCharSet FontHeight FontIsBold FontQuality FontVTMode FullScreenOnAltEnter
	HideMousePtr
	LFImpliesCR LineCodePage LinuxFunctionKeys LocalEcho LocalEdit LockSize
	MouseAutocopy MouseIsXterm MouseOverride MousePaste
	NetHackKeypad NoAltScreen NoApplicationCursors NoApplicationKeys NoDBackspace NoMouseReporting NoPTY NoRemoteCharset NoRemoteClearScroll NoRemoteResize NoRemoteWinTitle
	PasteControls PasteRTF Present Printer
	RXVTHomeEnd RawCNP RectSelect RekeyBytes RekeyTime
	ScrollBar ScrollBarFullScreen ScrollOnDisp ScrollOnKey ScrollbackLines ScrollbarOnLeft ShadowBold ShadowBoldOffset StampUtmp SunkenEdge
	TelnetKey TelnetRet TermHeight TermWidth TerminalModes TerminalSpeed TerminalType TrueColour TryAgent TryPalette
	UTF8Override UTF8linedraw UseSystemColours
	WarnOnClose WideBoldFont WideBoldFontCharSet WideBoldFontHeight WideBoldFontIsBold WideFont WideFontCharSet WideFontHeight WideFontIsBold WinNameAlways WinTitle WindowBorder WindowClass Wordness0 Wordness128 Wordness160 Wordness192 Wordness224 Wordness32 Wordness64 Wordness96
	Xterm256Colour
);

# -- main ----------------------------------------------------------------------

$|=1;

# HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions

my $puttyRegistry = $Registry->{"HKEY_CURRENT_USER/Software/SimonTatham/PuTTY/Sessions/"};
my $sourceSession = $puttyRegistry->{"$sourceSessionName/"};

foreach my $currentSessionName ($puttyRegistry->SubKeyNames) {

	next if $currentSessionName eq $sourceSessionName;

	print "$currentSessionName\n";

	my $targetSession = $puttyRegistry->{"$currentSessionName/"};

	foreach my $ValueName (@valuesToCopy) {

		print ".. $ValueName\n";

		my($ValueData, $ValueType)= $sourceSession->GetValue($ValueName);
		$targetSession->SetValue($ValueName, $ValueData, $ValueType);
	}
}

# -- eof -----------------------------------------------------------------------

Im oberen Bereich des Skrips kann bei Bedarf noch der Name der Quell-Session (hier "Default%20Settings") sowie die zu übertragenden Parameter angepasst werden, anschließend überträgt das Skript bei jedem Durchlauf die Werte aller aufgelisteten Parameter aus der Quell-Session in alle anderen Sessions.