Linux und ich

über Linux und mich…

Sid Meier’s Alpha Centauri – Alien Crossfire Planetary Pack für Linux

Hurra, es läuft unter Debian 12.5 (64bit)!

Hier mein Ablauf:

  1. CD-ROM von o.g. einlegen (wird bei mir unter /media/<Nutzername>/SMAC eingehängt!)
  2. Terminal öffnen
  3. ~$ su – root
  4. ~# cd /media/<Nutzername>/SMAC
  5. ~# export SETUP_LIBC=glibc-2.1
  6. ~# export _POSIX2_VERSION=199209
  7. ~# linux32 ./setup.sh
  8. Jetzt wird abgefragt, wo und was installiert werden soll (zuerst Loki_Update, dann Loki_Uninstall, zum Schluss das eigentliche Spiel (Ordnerstruktur kann jeweils angepasst werden; ich habe die Standardstruktur übernommen – /usr/local/games und alle Sachen angewählt und lokal installiert)
  9. Von der Webseite https://mirrors.dotsrc.org/lokigames/updates/ die Datei von Linux/x86: loki_update-full-1.0.13-x86.run runterladen und ausführbar machen (chmod r+x …)
  10. ~# linux32 ./loki_update-full-1.0.13-x86.run
  11. ~# loki_update –noselfcheck /usr/local/games/smac/
  12. Vorsicht: es dauert etwas und zum Ende erscheint eine Fehlermeldung. Jedoch wird die Datei smac-6.0a-x86.run im HOME-Verzeichnis (root) unter .loki/loki_update/tmp/ abgelegt.
  13. Die Datei ausführbar machen und dann starten:
  14. ~# linux32 ./smac-6.0a-x86.run
  15. Wichtig – sonst funzt es nicht! Jetzt noch die Loki Compat-Libraries runterladen von der Webseite http://files.holarse-linuxgaming.de/native/Spiele/loki-compat-libs/
  16. Die Datei muss entpackt und ins Installationsverzeichnis (bei mir /usr/local/games/smac ) kopiert werden
  17. ~# cp -r Loki_Compat /usr/local/games/smac/
  18. ~# exit
  19. Jetzt können wir das Spiel als normaler Nutzer starten. Hierzu folgende Befehle im Terminal eingeben (sollte soweit alles funktionieren, kann man ein Shellskript für smac und smacx erstellen – ach ja: Sound geht bei mir nicht, brauche ich aber auch nicht):
  20. ~$ COMPAT=/usr/local/games/smac/Loki_Compat
  21. ~$ export LD_LIBRARY_PATH=$COMPAT
  22. ~$ LD_ASSUME_KERNEL=2.2.5 $COMPAT/ld-linux.so.2 /usr/local/games/smac/smac.dynamic -wsc
  23. Die Schalter -wsc bedeuten:
  24. -w im Fenstermodus
  25. -c keine CD-ROM (ich habe bei der Installation alles mit ‚j‘ beim Installieren angegeben
  26. -s  keine Soundausgabe (hat bei mir zu einem Speicherzugriffsfehler geführt)
  27. Jetzt kann man sich im Installationsverzeichnis zwei Startskripte (jeweils für smac und smacx) anlegen. Ich zeige hier nur mal für smac ein Startskript und eine Desktop-Datei:
  28. Startskript y-smac.sh in /usr/local/games/smac/ )
    • !/bin/bash
    • COMPAT=/usr/local/games/smac/Loki_Compat
    • export LD_LIBRARY_PATH=$COMPAT
    • LD_ASSUME_KERNEL=2.2.5 $COMPAT/ld-linux.so.2 /usr/local/games/smac/smac.dynamic -wsc
  29. Desktopdatei unter /home/<Nutzername>/Schreibtisch anlegen (jeweils für smac und smacx). Hier als Beispiel nur für smac ( SMAC.desktop ):
    • [Desktop Entry]
    • Type=Application
    • Terminal=false
    • Icon[de_DE]=/usr/local/games/smac/icon.xpm
    • Name[de_DE]=Alpha Centauri
    • Exec=/usr/local/games/smac/y-smac.sh
    • Name=Alpha Centauri
    • Icon=/usr/local/games/smac/icon.xpm

Gigabyte Motherboard startet immer wieder neu

Habe vor ein paar Tagen den PC von meinem Neffen erhalten, da er immer wieder neu startet und keine Möglichkeit bestand ins BIOS zu gelangen.

Es handelt sich um ein Motherboard von Gigabyte GA-B75M-D3V Rev. 1.1. Der PC startet nach 2 bis 3 Sekunden immer wieder neu.

Als erstes habe ich die CMOS-Batterie gewechselt, da sie leer war. Allerdings blieb der Fehler. Also habe ich das BIOS zurückgesetzt (die beiden PINs bei der CMOS-Batterie für 10 Sekunden kurz geschlossen. WICHTIG: Netzteil vorher ausschalten und kurz den Power-Button drücken, damit die Kondensatoren im Netzteil entladen werden).

Jetzt piepte der PC zumindest über längere Zeit, aber die Neustarts blieben. Dann fand ich eine Lösung:

  1. Netzteil ausschalten
  2. Powerknopf drücken und gedrückt lassen
  3. Netzteil einschalten
  4. Powerknopf solange gedrückt lassen bis Rechner wieder aus geht
  5. Netzteil ausschalten
  6. Netzteil einschalten ggf. Powerschalter betätigen
  7. Wiederherstellung des MainBIOS via BackupBIOS wird gestartet
  8. ggf. mehrere Neustarts

Eventuell müssen die Punkte 1 – 7 mehrere Male wiederholt werden. Bei mir war das 6 – 7 Mal der Fall. Allerdings immer erst 3 Mal den Bootvorgang starten lassen, bevor am Bildschirm dann die Meldung zur Wiederherstellung startet.

Danach muss das BIOS wieder neu eingestellt werden.

Das war’s!

Skripte

Hier ist ein Shellskript zum Umwandeln von Leerzeichen in Unterstrich, scharfes „s“ in sz und Umlaute in ae, oe, ue. Das Skript muss mit einem Startverzeichnis angegeben werden:

#!/bin/bash

# Bash’s Internal Field Separator aendern, damit Leerzeichen im Dateinamen nicht blockieren

BACKUPIFS=IFS

IFS=“

# usage

usage ()
{
echo -e „\n\n ERROR! nr. of params: $params\n“
echo -e „\n\n Usage: $0 >\n“
exit 1 ;
}

# Parameter

if [ $# -ne 1 ]; then
params=$#
usage
fi

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ /_/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/Ä/Ae/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ä/ae/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/Ö/Oe/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ö/oe/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/Ü/Ue/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ü/ue/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ß/sz/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

unset IFS
IFS=BACKUPIFS

Linux Mint 20 – gksudo jetzt pkexec

Benutze immer mal wieder BleachBit, um das System aufzuräumen. Bisher funktionierte das Programm auch als root mittels dem gksudo Programm.
Dieses wird jedoch nicht mehr angeboten und jetzt suchte ich nach einer Möglichkkeit, das Programm Bleachbit als Superuser weiter zu nutzen ohne mittels Bash zu arbeiten.

Ich wurde mit dem Befehl pkexec fündig. Es ersetzt gksudo.

Linux Mint 18.3 – Intel Grafik FPS erhöhen

Hallo Leute!

Ich ärgere mich gerade über die bescheidenen Frame Rates im Programm „Stellarium“. Keine vernünftige Darstellung möglich. Nach etwas Suche im Netz bin ich auf das hier gestoßen:

The Linuxmint website says this about Intel chipsets and Cinnamon 18.2:
„If your Intel GPU is recent enough (2007 or newer) it is recommended to remove the legacy Intel driver „xserver-xorg-video-intel“ and to use the built-in modesetting driver instead:

apt remove xserver-xorg-video-intel
sudo reboot

Not only will the modesetting fix the freeze issue when changing resolutions, it should also work better with Cinnamon and produce better performance.
The legacy driver is no longer maintained and only useful for the old i800x and i900x family of chipsets.“

Ja, das war genau mein Problem! Den alten „xorg-Treiber“ gelöscht, Rechner neu gestartet und Stellarium funktioniert. Toller Nebeneffekt: einen Tick schärfer ist das Bild auch noch.

Bis demnächst

Gerald

Touchpad scrollen – nur mit zwei Fingern?

Habe festgestellt, dass mittlerweile beim Touchpadtreiber von synaptics auf libinput umgestellt wurde. In diesem Zusammenhang wurde auch einfach mal der Standard von 1-Finger-Scroll auf 2-Finger-Scroll festgelegt.

Was soll das?

Nach einigem rumprobieren, bin ich auf den Befehl xinput gestoßen. Um den Defaultwert von 2- auf 1-Finger-Scroll umzustellen, muss erst die Geräte-ID des Touchpads herausgefunden werden. Dies macht man mittels dem Befehl:

xinput list

⎡ Virtual core pointer                 id=2      [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer         id=4      [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad     id=13    [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse           id=11     [slave pointer (2)]
⎣ Virtual core keyboard                id=3      [master keyboard (2)]
↳ Virtual core XTEST keyboard          id=5      [slave keyboard (3)]

In unserem Fall also die Geräte-ID 13. Im nächsten Schritt wollen wir wissen, was alles unterstützt wird und welche ID die Scroll Method Enabled hat. Dies erfahren wir durch:

xinput list-props 13

Device ‚SynPS/2 Synaptics TouchPad‘:
Device Enabled (138): 1
Coordinate Transformation Matrix (140): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (317): 1

libinput Scroll Methods Available (308): 1, 1, 0
libinput Scroll Method Enabled (309): 1, 0, 0
libinput Scroll Method Enabled Default (310): 1, 0, 0

Für uns wichtig, ist die Nr. 309. Die drei Ziffern am Ende bedeuten: „two-finger“, „edge“, „button“, je nach dem wo die „1“ gesetzt ist. Unter der    Nr. 308 werden die unterstützten Funktionen (in unserem Fall: „two-finger“, „edge“) angezeigt. Um nun das vertikale Randscrollen mit einem Finger zu setzen, muss folgendes Kommando genutzt werden:

xinput set-prop 13 309 0 1 0

Leider muss dies nach jedem Neuanmelden erneut ausgeführt werden, da ich bis jetzt keine Möglichkeit gefunden habe, die das dauerhaft macht. Man könnte ein Autostartskript beim Anmelden nutzen, aber da hatte ich bis jetzt keinen Bock drauf. Ach ja, falls einer meint man könnte doch einfach die Nr. 310 (den Standardwert) ändern – NÖ!!! – läuft nicht. Der darf nicht geändert werden und er wird es auch nicht – selbst als root!

hplip status error: no system tray detected

Habe seit der neuen Version von openSUSE 42.1 mit KDE und hplip 3.14.6 (aus den Repositories) den o.g Fehler (kein Papierkorb gefunden).

Nachdem ich als erstes überhaupt keinen Papierkorb auf dem Desktop hatte, habe ich zuerst einmal mittels Einstellungen -> Systemeinstellungen im Button Anwendungen den Reiter Standard-Anwendungen -> Dateiverwaltung den Standard-Datei-Manager von PCManFM (wahrscheinlich, weil ich zuvor den Windowmanager XFCE ausprobierte) auf Dolphin geändert. Damit war zumindest wieder ein Papierkorb vorhanden und auch nutzbar (erst wurde nämlich jedes Mal bei einem Doppelklick auf das Papierkorb-Symbol die Fehlermeldung: trash:/ not found  ausgeworfen).

Jedoch blieb der Fehler mit hplip nach einem Neustart. Deshalb habe ich die Datei /etc/xdg/autostart/hplip-systray.desktop editiert und folgenden Eintrag:

Exec=hp-systray -x

in

Exec=sleep 15 && hp-systray -x

geändert.

Neustart und alles lief wunderbar. Eventuell müsst Ihr den sleep-Wert an Euer System anpassen/erhöhen.

 

Windows Phone Kontakte exportieren

Habe gestern ein Windows Phone (Nokia Lumia 925) bei mir gehabt um Kontakte auf ein Samsung S6 Edge zu bekommen. Was für ein Zirkus, bis ich das hin bekam. Eigentlich ist es sehr einfach, aber Google war hier nicht behilflich. Ich hab’s mit der App „QContact“ fürs Windows Phone geschafft. App runterladen und auf dem Nokia installieren. Danach aufrufen und die Kontakte als vcf-Daten per Mail an die jeweilige auf dem Samsung bekannte E-Mail senden. Dann die Daten in der Mail in eine *.vcf Datei speichern (muss im Geräteordner des Samsungs stehen, d.h. wenn man das Samsung an einen PC anschließt und das Handy verbindet, steht man im Geräteordner (Hauptordner). Denn nur aus diesem liest das Samsung seine *.vcf Datei. Hat man die Datei gespeichert, geht man in die Einstellungen des Samsung-Handys und dort unter Anwendungen -> Kontakte -> Kontakte importieren -> als VCARD bzw. vcf-Datei. Datei auswählen und Kontakte auf dem Gerät speichern.

That’s it!

Hoffe, ich konnte Euch weiter helfen.

postfix – Ärger

openSuSE 13.0

Meine postfix-Konfiguration mittels mbox funktioniert nicht richtig, da ich
meine Systemmail nicht empfange.
Deshalb muss ich da ‚mal Hand anlegen und habe ein kleines How-To verfasst:

Zuerst editiert man mal die /etc/postfix/main.cf:
in Zeile ‚myhostname =‚ trägt man hostname.yourdomain ein und
arbeitet die unten angegebenen Schritte durch.

# alle Mails in der Mailqueue (Warteschlange) löschen
postsuper -d ALL

# Zugriffsfehler in der Datei maillog beheben
postfix stop
postconf -e „strict_mailbox_ownership=no“
postfix start

# Datenbankfehler „xyz.db is older than …“ beheben
postfix stop
postmap /etc/aliases
postmap /etc/postfix/canonical
postfix start

# Testmail senden (für ‚root@hostname.site‘ muss man den eigenen Systemmail-Account,
# den Rechner- und Domänennamen einsetzen)
/usr/bin/mail -r testmail -s „Test  MAIL“ root@hostname.site <<EOF
EOF

# war postfix auch tatsächlich gestartet?
postfix status

# Einen Blick in alle maillog-Dateien (gibt’s was Wichtiges?) und dann löschen
# wir alles
cd /var/log
more mail*

>mail >mail.err >mail.info >mail.warn

That’s it!

fstrim

openSUSE 12.2

Hardware:
– Samsung 256GB SSD (‚fstrim‘ für Deine SSD sollte man jeden Tag durchführen!)

Hier kommt mein cronfile für den cron.daily-Eintrag – aber zuerst musst Du eine Log-Datei erstellen, um alle Meldungen mitzuschreiben, mit:

sudo touch /var/log/ssd_discard.log

Jetzt folgt der Eintrag (in die Datei /etc/cron.daily/ssd_discard):

LOG=/var/log/ssd_discard.log
echo „*** $(date -R) ***“ >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG

Die erste Zeile zeigt, wo die Logdaten hingeschrieben werden. In der zweiten Zeile wird das Datum in die Logdatei eingetragen. Die beiden nächsten Zeilen weisen auf die beiden Partitionen, die „getrimmt“ werden sollen hin. In meinem Fall, habe ich nur zwei, das ist einmal das root- und zum zweiten das home-Verzeichnis. Sollte jemand mehrere Partitionen haben, dann muss für jede, die bearbeitet werden soll, ein eigener Eintrag erstellt werden.

That’s it!
Gerald