C++ für einsteiger - ein Basis-Tutorial www.mbergmann-sh.de

C++ Tutorial – Was ist C Plus Plus?

Die Programmiersprache C++ ist weltweit eine der beliebtesten Entwicklersprachen für professionelle Software. Mit ihr kannst du sehr systemnah komplexe und schnelle Programme schreiben, die mit wenig Aufwand auf nahezu jedes beliebige Betriebssystem portierbar sind, für das es einen C++-Compiler gibt.

C++ wurde ab 1979 von Bjarne Stroustrup bei AT&T als Erweiterung der Programmiersprache C entwickelt. Die Sprache ermöglicht sowohl die effiziente und maschinennahe Programmierung als auch eine Programmierung auf hohem Abstraktionsniveau. Was Stroustrup hinzufügte, sind
die Merkmale der objektorientierten Programmierung (OOP). Somit wird – zumindest theoretisch – das bis dahin gängige Paradigma der prozeduralen Programmierung zugunsten eines dem menschlichen Denken ähnlicheren Ansatzes abgelöst.

C++ wie auch C sind Compilersprachen – was besagt, dass der Quellcode vor der Ausführung in Maschinensprache übersetzt werden muss. Diese Aufgabe kommt dem C++-Compiler zu. C++ ist eine Obermenge von C – das besagt, dass jedes gültige C-Programm mit einem C++-Compiler übersetzt werden kann. Was es keinesfalls besagt ist, dass du über C-Kenntnisse verfügen musst, um C++ zu erlernen! Die beiden Sprachen sind nicht annähernd so nah miteinander verwandt, wie man auf den ersten Blick glauben möchte und oft ist es besser, ohne festgefahrene Strukturen an eine neue Sprache heran zu gehen.

Die Sprache C++ verwendet nur etwa 60 Schlüsselwörter („Sprachkern“), manche werden in verschiedenen Kontexten (static, default) mehrfach verwendet. Ihre eigentliche Funktionalität erhält sie, ähnlich wie auch die Sprache C, durch die C++-Standardbibliothek, die der Sprache fehlende wichtige Funktionalitäten beibringt (Arrays, Vektoren, Listen, . . . ) wie auch die Verbindung zum Betriebssystem herstellt (iostream, fopen, exit, . . . ). Je nach Einsatzgebiet kommen weitere Bibliotheken und Frameworks dazu. C++ legt einen Schwerpunkt auf die Sprachmittel zur Entwicklung von wiederverwendbaren Bibliotheken. Dadurch favorisiert es verallgemeinerte Mechanismen für typische Problemstellungen und besitzt nur wenige, kaum in die Sprache integrierte Einzellösungen.

Böhmische Dörfer? Das wird sich nun bald ändern…


[Inhaltsverzeichnis] | [zurück] | [vorwärts]

QuickBasic für Linux - QB64 unter Debian 12 installieren - www.mbergmann-sh.de

QuickBasic für Linux – QB64 unter Debian Linux Bookworm installieren

Ein Retro-Computing Abenteuer

BASIC ist ja die Sprache, mit der die Meisten meines Jahrgangs ihre ersten Schritt als Programmierer gemacht haben. Bei mir waren das Commodore BASIC 2.0 auf dem legendären C64, Commodore BASIC 3.5 auf dem C16/Plus4, AmigaBasic, GFA-Basic und MaxonBASIC auf dem Amiga – und natürlich GW-BASIC und Microsoft QuickBasic auf der ersten MS-DOS-Kiste in meiner Raupensammlung. Nach wie vor ist BASIC eine Programmiersprache, die viele Vorteile bietet: Sie ist leicht zu erlernen, je nach BASIC-Dialekt auch für mächtige Programmimplementierungen gut zu gebrauchen – und BASIC macht Spaß.

Auch heute noch verwende ich gerne mal BASIC für schnelle Entwürfe und Machbarkeitsstudien (PureBASIC), aber auch für komplexere Programme, wenn ich nicht auf C++ und Qt6 zurückgreifen möchte. Oft liefern mir dabei alte BASIC-Listings die Ideen für die Umsetzung von Programmen – und hier kommt QB64 ins Spiel…

Was ist QB64?

QB64 (ursprünglich QB32) ist ein BASIC-Compiler für Windows, Linux und Mac OS X, der für die Kompatibilität mit Microsoft QBasic und QuickBASIC entwickelt wurde. QB64 emittiert C-Quellcode und integriert selbst einen C++-Compiler, um die letztendliche Kompilierung des generierten Zwischencodes mit gcc-Optimierung zu ermöglichen. Mit der derzeit technisch genauesten Nachbildung des originalen Microsoft-Produkts zählt QB64 zu den Anwendungen im Bereich Retrocomputing.

QB64 implementiert die meisten QBasic-Funktionen und kann viele QBasic-Programme ausführen, einschließlich der Beispielprogramme Gorillas und Nibbles, die von Microsoft geschrieben und dem Originalprodukt beigelegt waren. Darüber hinaus enthält QB64 eine Entwicklungsumgebung, die der QBasic-Entwicklungsumgebung ähnelt. QB64 erweitert auch die QBASIC-Programmiersprache um 64-Bit-Datentypen, bessere Sound- und Grafikunterstützung und bessere Anbindung an Betriebssystemfunktionen. Es kann auch einige DOS/x86-spezifische Funktionen wie Mauszugriff über den Interrupt 33h und mehrere Timer emulieren.

QB64 unter Linux

Meistens arbeite ich an einem Linux-Rechner und was liegt da näher, als QB64 auch hier zu verwenden? Das Programm ist kostenlos, OpenSource – und es lässt sich klaglos sowohl auf den 64-Bit-, als auch auf den 32-Bit-Versionen der gängigen Linux-Distributionen kompilieren. In diesem Tutorial zeige ich dir, wie man QB64 unter Debian 12 Linux (aka „Bookworm“) installiert.

Quellcode besorgen und QB64 compilieren

QB64 existiert derzeit in zwei Versionen. Während die ursprüngliche Originalversion nur noch sporadisch aktualisiert wird (Version 2.02), gibt es auch noch einen wesentlich aktuelleren Branch, die „Phoenix Edition“ mit einem erweiterten Befehlssatz, die (Stand 03/2025) noch aktiv weiterentwickelt wird. Beide haben ihre Vor- und Nachteile. Die ursprüngliche Version zeichnet sich durch schnellere Compilerzeiten mit vergleichsweise langsamem Programmcode aus, während die Phoenix Edition den Quellcode deutlich langsamer übersetzt, dafür aber hochoptimierte, schnelle Programme erzeugt. Es bleibt dir selbst überlassen, welcher Version du den Vorzug gibst.

Der Quellcode zu QB64 ist frei zugänglich für jedermann auf GitHub verfügbar.
Alte Original-Version: https://github.com/QB64Team/qb64
Phoenix Edition: https://github.com/QB64-Phoenix-Edition/QB64pe

Um darauf zugreifen zu können, musst du auf deiner Linux-Maschine zunächst ein paar Vorbereitungen treffen:

# 1. git installieren:
sudo apt install git
# 2. Verzeichnis für Quellcodes einrichten:
mkdir ~/git
# 3. Verzeichnis betreten:
cd ~/git
# 4. QB64 Quellcode abrufen:
# Original-Version: 
git clone https://github.com/QB64Team/qb64.git
# oder Phoenix Edition: 
git clone https://github.com/QB64-Phoenix-Edition/QB64pe.git
# Hinweis: Wenn du dich für die Phoenix Edition entscheidest, dann solltest 
# du zusätzlich das Paket kdialog installieren - andernfalls musst du beim 
# Laden und Speichern von Quellcode Pfad und Programmname umständlich in 
# einer Shell eingeben!
  sudo apt install kdialog

Das Herunterladen kann ein Weilchen dauern. Sobald der Download beendet ist, kannst du QB 64 compilieren. Eventuell fehlende Pakete und Abhängigkeiten werden dabei automatisch nachinstalliert. Die weitere Vorgehensweise bleibt für beide Versionen die Gleiche:

# 5. Wechsle in das qb64-Verzeichnis:
# Original-Version:
cd qb64
# oder Phoenix Edition:
cd QB64pe
# 6. Starte die Übersetzung:
./setup_lnx.sh
# 7. Warteschleife... Programm wird übersetzt.
# Koch dir ein Käffchen oder wende dich deinem Haustier zu...

Sobald der Compiler fertig ist, öffnet sich die Entwicklungsumgebung von QB64. Das Installations-Script hat übrigens automatisch eine Verknüpfung in deiner Startleiste angelegt! Du findest QB64 künftig unter Entwicklung->QB64 Programming IDE und kannst somit jederzeit mit dem Programmieren in BASIC loslegen. 😉

 

Ein Testprogramm zur Geschwindigkeitsmessung

' ----------------------------------
' -- loop.bas                     --
' -- Laufzeitmessung Do-Loop      --
' --                              --
' -- Windows 10 64-Bit            --
' -- QB64 Benchmark:              --
' -- 689647 loops, 4.23 sec.      --
' --                              --
' -- Phoenix Edition Benchmark:   --
' -- 689647 loops, 2.14 sec.      --
' --                              -- 
' -- Windows 10 WSL2 Debian Linux -- 
' -- QB64 Benchmark:              -- 
' -- 689647 loops, 5.33 sec.      -- 
' --                              -- 
' -- Phoenix Edition Benchmark:   -- 
' -- 689647 loops, 4.45 sec.      --
' --                              --
' -- Testrechner:                 --
' -- Intel Core I7 @3.60 GHz      --
'-----------------------------------
Cls
Randomize Timer
zahl1 = 100
count = 0
an = Timer ' Zeitmessung starten

Do
  zahl1 = zahl1 + 1.6
  count = count + 1
  Print Using "######"; count;
  Print ": ";
  Print Using "#######.##"; zahl1
Loop Until zahl1 > 1111110

aus = Timer ' Zeitmessung beenden
secs = (aus - an) ' Laufzeit (Sekunden) berechnen
mins = secs / 60.0
hours = mins / 60.0

' -- Laufzeit ausgeben --
Print
Print "Runtime: ": Print
Print Using "#######.##"; secs;
Print " Sekunden"
Print Using "#######.##"; mins;
Print " Minuten"
Print Using "#######.##"; hours;
Print " Stunden"
End

Programmieren mit QB64/QBasic – Links zu Tutorials und Foren

Vielleicht hast du ja Lust auf Retro-Programming mit BASIC und QB64 bekommen? Hier habe ich einige hilfreiche Links zusammengetragen, die dir beim Einstieg und der täglichen Arbeit nützlich sein können:

SelfQB – ein online-Tutorial für Einsteiger
Lerne QuickBasic kennen und arbeite dich in die Programmierung ein!

QBasic-Tutorial von Claus-Dieter Volko
mit 43 Beispielprogrammen und 8 Hausaufgaben mit Lösungen.

Programmieren in QBasic
ein weiterer guter Einsteiger-Kurs, der sich vor allem an Schüler wendet.

QBasic-Kurs für Gymnasien
Kleiner Qbasic-Einsteigerkurs auf 13 Seiten. Hierbei handelt es sich um eine Zusammenfassung eines 8-stündigen QBasic-Programmierkurses am Gymnasium Wolbeck.

„Basic lernen“ – 8-teiliges Online-Tutorial
Exzellentes QBasic-Tutorial, das systematisch in die wichtigsten Funktionen und Befehle von QBasic einführt. Liebevoll aufbereitet, mit vielen Programmbeispielen. Auch für absolute Neueinsteiger ideal geeignet.

Modernes QuickBasic
ein Tutorial für Fortgeschrittene und Profis in der QB- Programmierung
Dieser Kurs füllt eine Lücke – ein Tutorial, das viele Fragen von fortgeschrittenen Programmierern beantwortet und diesen wertvolle Tipps gibt. Der bunte Themenreigen spannt sich von der Interrupt- Programmierung über das modulare Programmieren mit MAKE-Modulen und INCLUDE-Dateien bis hin zur Programmierung einer eigenen Scriptsprachen- Interpreters mit QB.

Die QB Monster FAQ
In dieser FAQ (Frequently Asked Questions) sind all die Fragen gesammelt und beantwortet, die seit Jahren hundertfach in allen QBasic-Foren weltweit gestellt werden. Die FAQ umfasst 1028 Fragen mit über 2000 Antworten.

QB64.com
englischsprachiges Forum rund um QB64

QB64 Wiki
englischsprachige Befehlsübersicht zu QBasic/QB64

Phoenix Edition QB64 Tutorial
ein englischsprachiges Tutorial zur Spieleprogrammierung mit QB64 „Phoenix Edition“

Das war’s dann auch erst mal zu Retro-Programming mit QBasic und QB64 unter Linux. Schau gern auch mal bei meinen anderen Tutorials rein!

War dir dieses Tutorial hilfreich? Dann freue ich mich über einen kleinen Obolus für meine IT-Kasse! 🙂

lightScribe Files für Linux - System Software, SDK, Labeling Software

LightScribe unter Debian Linux installieren

Eine Anleitung zur Installation und Nutzung unter Debian-basierten Linux-Distributionen (32- und 64-Bit)

Lightscribe ist eine von HP und Lite-On im Jahr 2006 entwickelte Technik zum Beschriften einer CD oder einer DVD mit Hilfe eines CD/DVD-Brenners. Für eine solche Beschriftung sind spezielle Rohlinge und LightScribe-fähige Brenner nötig.

Seit ca. 2013 wurde LightScribe obsolet, obwohl das System auch nach heutigem Stand durchaus eine brauchbare Methode zur Beschriftung von optischen Datenträgern darstellt. Bereits im Laufe des Jahres 2011 stellte HP den Einbau von LightScribe-fähigen optischen Laufwerken in HP-Notebooks und -Desktops ein. Auch andere Hersteller haben die Produktion von LightScribe-fähigen Laufwerken mittlerweile beendet. Die offizielle LightScribe-Website war noch bis 2013 erreichbar, ist aber zwischenzeitlich von HP entfernt worden, sodass LightScribe-Treiber und -Programme nur noch über inoffizielle Quellen bezogen werden können.

In der Folge wurden LightScribe-fähige Medien schnell ziemlich teuer und sind heute gefragte Verbrauchsmaterialien für Liebhaber und Nerds. Ich bin so Einer.

Wie arbeite ich mit diesem Tutorial?

Am besten liest du dir das komplette Tutorial einmal von vorne nach hinten durch und machst dir Stichpunkte – viele Aspekte zur Nutzung von LightScribe werden bereits im Abschnitt zur Installation auf 32-Bit Systemen angesprochen.

Benötigte Software

Um LightScribe unter Linux verwenden zu können, benötigst du die folgenden Packages:

  • lightscribe-1.18.27.10-linux-2.6-intel.deb (Treiber und System-Software)
  • lightscribeApplications-1.18.15.1-linux-2.6-intel.deb (Anwender-Software, SimpleLabeler)
  • 4l_1.0-1_i386.deb (TemplateLabeler der Firma LaCie, vermag Bilder auf die CD-Oberfläche zu brennen)
  • optional: lightscribePublicSDK-1.18.6.1-linux-2.6-intel.rpm (Das SDK zum Programmieren eigener LightScribe-Anwendungen)

Als registrierter Benutzer meines Blogs kannst du die benötigten Packages hier als Sammelarchiv herunterladen:

Hardware und OS

Für dieses Tutorial habe ich LightScribe auf den folgenden Systemen mit Debian Linux 12 „Bookworm“ installiert und getestet:

  • Netbook MSI U100 WIND Ver. 001 (32-Bit, Intel ATOM N270 DualCore @1.599 GHz, 2 GB SDRAM)
  • ACER Aspire XC Workstation, Dual-Boot Linux/Windows 10 (64-Bit, Intel Core I7-4790 OctaCore @3.60 GHz, 16 GB SDRAM)
  • gleiche Maschine, Windows Subsystem für Linux (WSL2)
  • Brenner: Externes HP LightScribe DVD-Drive, USB 2.0/USB 3.0

Vorbereitungen

Öffne eine Shell und aktualisiere zuerst dein Betriebssystem:

sudo apt update && sudo apt upgrade -y

Transferiere danach die benötigten Packages auf dein Zielsystem. Öffne eine Shell in dem Verzeichnis, in welchem du die Packages abgelegt hast. Wenn du das hier im Blog bereitgestellte Sammelarchiv verwendest, dann teste es zunächst auf eventuelle Fehler:
unzip -t lightScribeLinux.zip

Entpacke anschließend das Archiv:

unzip -o lightScribeLinux.zip

Im Anschluss findest du ein neues Verzeichnis lightScribeLinux. Wechsle in dieses Verzeichnis und lasse es dir anschließend anzeigen:

cd lightScribeLinux
ls -l

Du findest die folgenden Ordner und Dateien:

LightScribe Linux Files - www.mbergmann-sh.de

 

 

 

 

Bei den beiden Ordnern Artwork und Templates handelt es sich um zusätzliche Bilder und Templates für den LightScribe Labeler. Wir werden sie später an einen adäquaten Platz im Dateisystem verschieben. Die Datei LSAPI_Reference_Manual_Linux.pdf ist das Programmierer-Handbuch zu LightScribe – kopiere es in deinen Dokumente-Ordner, falls Du planst, eigene LightScribe-Anwendungen zu entwickeln.

Alle anderen Dateien sind Packages für die Debian (.deb) und RedHat (.rpm) Paketmanager. Sie werden für die Installation von LightScribe auf den unterschiedlichen Systemen benötigt.

Wichtig:

Bevor die Basis-Installation erfolgt, muss zuerst eine Gruppe wheel angelegt und die Benutzer, die später in der Lage sein sollen, CDs zu bedrucken, hinzugefügt werden. Ansonsten ist die Nutzung der im weiteren Verlauf genannten Programme nicht möglich!

sudo addgroup wheel
sudo adduser BENUTZERNAME wheel
newgrp

BENUTZERNAME ist dabei durch den eigenen Benutzernamen zu ersetzen.

Installation auf 32-Bit Systemen (x32/i686)

Auf einem 32-Bit System verläuft die Installation von LightScribe nebst Anwender-Software relativ unspektakulär. Installiere zunächst das Basis-Paket mit dem Treiber und den Bibliotheken:

sudo dpkg --install lightscribe-1.18.27.10-linux-2.6-intel.deb

Anschließend kannst du die Anwender-Software installieren:

sudo dpkg --install lightscribeApplications-1.18.15.1-linux-2.6-intel.deb
sudo dpkg --install 4l_1.0-1_i386.deb

Es schadet nicht, anschließend für die sichere Verfügbarkeit der installierten Komponenten zu sorgen:

sudo apt install -f
sudo ldconfig

Nachdem wir nun Grundsystem und Anwendersoftware erfolgreich installiert haben, wird es Zeit für einen ersten Test. Rufe dazu den LaCie LightScribe Labeler in der Shell auf:

4L-gui

 

Das GUI ist intuitiv und weitgehend selbsterklärend. Templates können in den Formaten *.jpg, *.png, *.bmp und *gif mit einer Größe von 1200×1200 Pixeln als Graustufen-Bilder verarbeitet werden. Das Erstellen eigener Labels ist denkbar einfach. LightScribe Labeler sucht im Home-Verzeichnis des Users nach Vorlagen.

Das Sammelarchiv enthält den Ordner Artwork mit einigen hübsche Vorlagen. Kopiere sie in deinen Home-Ordner:

cp -R Artwork ~/username

Bei der Installation des Package lightscribeApplications-1.18.15.1-linux-2.6-intel.deb wurde unter /opt das Verzeichnis lightscribeApplications mit den Unterverzeichnissen common und SimpleLabeler erstellt. In common befinden sich die Qt4-Laufzeitkomponenten der Anwendung, im Verzeichnis SimpleLabeler findest du die Anwendung SimpleLabeler, ein einfaches Programm, mit dem du LightScribe-Rohlinge mit Text beschriften kannst. Testen wir auch dieses:

cd /opt/lightscribeApplications/SimpleLabeler
sudo ./SimpleLabeler

Aha! Das funktioniert so nicht! Du erhältst die Fehlermeldung:

./SimpleLabeler: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

Offenbar fehlt uns eine Systembibliothek? Nö, dem ist nicht so! Allerdings liegt die libpng unter Debian 12 in der Version 1.6 – und nicht, wie gefordert, in der Version 1.2 vor. Abhilfe schafft ein symbolischer Link:

cd /usr/lib/i386-linux-gnu
ln -s libpng16.so libpng12.so.0
cd /opt/lightscribeApplications/SimpleLabeler
sudo ./SimpleLabeler

LightScribe simpleLabeler Linux - www.mbergmann-sh.de

Löppt! Zwar beschwert sich Linux mit der Warnung

libpng warning: Application built with libpng-1.2.5 but running with 1.6.39

aber das können wir getrost vernachlässigen.

Um SimpleLabeler ohne Umstände aus jedem Verzeichnis in einer Shell starten zu können, ändert man zunächst den Benutzer für den Pfad /opt/lightscribeApplications  und fügt dann noch ein paar Zeilen zur Datei .bashrc im Home-Verzeichnis des jeweiligen Benutzers ein:

# LightScribe Pfad globalisieren
sudo chown -R BENUTZERNAME:wheel /opt/lightscribeApplications
nano ~/.bashrc

Hier trägt man nun am Ende der Datei das Folgende ein:

# LightScribe SimpleLabeler Pfad globalisieren
export SLABELER=/opt/lightscribeApplications
export PATH=$SLABELER:$SLABELER/common:$SLABELER/common/Qt:$PATH
export PATH=$SLABELER/SimpleLabeler:$SLABELER/SimpleLabeler/content:$PATH
export PATH=$SLABELER/SimpleLabeler/content/html:$SLABELER/SimpleLabeler/content/images:$PATH
export PATH=$SLABELER/SimpleLabeler/plugins/accessible:$PATH
alias slabeler='sudo /opt/SimpleLabeler/SimpleLabeler'

Melde dich anschließend in der Shell ab und starte sie neu oder gib direkt den folgenden Befehl ein:

source ~/.bashrc

Du kannst nun den LightScribe SimpleLabeler in der Shell direkt oder über seinen Alias starten:

# Direkt:
sudo SimpleLabeler

# via Alias:
slabeler

Um die Qualität des Kontrastes der Labels für die LightScribe-Programme zu beeinflussen, musst du das folgende Script ausführen:

sudo /usr/lib/lightscribe/elcu.sh

Du wirst nun nach einem Wert für den erweiterten Kontrast gefragt:

  • 1 – schaltet den verstärkten Kontrast ein, die Dauer des Brennvorgangs erhöht sich drastisch.
  • 2 – schaltet den verstärkten Kontrast ab, kürzerer Brenndauer

Hinweis: Um den Kontrastwert wieder zu verändern, rufst du das Script einfach erneut auf.

Somit können wir nun CD- und DVD-Labels brennen und hätten die Installation von LightScribe für den Durchschnittsanwender auf einer x32/i686-Architektur eigentlich schon gemeistert. Spannend wir es noch einmal, wenn auch das LightScribe SDK für Programmierer installiert werden soll – dieses liegt uns nämlich nur als RedHat-Paket vor und muss vor der Verwendung auf einem Debian-System erst umgewandelt werden. Hierzu installieren wir zunächst das Paket alien:

sudo apt install alien -y

 

Installation des LightScribe SDK

# Im ersten Schritt konvertieren wir das LightScribe SDK von
# RedHat-Paket-Format in das Debian-Paket-Format:
sudo alien lightscribePublicSDK-1.18.6.1-linux-2.6-intel.rpm

# Im zweiten Schritt installieren wir das soeben erstellte Paket:
sudo dpkg -i lightscribepublicsdk_1.18.6.1-1_amd64.deb

#...und zack! Es hagelt Fehlermeldungen:
Entpacken von lightscribepublicsdk (1.18.6.1-1) ...
lightscribepublicsdk (1.18.6.1-1) wird eingerichtet ...
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/docs/LSAPI_Reference_Manual.pdf' nicht möglich: Datei oder Verzeichnis nicht gefunden
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/linux_public_SDK_license.rtf' nicht möglich: Datei oder Verzeichnis nicht gefunden
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/sample/lsprint/lsprint.cpp' nicht möglich: Datei oder Verzeichnis nicht gefunden
dpkg: Fehler beim Bearbeiten des Paketes lightscribepublicsdk (--install):
»installiertes post-installation-Skript des Paketes lightscribepublicsdk«-Unterprozess gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von: lightscribepublicsdk

Was also tun? Das Problem besteht darin, dass verschiedene Dateien nicht entpackt werden konnten – sie liegen aber als gzip-Archive in den angegebenen Verzeichnissen! Die Lösung mutet etwas umständlich an, funktioniert aber hervorragend:

# 1. Fehler 1 beseitigen:
cd /usr/share/doc/lightscribe-sdk/docs/
sudo gzip -d LSAPI_Reference_Manual.pdf.gz

# 2. Fehler 2 beseitigen:
cd /usr/share/doc/lightscribe-sdk/
sudo gzip -d linux_public_SDK_license.rtf.gz

# 3. Fehler 3 beseitigen:
cd /usr/share/doc/lightscribe-sdk/sample/lsprint/
sudo gzip -d lsprint.cpp.gz

# 4. Fehlerhafte Installation in der Installationsdatenbank bereinigen:
sudo apt install -f

 

Installation auf 64-Bit Systemen (x64/amd64)

Die Packages für LightScribe entstammen noch aus einer Zeit, in der 32-Bit Systeme die Regel waren und funktionieren dementsprechend auch nur mit einer 32-Bit Architektur. Unter Debian 12 64-Bit musst du also zunächst eine zusätzliche 32-Bit Umgebung (multi-arch) installieren:

sudo dpkg --add-architecture i386
sudo apt update && sudo apt upgrade -y
sudo apt install multiarch-support binutils-multiarch gdb-multiarch arch-test alien

Überprüfe nun, welche Architekturen dir zur Verfügung stehen:

dpkg --print-foreign-architectures

sollte i386 ausgeben.

Installation des Basis-Systems

sudo dpkg -i --force-architecture lightscribe-1.18.27.10-linux-2.6-intel.deb
sudo cp /usr/lib/liblightscribe.so /usr/lib32/
sudo cp /usr/lib/liblightscribe.so.1 /usr/lib32/
ldconfig

Installation der Anwender-Software

# Fehlende Bibliotheken und Abhängigkeiten installieren:
sudo apt install libxi6:i386
sudo apt install libxrender1:i386
sudo apt install libxrandr2:i386
sudo apt install libxcursor1:i386
sudo apt install libxinerama1:i386
sudo apt install libfreetype6:i386
sudo apt install libfontconfig1:i386
sudo apt install libpng16-16:i386
sudo apt install libsm6:i386
sudo apt install -f

# Bibliotheken anpassen
cd /usr/lib/i386-linux-gnu
sudo ln -s libpng16.so.16.39.0 libpng12.so.0
sudo ldconfig

# Anwender-Software installieren:
sudo dpkg -i --force-architecture lightscribeApplications-1.18.15.1-linux-2.6-intel.deb 
sudo dpkg -i --force-architecture 4l_1.0-1_i386.deb

# Anwendungen testen:
4L-gui
/opt/lightscribeApplications/SimpleLabeler/SimpleLabeler

Installation des LightScribe SDK

# Im ersten Schritt konvertieren wir das LightScribe SDK von
# RedHat-Paket-Format in das Debian-Paket-Format:
sudo alien --target=amd64 lightscribePublicSDK-1.18.6.1-linux-2.6-intel.rpm

# Im zweiten Schritt installieren wir das soeben erstellte Paket:
sudo dpkg -i --force-architecture lightscribepublicsdk_1.18.6.1-1_amd64.deb

#...und ding-dong! Wieder hagelt Fehlermeldungen:
Entpacken von lightscribepublicsdk (1.18.6.1-1) ...
lightscribepublicsdk (1.18.6.1-1) wird eingerichtet ...
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/docs/LSAPI_Reference_Manual.pdf' nicht möglich: Datei oder Verzeichnis nicht gefunden
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/linux_public_SDK_license.rtf' nicht möglich: Datei oder Verzeichnis nicht gefunden
chown: Zugriff auf '/usr/share/doc/lightscribe-sdk/sample/lsprint/lsprint.cpp' nicht möglich: Datei oder Verzeichnis nicht gefunden
dpkg: Fehler beim Bearbeiten des Paketes lightscribepublicsdk (--install):
»installiertes post-installation-Skript des Paketes lightscribepublicsdk«-Unterprozess gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von: lightscribepublicsdk

Die Lösung kennst du bereits aus dem Abschnitt zur Installation auf 32-Bit Systemen:

# 1. Fehler 1 beseitigen:
cd /usr/share/doc/lightscribe-sdk/docs/
sudo gzip -d LSAPI_Reference_Manual.pdf.gz

# 2. Fehler 2 beseitigen:
cd /usr/share/doc/lightscribe-sdk/
sudo gzip -d linux_public_SDK_license.rtf.gz

# 3. Fehler 3 beseitigen:
cd /usr/share/doc/lightscribe-sdk/sample/lsprint/
sudo gzip -d lsprint.cpp.gz

# 4. Fehlerhafte Installation in der Installationsdatenbank bereinigen:
sudo apt install -f

64-Bit Troubleshooting

Auf 64-Bit Systemen kann es schon mal vorkommen, dass du über diesen Fehler stolperst:

error while loading shared libraries: liblightscribe.so.1: cannot open shared object file: No such file or directory

Die Lösung für dieses Problem besteht darin, die Dateien liblightscribe.so und liblightscribe.so.1 von /usr/lib nach /usr/lib32 zu kopieren. Eben drum haben wir diesen Schritt gleich bei der Installation des Basis-Systems bereits durchgeführt!

So, das war’s dann soweit. Ich hoffe, du konntest etwas mit meinem Tutorial anfangen und hattest Spaß!


Findest du diesen Artikel hilfreich? Dann freue ich mich über einen kleinen Obolus für meine Rohling-Kasse. Besten Dank! 🙂

Die Todesfahrt von Mannheim – Hintergründe und Reaktionen

Bei der Todesfahrt in der Mannheimer Innenstadt gehen die Ermittler nicht von einem politischen Hintergrund aus. Das teilten die Staatsanwaltschaft Mannheim und die Polizei in einer gemeinsamen Erklärung mit. Zwei Personen seien tödlich und fünf schwer verletzt worden, heißt es in der Mitteilung.
Nach dem Horror von Mannheim steht inzwischen fest: Der verdächtige Autofahrer ist Deutscher.
Bei dem nach der Todesfahrt von Mannheim festgenommenen Mann handelt es sich nach Angaben von Baden-Württembergs Innenminister Thomas Strobl (CDU) um einen 40-jährigen Deutschen mit Wohnsitz in Rheinland-Pfalz. Wie die Mannheimer Polizei mitteilte, steht inzwischen fest, dass er als Einzeltäter handelte.

Hintergrund der Todesfahrt ist wohl eine psychische Erkrankung, teilte der zuständige Staatsanwalt in Mannheim mit. Der Fahrer des Wagens war nach SWR-Informationen deutschen Sicherheitsbehörden bislang nicht im Zusammenhang mit Extremismus oder Terrorismus aufgefallen. Er soll aber schon früher psychisch auffällig gewesen sein.

Der Täter war bei der Polizei kein unbeschriebenes Blatt. Es gebe ein paar Vorstrafen, die lange zurücklägen, sagte Staatsanwalt Romeo Schüssler in Mannheim. Dabei gehe es um eine Körperverletzung, für die er eine kurze Freiheitsstrafe verbüßt habe vor über zehn Jahren, außerdem ein Fall von Trunkenheit im Verkehr. Bei der letzten Tat handle es sich um ein Delikt im Bereich von Hate Speech aus dem Jahr 2018. Er habe einen entsprechenden Kommentar auf Facebook abgesetzt und sei deshalb zu einer Geldstrafe verurteilt worden.

Auffällig bei den öffentlichen Reaktionen: Politiker fast aller Parteien – sogar die wiederbraune CDU – brachten ihr Entsetzen zum Ausdruck. Nicht so die blaue Nazipartei AfD. Die Hintergründe der Tat lassen sich nun mal nicht für migrantenfeindliche Hetze ausschlachten.

Quellenangabe: ARD Live-Ticker

 

Blitz-Tutorial: Banjo-Rolls für die Gitarre

Wenn man als Gitarrist mit einem Banjo zusammenspielt, dann spielt sich das meistens über die Akkorde G-Dur, C-Dur und D-Dur ab. In diesem Tutorial lernst du einige typische Licks, die dein Gitarrenspiel nach Bluegrass klingen lassen, kennen.

Das Akkordmaterial

Banjo-Rolls für Gitarre Tutorial - das Akkordmaterial www.mbergmann-sh.de

Die vorliegenden Akkord-Diagramme geben dir einen Anhalt über die im Tutorial verwendeten Akkorde. Übe sie, bis du alle im flüssigen Wechsel greifen kannst. Beachte aber auch unbedingt den Fingersatz im jeweiligen Lick und passe deine Grifftechnik entsprechend an – nicht immer muss ein Akkord voll gegriffen werden!

Für alle Akkorde und Licks gilt: Übe zunächst in sehr langsamem Tempo und steigere dich erst, wenn alles sauber klappt.

Fingersatz für die Spielhand

  • p = Daumen
  • i = Zeigefinger
  • m = Mittelfinger

Lick #1 – eine Arpeggio-Roll über E-Dur

Dieses Lick eignet sich gut als Aufwärm-Training. Beachte unbedingt die Fingersätze der Greifhand.

Lick 1 - Arbeggio Roll über E-Dur www.mbergmann-sh.de

Lick #2 – Rock’n’Roll-style Banjo-Roll auf den hohen Saiten

Dieses Lick klingt besonders gut, wenn du es im höheren Tempo spielst. Übe es trotzdem zunächst in sehr langsamem Tempo und steigere dich erst, wenn alles sauber klappt.

Banjo-Rolls für Gitarre - Lick 2 www.mbergmann-sh.de

Lick # 3 – ein melodiöses Roll mit Bass-Begleitung

Dieses Lick eignet sich gut für Bluegrass und Reels

Banjo-Rolls für Gitarre - Lick 3 www.mbergmann-sh.de

Lick #4 – ein Roll für Reels, Bluegrass und Blues

Dieses Lick hat seine „schwere“ Zählzeit auf dem ersten Schlag eines Taktes. Es klingt auch sehr gut, wenn du die Bässe per Palm Muting abdämpfst.

Banjo-Rolls für die Gitarre - Lick 4
www.mbergmann-sh.de

Lick #5 – ein melodiöses Riff mit Extras

Banjo-Rolls für die Gitarre - Lick 5
www.mbergmann-sh.de

 

Das war’s dann auch für heute! Lass‘ dir die Zeit zum Üben, die du brauchst, schludere nicht beim Draufschaffen und vor allem: Hab‘ Spaß!

 

Download: Dateien zum Blitz-Tutorial „Banjo Rolls für Gitarre“
Das Archiv enthält das Noten-/Tabulaturblatt als PDF, sowie alle Soundbeispiele als MP3 und Dateien zur Verwendung in Guitar Pro 8, MuseScore und MIDI-Anwendungen.

Download nur für registrierte Benutzer möglich!

Du findest meine Tutorials hilfreich? Dann freue ich mich über eine kleine finanzielle Anerkennung!

 

 

 

Zeitgenossen, haufenweise

Erich Kästner,"Zeitgenossen, haufenweise" 1924

Erich Kästner

Es ist nicht leicht, sie ohne Haß zu schildern,

und ganz unmöglich geht es ohne Hohn.
Sie haben Köpfe wie auf Abziehbildern
und, wo das Herz sein müßte, Telephon.
Sie wissen ganz genau, daß Kreise rund sind
und Invalidenbeine nur aus Holz.
Sie sprechen fließend, und aus diesem Grund sind
sie Tag und Nacht – auch Sonntags – auf sich stolz.
In ihren Händen wird aus allem Ware.
In ihrer Seele brennt elektrisch Licht.
Sie messen auch das Unberechenbare.
Was sich nicht zählen läßt, das gibt es nicht!
Sie haben am Gehirn enorme Schwielen,
fast als benutzten sie es als Gesäß.
Sie werden rot, wenn sie mit Kindern spielen.
Die Liebe treiben sie programmgemäß.
Sie singen nie (nicht einmal im August)
ein hübsches Weihnachtslied auf offner Straße.
Sie sind nie froh und haben immer Lust
und denken, wenn sie denken, durch die Nase.
Sie loben unermüdlich unsre Zeit,
ganz als erhielten sie von ihr Tantiemen.
Ihr Intellekt liegt meistens doppelt breit.
Sie können sich nur noch zum Scheine schämen.
Sie haben Witz und können ihn nicht halten.
Sie wissen vieles, was sie nicht verstehn.
Man muß sie sehen, wenn sie Haare spalten!
Es ist, um an den Wänden hochzugehn.
Man sollte kleine Löcher in sie schießen!
Ihr letzter Schrei ist fast ein dernier cri.
Jedoch, sie haben viel zuviel Komplicen,
als daß sie sich von uns erschießen ließen.
Man trifft sie nie.
Erich Kästner, 1924

Rechte Hetze und das Attentat von München

Was wir bis dato tatsächlich über den Attentäter von München wissen:

  • 24-jähriger Afghane
  • nicht polizeibekannt (entgegen vorheriger Verlautbarungen)
  • vor dem Anschlag nicht aufgefallen
  • keine Hinweise auf Extremismus
  • nicht als Gefährder eingestuft
  • Asylantrag abgelehnt, trotzdem besaß er
  • Arbeitserlaubnis und Duldung

Einziger eventueller „Hinweis“ auf die bevorstehende Tat war ein Posting mit dem eher unverfänglichen Inhalt „Allah ist groß und schütze uns alle“ in sozialen Medien am Tag vor dem Attentat.
Soviel zur bei Blaumiesen und CDU beliebten Argumentation „Abgelehnte Asylbewerber sofort abschieben“ und „Der Staat hat nicht rechtzeitig reagiert“. Wie hätte der Staat auch „rechtzeitig“ reagieren können? Glaskugel? Wahrsager konsultieren?


Die Tat ist nicht entschuldbar und erfordert ohne Frage angemessene strafrechtliche Konsequenzen. Was sich aus der Tat nicht ableiten lässt: Generalisierter Hass und Hetze gegen Migranten, Sippenhaft für Afghanen, vorauseilende Verschärfung von Gesetzen, die lediglich angewendet werden müssen, Forderungen zum Dichtmachen unserer Grenzen, Abschiebung aller Ausländer ohne Rücksicht auf bestehende Abkommen mit dem Herkunftsland.


Sei nicht dumm und lasse dich nicht aufhetzen. Kein Instrumentalisieren der Opfer von München. Keine Stimme für AfD/CDU/CSU.

Neun DoubleThumb Banjo Licks

Guter Banjo-Sound – gerade in der Bluegrass-Musik – lebt vom gekonnten Einsatz des Daumens. Hier sind neun Licks, die dem Daumen ordentlich was abfordern. Übe jedes Lick zunächst sehr langsam, bis die Bewegungsabläufe sitzen und werde erst dann schneller.

Neun DoubleThumb Licks für Bluegrass und Blues - www.mbergmann-sh.de

Das Lehrvideo von Eli Gilbert:

Don't Avoid This Banjo Technique // Double Thumb Licks

 

Wahlkampf, Fake-News und die Springer-Presse

Bemerkenswert, das der TV-Sender „Welt“ sich als Nachrichtensender bezeichnet. Liegt deren Schwerpunkt nicht eher bei Fake-News á la „von Steuergeldern bezahlte Demos gegen Rechts“? Na ja, das Haus Springer eben, verantwortlich für Hass und Hetze seit dem Tod von Benno Ohnesorg. 🤮

Anstatt darüber zu lügen, dass die Massendemonstrationen gegen den Rechtsruck angeblich vom Staat finanziert wären, sollten wir vielleicht eher darüber sprechen, dass die Rechtsextremisten der AfD fast zur Hälfte vom Staat finanziert sind. Parteienfinanzierungsgesetzt und so… ✊😆

Auch bemerkenswert übrigens, dass ausgerechnet die Partei, die per se schon für Fake-News, Lügen und Hetze steht (AfD), scheinbar tatsächlich ihre Mitglieder für den Besuch von Demonstrationen bezahlt. Das zumindest belegt eine Recherche von „Exif-Recherche“ – dort wurde eine interne Mail der AfD veröffentlicht, in der Parteimitgliedern eine „finanzielle Förderung“ für die Teilnahme an einer Demo angeboten wurde.

Der Pressesprecher des AfD-Vorstands Rheinland-Pfalz bestätigte gegenüber „Correctiv“,  dass die Partei Demoteilnehmern 50 Euro als „Fahrtkostenzuschuss” bezahlen möchte. In einer zuvor veröffentlichten Mail war nur allgemein von einem „Zuschuss” die Rede.

Unter dem Motto „Zukunft Deutschland“ plant die AfD am 27. Mai eine Großdemonstration in der Hauptstadt. In einer Mail

schreibt Uwe Junge, AfD-Landeschef in Rheinland-Pfalz, der Landesvorstand wolle „den ersten 30 Mitgliedern, die ihre Teilnahme an der Demonstration durch eine Nachricht an die LGS nachweisen können, einen Zuschuss von 50 € je Mitglied auszahlen.“

Zu dieser Maßnahme habe man sich entschieden, weil die Resonanz auf ein „Transportangebot mit Bussen“ sehr gering gewesen sei. Deshalb wolle man „mit einem Zuschuss den Anreiz erhöhen, trotzdem nach Berlin zu kommen und mit mir/uns für die Zukunft Deutschlands zu demonstrieren“.

„Die Email ist echt“, bestätigt Robin Classen, Pressesprecher des AfD-Landesvorstands Rheinland-Pfalz.