Ein Wiki privater Natur

einen abgebrochenen Kopiervorgang fortsetzen

zum Beipiel ein scp

scp root@vbh.remoteserver.de:/backup/-current/* .
durch rsync
rsync --append-verify --progress root@remoteserver:/backup/-current/* .

Wenn es sich um eine Web Rescource handelt

mit wget
-t 5 >= 5 Versuche (tries)
-c >= Continue
wget -t 5 -c URL

nano

Manchmal fehlt mir die Anzeige der Cursor Position im Nano.

Klar, STR-C drücken, aber warum nicht ständig?

Heute hat mich das genervt, also in die .nanorc

Der bind Sh-M-T "|xsel -ib" main
bewirkt, dass man einen mit z.B. ALT-A markierten Text mit Shift-ALT-T in das System Clipboard kopiert.
Das ist dann auch gleich der Trick, wie man mit dem Touchpad das scrollen der rechten Laufleiste benutzen kann.
Einfach mit ALT-A den Beginn markieren udn mit der rechten Laufleiste scrollen und dann mit SHIFT-ALT-T kopieren.

cat nanorc

set positionlog
set constantshow
## For copying a marked region to the system clipboard:
bind Sh-M-T "{execute}|xsel -ib{enter}{undo}" main

Eingetragen und gut iss.

Das positionlog ist das Pendant zu dem autocmd im vi(m) welches ungleich komplizierter ausschaut 😉

positionlog merkt sich die Cursorpostion für die letzten 200 Files, die man mit nano angesehen, oder bearbeitet hat.

Ps: nanorc kann man hier:
~/.nanorc ablegen, oder da wo ich es gemacht habe:
~/.local/nano/nanorc (offenbar in Bullseye nicht mehr)

... und es gibt noch andere Möglichkeiten, man nano ...

Lenovo Laptop

Unbedingt tlp installieren
apt install tlp tp-smapi-dkms
und die Ladeschwellen in /etc/tlp/tlp.conf einstellen

START_CHARGE_THRESH_BAT0=70
STOP_CHARGE_THRESH_BAT0=85

START_CHARGE_THRESH_BAT1=70
STOP_CHARGE_THRESH_BAT1=85

Nähere Infos:
https://thinkwiki.de/TLP_-_Linux_Stromsparen

https://linrunner.de/tlp/faq/battery.html

Bei Problemen mit dem TLP

Wenn tlp-stat --battery
behauptet, es könne nicht die Schwellen ändern, dann liegt es evtl. daran
dass thinkpad_ec nicht geladen werden konnte.
Das lässt sich leicht mit modprobe -vv thinkpad_ec feststellen.
Der Fehler wird in dmesg sichtbar:

thinkpad_ec: cannot claim IO ports 0x1600-0x161f...
consider using force_io=1.

Lösung: modprobe thinkpad_ec force=1
in dmesg sieht man in etwa das.

thinkpad_ec: cannot claim IO ports 0x1600-0x161f...
forcing use of unreserved IO ports.
thinkpad_ec: thinkpad_ec 0.43 loaded.
tp_smapi 0.43 loading...
tp_smapi successfully loaded (smapi_port=0xb2).

Wenn das klappt, dann dauerhaft in

+++ Battery Care
plugin: thinkpad-legacy
Supported features: charge thresholds, recalibration
Driver usage:
tp-smapi (tp_smapi) = active (status, charge thresholds, recalibration)
Parameter value ranges:
START_CHARGE_THRESH_BAT0/1: 2..96(default)
STOP_CHARGE_THRESH_BAT0/1: 6..100(default)

Auf neueren Lenovo ThinkPads wie dem P15 ist möglicherweise
apt install acpi-call-dkms notwendig, da tp-smapi oft nicht mehr unterstützt wird.
Die Config Dateien wie /etc/tlp.conf bleiben gleich.
tlp-stat -b
liefert bei mir:

--- TLP 1.7.0 --------------------------------------------

+++ Battery Care
Plugin: thinkpad
Supported features: charge thresholds, recalibration
Driver usage:
* natacpi (thinkpad_acpi) = active (charge thresholds, recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..96(default)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = LGC
/sys/class/power_supply/BAT0/model_name                     = 5B10W13913
/sys/class/power_supply/BAT0/cycle_count                    =     69
/sys/class/power_supply/BAT0/energy_full_design             =  57000 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  56990 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  46930 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Not charging

/sys/class/power_supply/BAT0/charge_control_start_threshold =     70 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   =     85 [%]
/sys/class/power_supply/BAT0/charge_behaviour               = [auto] inhibit-charge force-discharge

Charge                                                      =   82.3 [%]
Capacity                                                    =  100.0 [%]

Falls irgendwann die Rekalibrierung getestet werden soll, bietet TLP mit der tlp recalibrate Option eine Lösung.


Mein Lenovo hat ein Touchable Display.
Ging aber nicht immer. Die Lösung:

cat /etc/udev/rules.d/90-usb-noautosuspend.rules
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="2a94", ATTR{idProduct}=="564d", TEST=="power/control", ATTR{power/control}="on"

und aktivieren

Nach dem Aufwachen aus sleep fehlt noch ein erneuter trigger:

#!/bin/sh
case "$1" in
    pre)
        # Vor dem Suspend – nichts tun
        ;;
    post)
        # Nach dem Resume – Touchscreen neu initialisieren
        sleep 2
        /usr/bin/udevadm trigger
        ;;
esac
# sleep 2 ist bei mir wichtig, sonst bleibt der Bildschirm dunkel

Die umlaute sind nicht ok im nano

Dazu muß locale das hier liefern:

LANG=de_DE.UTF-8
LANGUAGE=
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

Wenn nicht, dann mit dpkg-reconfigure locales

anpassen. Der wichtige Punkt ist:

locales.png
Neues Terminal aufrufen, dann zeigt nano auch wieder die Umlaute im Menü richtig an

Eine Textfile auf eine bestimmte Länge setzen

reduzieren der lines auf 100

then
   tail -n 100 vms_running-history.txt >vms_running-history100.txt 2>/dev/null
   mv vms_running-history100.txt vms_running-history.txt 2>/dev/null`

Oder etwas eleganter:

#Maximale Anzahl von Zeilen festlegen
max_lines=100
# Überprüfen, ob die Datei existiert und mehr Zeilen als das Maximum enthält
if [ -f vms_running-history.txt ] && [ $(wc -l < vms_running-history.txt) -gt $max_lines ]; then
    # Verwenden von tail, um die neuesten 100 Zeilen zu extrahieren und in eine temporäre Datei umzuleiten
    tail -n $max_lines vms_running-history.txt > vms_running-history-temp.txt
    
    # Umbenennen der temporären Datei in die ursprüngliche Datei
    mv vms_running-history-temp.txt vms_running-history.txt
fi

Systeminformationen sammeln

hostnamectl Beispiel:

 Static hostname: debian-bookworm
       Icon name: computer-laptop
         Chassis: laptop 💻
      Machine ID: 7dfb14c60bb146e9b4fe2a034df1888d
         Boot ID: 5420e067a170447c994edbcdb4cec412
Operating System: Debian GNU/Linux trixie/sid     
          Kernel: Linux 6.5.0-1-amd64
    Architecture: x86-64
 Hardware Vendor: TUXEDO
  Hardware Model: TUXEDO Aura 15 Gen2
Firmware Version: 1.07.15RTR2
   Firmware Date: Thu 2022-09-29
    Firmware Age: 1y 1d

lshw
inxi Beispiel:

 inxi -b
System:
  Host: debian-bookworm Kernel: 6.5.0-1-amd64 arch: x86_64 bits: 64
    Desktop: GNOME v: 44.5 Distro: Debian GNU/Linux trixie/sid
Machine:
  Type: Laptop System: TUXEDO product: TUXEDO Aura 15 Gen2 v: N/A
    serial: <superuser required>
  Mobo: NB01 model: NL5xNU serial: <superuser required> UEFI: INSYDE
    v: 1.07.15RTR2 date: 09/29/2022
Battery:
  ID-1: BAT0 charge: 42.7 Wh (89.9%) condition: 47.5/48.3 Wh (98.4%)
CPU:
  Info: 8-core AMD Ryzen 7 5700U with Radeon Graphics [MT MCP] speed (MHz):
    avg: 524 min/max: 400/4372
Graphics:
  Device-1: AMD Lucienne driver: amdgpu v: kernel
  Device-2: Bison BisonCam NB Pro driver: uvcvideo type: USB
  Display: wayland server: X.Org v: 1.23.2.1 with: Xwayland v: 23.2.1
    compositor: gnome-shell driver: X: loaded: amdgpu
    unloaded: fbdev,modesetting,radeon,vesa dri: radeonsi gpu: amdgpu
    resolution: 1920x1080~60Hz
  API: OpenGL v: 4.6 vendor: amd mesa v: 23.2.0~rc3-3 renderer: AMD Radeon
    Graphics (renoir LLVM 15.0.7 DRM 3.54 6.5.0-1-amd64)
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    driver: r8169
  Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi
Drives:
  Local Storage: total: 1.85 TiB used: 1.2 TiB (65.0%)
Info:
  Processes: 424 Uptime: 24m Memory: total: 16 GiB note: est.
  available: 14.96 GiB used: 4.87 GiB (32.6%) Shell: Bash inxi: 3.3.30

Anderes Beispiel für inxi:

inxi im Web

inxi Ausgbe im HTML Format

inxi -Fza -Y -2 -y 60 |aha -t "T480" >output.html
-Fza bedeutet, Nahezu alle Informationen.
Mit za werden die Infos, die der Sicherheit dienen und nicht im Web gehören unterdrückt.
Das -Y -2 sorgt dafür dass die ANSI Farben mit in die Pipe übernommen werden.Das "-y 60" sorgt dafür, das ungefähr der Output des Terminal auch in etwa im html ist.
inxi -Fza -Y -2 -y 60 |aha -n -t "T480" | XCP
Hier mit -n der Header im HTML output unterdrückt und per pipe an den alias XCP weitergereicht.

alias XCP='xsel --clipboard'

Damit ist es leichter den umfangreichen Code in eine bestehende Webseite zu integrieren.
So kann das dann aussehen:
inxi-html.png

und, wer xsel nicht auf einem Server installieren kann, oder will, kann diesen alias verwenden:

alias XCOPY='function _xcopy() { ssh "$1" cat "$2" | xsel --clipboard; }; _xcopy'

Damit ist xsel nur lokal notwendig.

mount commands für chroot

dann

Kernel Meldungen reduzieren

Den Kernel-Parameter loglevel=2 setzen, werden Notfälle, Warnungen und kritische Fehler gemeldet und Fehler der Stufe 3 (Fehler) und darunter ignoriert. Bearbeiten Sie dazu /etc/default/grub (mit Root-Rechten) und ändern Sie GRUB_CMDLINE_LINUX_DEFAULT so, dass es loglevel=2 enthält, z. B.

bearbeiten und setzen:

Dann ausführen:

screen Scrollbuffer nutzen

Drücken Sie Strg+A und dann : und dann eingeben

scrollback 10000, um zum Beispiel einen Puffer von 10000 Zeilen zu erhalten.

Man kann die Standardanzahl von Scrollback-Zeilen festlegen, indem
defscrollback 10000
in ~/.screenrc eingefügt wird.
und hier noch ein binding, dass scrollen erleichtert:

bindkey "^[[15~" eval "copy" "stuff ^B"  # F5 = Page Up
bindkey "^[[17~" eval "copy" "stuff ^F"  # F6 = Page Down

Um zu blättern
(falls das Terminal dies nicht standardmäßig zulässt),
drückt man Strg+A, dann Esc und blättern dann (mit dem üblichen Strg+F für die nächste Seite oder Strg+A für die vorherige Seite oder einfach mit dem Mausrad/den zwei Fingern). Um den Bildlaufmodus zu beenden, drückt man einfach Esc.

Ein weiterer Tipp: Strg+A und dann I zeigt Ihre aktuelle Puffereinstellung an.

Tastatur Layout im terminal auf deutsch stellen

setxkbmap de

USB Disk abschalten

udisksctl power-off -b "blockdevice"

Mit Debian Kernel 6.5.0-5-amd64

Kein Wlan mehr ... in den Logs:
iwlwifi: N' invalid for parameter enable_ini'

Das ist Bug#1057260
Einfache Behebung:
rm /etc/modprobe.d/iwlwifi.conf

Merken:
detox umlaut cleaner
detox ist ein Dienstprogramm zum Bereinigen von Dateinamen. Es ersetzt schwierig oder
schwer zu verarbeitende Zeichen, wie z. B. Leerzeichen, durch Standardäquivalente. Es bereinigt auch Dateinamen mit UTF-8- oder Latin-1- (oder CP-1252-) Zeichen in ihnen.

Bootprozess analysieren
systemd-analyze blame
systemd-analyze critical-chain

Falls der tracker3.miner amok läuft:

Still legen

# Als user ausführen
tracker3 status

systemctl --user mask tracker-extract-3.service tracker-miner-fs-3.service tracker-miner-rss-3.service tracker-writeback-3.service tracker-xdg-portal-3.service tracker-miner-fs-control-3.service

tracker3 reset -r -s`

dd mit Fortschrittsanzeige

dd if=/dev/input of=/home/user/output.img status=progress

Also status=progress

Aus backports installieren

apt install -t bookworm-backports Paket

Downgrade eines Paketes

Eine pragmatische Methode

# /etc/apt/sources.lst
deb [arch=amd64,i386] http://deb.debian.org/debian/ trixie main non-free contrib non-free-firmware
deb [arch=amd64,i386] http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
#deb http://deb.debian.org/debian unstable main
deb [arch=amd64,i386] http://ftp.de.debian.org/debian bookworm main 

apt update apt install supertuxkart/bookworm

Version »1.4+dfsg-2« (Debian:12.5/stable [amd64]) für »supertuxkart« gewählt.
Version »1.4+dfsg-2« (Debian:12.5/stable [all]) für »supertuxkart-data« gewählt aufgrund von »supertuxkart«.
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
((...))
Verwenden Sie »apt autoremove«, um sie zu entfernen.

DOWNGRADING:
  supertuxkart supertuxkart-data

Summary:
  Upgrading: 0, Installing: 0, Downgrading: 2, Removing: 0, Not Upgrading: 2
  Download size: 635 MB
  Space needed: 8.742 kB / 41,8 GB available

Continue? [J/n] 
Holen:1 http://ftp.de.debian.org/debian bookworm/main amd64 supertuxkart amd64 1.4+dfsg-2 [7.036 kB]
Holen:2 http://ftp.de.debian.org/debian bookworm/main amd64 supertuxkart-data all 1.4+dfsg-2 [628 MB]
Es wurden 635 MB in 53 s geholt (12,0 MB/s).                                                                                                     
dpkg: Warnung: Version 1.4+dfsg-4 des Paketes supertuxkart wird durch ältere Version 1.4+dfsg-2 ersetzt
(Lese Datenbank ... 440415 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../supertuxkart_1.4+dfsg-2_amd64.deb ...
Entpacken von supertuxkart (1.4+dfsg-2) über (1.4+dfsg-4) ...
dpkg: Warnung: Version 1.4+dfsg-4 des Paketes supertuxkart-data wird durch ältere Version 1.4+dfsg-2 ersetzt
Vorbereitung zum Entpacken von .../supertuxkart-data_1.4+dfsg-2_all.deb ...
Entpacken von supertuxkart-data (1.4+dfsg-2) über (1.4+dfsg-4) ...
supertuxkart-data (1.4+dfsg-2) wird eingerichtet ...
supertuxkart (1.4+dfsg-2) wird eingerichtet ...
Trigger für mailcap (3.70+nmu1) werden verarbeitet ...
Trigger für desktop-file-utils (0.27-2) werden verarbeitet ...
Trigger für hicolor-icon-theme (0.17-2) werden verarbeitet ...
Trigger für gnome-menus (3.36.0-1.1+b2) werden verarbeitet ...
Trigger für mate-menus (1.26.1-1) werden verarbeitet ...
Trigger für man-db (2.12.1-1) werden verarbeitet ...
Prüfe Prozesse...                                                                                                                                
Scanning processor microcode...                                                                                                                   
Prüfe Linux-Kernel...                                                                                                                            

Der laufende Kernel ist aktuell.

Der Prozessor Mikrocode ist aktuell.

Es müssen keine Dienste neugestartet werden.

Es müssen keine Container neu gestartet werden.

Es gibt keine Nutzer-Sitzungen mit veralteten Prozessen.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

Jetzt die Pakete auf HOLD setzen
apt-mark hold supertuxkart*
Kontrolle:
# apt-mark showhold
supertuxkart
supertuxkart-data


Wenn sich eine Dir/dir/dir/Datei Struktur nicht löschen lässt.

Ist lsattr im spiel?
Weg mit chattr -Ri /Dir


Spaltenweises Markieren und löschen

Am einfachsten mit dem vi bz. vim
strg-v und dann mit den Cursor Tasten markieren "d" löscht.

cron job

Als root für einen user editieren
crontab -u www-data -e

private key nachträglich mit einem Passwort absichern

ssh-keygen -p -f id_ed25519
Und wenn es dann bei der Nutzung trotz "Abbrechen" dennoch funktioniert?
bildschirmfoto_vom_2024-02-25_09-22-05.png
Kontrolliere mit ssh -v ziel, ob evtl. noch ein zweiter key genutzt wird ...

gnome-terminal

Ab- und zu brauche ich ein kontrastreiches Terminal.
Ich nutze das gnome-terminal.
Die entscheidenden Änderungen sieht man im Screenshot.

gnome-terminal-color.png

Die Farben im Standard Profil ist für meine Begriffe einfach eine Zumutung. Warum? Nun, guckt mal hier goaccess.


Mediathekview
Der Nachfolger ist
MTPlayer-16__2023.12.24.zip
https://www.p2tools.de/mtplayer/download/

todo


Hinweise:
ASCII Code für das Pipe "|" ist 124
Also Left ALT und 124 auf Num Feld eingeben.


Console Font vergrößern

Ich kann auf meinem Laptop auf der Console, also die man via STRG-ALT F2-F5 erreicht, nur mit Mühe die Ausgabe lesen.
Dabei ist das ganz einfach anzupassen und zu ändern. Es muß einem nur wieder einfallen.
Deshalb hier die Gedächtnisstütze.
Das Geheimnis ist das Tool dpkg-reconfigure console-setup

Einfach direkt in der Console ausführen.
Ich habe die folgenden Einstellungen gewählt:

console-setup-1.png
console-setup-2.png
console-setup-3.png
console-setup-4.png

iptables für Dummys

Zur Info: Liste der aktiven LOG Regeln mit Zeilennummern
iptables -L -n --line-numbers
Eine Regel löschen:
iptables -D INPUT Zeilennummer

Wenn der Scrollbalken im Firefox zu schmal ist, bzw. gar nicht zu sehen ist:

in about:config
widget.non-native-theme.scrollbar.size.override auf 20 setzen
widget.gtk.overlay-scrollbars.enabled auf false setzen


eMail senden ohne installiertes Mailsystem

„geht nicht!" höre ich euch sagen.
Doch, unter wenigen Voraussetzungen:

Gegeben sei
ServerA:
hier läuft ein minimalistisches Linux z.B. Debian ohne eMail
Die Installation würde 70MB oder mehr kosten.
Da der Platz knapp ist, soll ein Workaround her.

ServerB
Der Rechner kann eMails versenden.
Test:
echo "Hallo hier ist Server B"|mail -s "Test eMail von Server B" -t meine.mail@domain.de

Das muss funktionieren, sonst erst das fixen, bevor nun der Trick kommt.

Server A
Hier soll z.B. ein Backup Programm laufen, welches im Fehlerfall eine Nachricht senden können soll.

Workaround

#im Script:
cat "$LOG"|$(ssh user@serverB mail -s "Fehler beim Backup von $(hostname)" -t admin@domain.de)

#oder auch direkt in der Console
cat backup.log| ssh user@serverB mail -s "Test email von der console -t admin@domain.de

Easy, oder?

Unterschätzte Tools

PC DIMM Serial Presence Detect Tester/Decoder Output

Memory Serial Presence Detect Decoder

By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others



Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/0-0051

Guessing DIMM is inbank 2
Kernel driver usedee1004
SPD EEPROM Information
EEPROM CRC of bytes 0-125OK (0x3840)
# of bytes written to SDRAM EEPROM384
Total number of bytes in EEPROM512
Fundamental Memory typeDDR4 SDRAM
SPD Revision1.1
Module TypeSO-DIMM
EEPROM CRC of bytes 128-253OK (0x2355)
Memory Characteristics
Maximum module speed3200 MT/s (PC4-25600)
Size32768 MB
Banks x Rows x Columns x Bits16 x 17 x 10 x 64
SDRAM Device Width8 bits
Ranks2
Rank MixSymmetrical
Primary Bus Width64 bits
AA-RCD-RP-RAS (cycles)22-22-22-52
Supported CAS Latencies28T, 26T, 25T, 24T, 23T, 22T, 21T, 20T, 19T, 18T, 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T
Timings at Standard Speeds
AA-RCD-RP-RAS (cycles) as DDR4-320022-22-22-52
AA-RCD-RP-RAS (cycles) as DDR4-293321-21-21-47
AA-RCD-RP-RAS (cycles) as DDR4-266619-19-19-43
AA-RCD-RP-RAS (cycles) as DDR4-240017-17-17-39
AA-RCD-RP-RAS (cycles) as DDR4-213315-15-15-35
AA-RCD-RP-RAS (cycles) as DDR4-186613-13-13-30
AA-RCD-RP-RAS (cycles) as DDR4-160011-11-11-26
Timing Parameters
Minimum Cycle Time (tCKmin)0.625 ns
Maximum Cycle Time (tCKmax)1.600 ns
Minimum CAS Latency Time (tAA)13.750 ns
Minimum RAS to CAS Delay (tRCD)13.750 ns
Minimum Row Precharge Delay (tRP)13.750 ns
Minimum Active to Precharge Delay (tRAS)32.000 ns
Minimum Active to Auto-Refresh Delay (tRC)45.750 ns
Minimum Recovery Delay (tRFC1)350.000 ns
Minimum Recovery Delay (tRFC2)260.000 ns
Minimum Recovery Delay (tRFC4)160.000 ns
Minimum Four Activate Window Delay (tFAW)21.000 ns
Minimum Row Active to Row Active Delay (tRRD_S)2.500 ns
Minimum Row Active to Row Active Delay (tRRD_L)4.900 ns
Minimum CAS to CAS Delay (tCCD_L)5.000 ns
Minimum Write Recovery Time (tWR)15.000 ns
Minimum Write to Read Time (tWTR_S)2.500 ns
Minimum Write to Read Time (tWTR_L)7.500 ns
Other Information
Package TypeMonolithic
Maximum Activate Count (MAC)Unlimited
Post Package RepairOne row per bank group
Soft PPRSupported
Module Nominal Voltage1.2 V
Thermal SensorNo
Physical Characteristics
Module Height30 mm
Module Thickness2 mm front, 2 mm back
Module Reference CardE revision 1
Manufacturer Data
Module ManufacturerMicron Technology
DRAM ManufacturerMicron Technology
Manufacturing Location Code0x1A
Manufacturing Date2025-W06
Assembly Serial Number0xEB2772C1
Part NumberCT32G4SFD832A.M16FF



Number of SDRAM DIMMs detected and decoded: 1

----

dmesg als user


**1. Empfohlene Lösung: Udev-Regel (Sicherste und flexibelste Lösung)**

Dies ist die bevorzugte Methode, da sie minimal invasiv ist und die Berechtigungen feingranular steuert.  Sie ermöglicht es, dass normale Benutzer die 
Kernel-Protokolle lesen können, ohne `sudo` oder Root-Rechte zu benötigen.

* **Erstelle eine Udev-Regel:**  Erstelle eine Datei z.B. `/etc/udev/rules.d/99-dmesg.rules` (der Name ist wichtig, um sicherzustellen, dass sie spät 
geladen wird).  Füge folgenden Inhalt hinzu:

```
KERNEL=="kmsg", MODE="0666"
```

* **Erläuterung:**
    * `KERNEL=="kmsg"`:  Dies passt auf das Kernel-Protokollgerät `kmsg`.
    * `MODE="0666"`:  Dies setzt die Berechtigungen auf Lesen und Schreiben für alle Benutzer (Benutzer, Gruppe und andere).  **Beachte:** Dies 
ermöglicht *jedem* Benutzer das Lesen des Kernel-Protokolls.  Wenn du das einschränken möchtest, lies den Abschnitt "Sicherheitsüberlegungen" unten.

* **Udev-Regeln neu laden:** Führe folgenden Befehl aus, um die Udev-Regeln neu zu laden:

```bash
sudo udevadm control --reload-rules
sudo udevadm trigger
```

Trick & Tipp: showterm und XTerm-Secrets

Manchmal möchte man schnell ein Skript oder einen SSH-Befehl farbig und gut lesbar ausführen – und das Fenster soll offen bleiben, bis man bewusst bestätigt.
zenity oder ähnliche Tools können keine ANSI-Farben darstellen. Lösung: ein kleines Bash-Skript mit xterm.

Das Skript showterm

#!/bin/bash
# showterm – führe einen beliebigen Befehl in xterm aus
# und halte das Fenster mit read offen
# $Revision: 1.0 $

FONT="Monospace"
SIZE=14
GEOM="120x30"

if [ $# -eq 0 ]; then
    echo "Usage: $0 <command> [args...]"
    exit 1
fi

xterm -fa "$FONT" -fs "$SIZE" -geometry "$GEOM" \
  -e "$*; echo; read -p 'Drücke [Enter] zum Schließen...'"

showterm htop
showterm df -h
showterm ssh -t root@meinserver ./DPS

(DPS ist hier ein kleines Shell-Skript, das docker ps ersetzt.)

# DPS
docker ps --format "{{printf \"%-20s\" .Names}} {{.Status}}"

XTerm-Secrets

-fa 'Monospace' -fs 14 → moderne Schriftart + Größe

-geometry 120x30 → Fenstergröße in Spalten×Zeilen

-sl 2000 → Scrollback-Puffer auf 2000 Zeilen erhöhen

Ctrl+RightClick → Fontgröße live ändern

Ctrl+MiddleClick → Copy&Paste-Optionen

Ctrl+LeftClick → Farben- und VT-Optionen

Damit ist xterm trotz seines Alters ein erstaunlich flexibles Werkzeug.
Besonders in Kombination mit showterm eignet es sich perfekt, um schnelle Status-Skripte auf entfernten Servern übersichtlich und farbig auszuführen.