# Hardware Installation

# Asus Vivobook S Wifi installation

### Beschreibung

bei einer frischen installation, ist Wifi nicht vorhanden. Die Wifi Karte wird nicht als USB/PCI Karte erkannt.  
Daher muss ein weiteres Kernelmodul installiert werden.  
Damit wir das können, vorrübergehend mit einer USB Netzwerkkarte arbeiten oder ein Smartphone per USB mit Thetering anschließen.

### Installation

```
sudo apt update && sudo apt install rtl8821ce-dkms
```

# Mittlere Maustaste deaktivieren um ungewollten schließen von Tabs/Fenstern zu verhindern

### Beschreibung:

Bei einigen Notebooks ist es echt ätzend das die mittlere Maustaste nicht sichtbar szwichen der linken und rechten taste liegt.  
Will man eigentlich nur einen Linksklick machen, und kommt zu weit rechts, wird der Tab geschlossen anstatt das er wieder aktiviert / angezeigt wird.  
Gott sei Dank kann man mit xinput oder xmodmap die Taste auch deaktivieren. Ist ein bisschen mühselig aber lohnt sich.  
  
Edit: die xmodmap variante funktioniert besser und ist auchn och einfacher zu implementieren.  
ich schlage vor erstmal Lösung xmodmap zu nehmen

## XINPUT-Methode

#### Installation xinput

```
sudo apt-get install xinput
```

#### IDs herausfinden

Nun die ID unseres Gerätes (Touchpad) herausbekommen

```
xinput list


Ausgabe:
xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Wacom HID 52CD Pen stylus               	id=10	[slave  pointer  (2)]
⎜   ↳ Wacom HID 52CD Finger touch             	id=11	[slave  pointer  (2)]
⎜   ↳ MSFT0001:00 06CB:CE78 Mouse             	id=12	[slave  pointer  (2)]
⎜   ↳ MSFT0001:00 06CB:CE78 Touchpad          	id=13	[slave  pointer  (2)]
⎜   ↳ Wacom HID 52CD Pen eraser               	id=15	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Video Bus                               	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C         	id=8	[slave  keyboard (3)]
    ↳ Ideapad extra buttons                   	id=9	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=14	[slave  keyboard (3)]

```

id=12und 13 kommt unsererm Tochpad am nähesten.  
Wie wir sehen ist Tocuhpad und Mouse mit der gleichen ID vorhanden.  
Warum auch immer.  
Wir führen diese Prozedur für beide IDs durch.  
  
Wir holen uns die Tasten von Gerät mit der ID 12 bei euch kann es ne ander ID sein.  
Wie wir sehen ist warum auch immer .  
  
Die Buttons für 12 und 13 sind identisch

```
xinput get-button-map [id]

Ausgabe für 12

xinput get-button-map 12
1 2 3 4 5 6 7 

Ausgabe für 13

xinput get-button-map 13
1 2 3 4 5 6 7 

```

#### Taste deaktivieren

In dierser Liste von Zahlen entpricht in der Regel die zweite Zahl die mittlere Maustaste.  
Wir deaktivieren diese in dem wir sie auf 0 setzen.  
Wichtig ist das wir alle folgenden Zahlen auch mit eintragen.

```
xinput set-button-map [ID] 1 0 3 [restliche Zahlen]

Beispiel:

xinput set-button-map [ID] 1 0 3 4 5 6 7
Nun für beide ids
xinput set-button-map 12 1 0 3 4 5 6 7
xinput set-button-map 13 1 0 0 4 5 6 7
```

#### Beim Systemstart ausführen lassen

Nun öffnen wir Startprogramme

[![Menü_007.png](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/scaled-1680-/quOW3VeTFvFObI6T-menu-007.png)](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/quOW3VeTFvFObI6T-menu-007.png)

klicken auf das Plus

[![Auswahl_1056.png](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/scaled-1680-/wkqBBssDfV4Gt8GB-auswahl-1056.png)](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/wkqBBssDfV4Gt8GB-auswahl-1056.png)

und wählen benutzerdefinierter Befehl aus

[![Menü_008.png](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/scaled-1680-/GlD8rnuhRqqcvn3r-menu-008.png)](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/GlD8rnuhRqqcvn3r-menu-008.png)

Nun Namen vergeben mit ID 12  
Den Befehl reinpacken : xinput set-button-map 12 1 0 3 4 5 6 7

  
Das ganze wiederholen wir dann auch für die ID 13

[![Auswahl_1057.png](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/scaled-1680-/eJkk4pUQUgM5SJjv-auswahl-1057.png)](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/eJkk4pUQUgM5SJjv-auswahl-1057.png)

Fertig.  
Nun kein generve mehr mit schließen von mittlerer Maustate auf dem Tocuhpad.  
Bei allen anderen Mäusen die ventuell noch angeschlossen sind funktioniert die mittlere Maustatse immer noch.  
Wenn man die auch deaktivieren möchte, dann von der Maus die id raussuchen und das gleiche Spiel nochmals ;-)

## Mit xmodmap Methode  


- **Mauszeiger-Mapping:**
    
    
    - Bei der Mauszeiger-Konfiguration repräsentiert jede Zahl eine bestimmte Maustaste. Normalerweise ist `1` die linke Maustaste, `2` die mittlere Maustaste und `3` die rechte Maustaste.
- **Bedeutung der Zahlen in `xmodmap`:**
    
    
    - Der Befehl `xmodmap -e "pointer = 1 0 3"` gibt an, wie die Maustasten neu zugeordnet werden sollen.
    - `1` behält die Funktion der linken Maustaste bei.
    - `0` ist ein spezieller Platzhalter, der "keine Zuordnung" oder "deaktiviert" bedeutet. Wenn Sie also `0` als Wert für eine Maustaste einstellen, wird diese Taste deaktiviert.
    - `3` behält die Funktion der rechten Maustaste bei.

```
xmodmap -e "pointer = 1 0 3"
```

Nun das ganze als Autostart einbetten.  
Nun öffnen wir Startprogramme

[![Menü_007.png](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/scaled-1680-/quOW3VeTFvFObI6T-menu-007.png)](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/quOW3VeTFvFObI6T-menu-007.png)

klicken auf das Plus

[![Auswahl_1056.png](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/scaled-1680-/wkqBBssDfV4Gt8GB-auswahl-1056.png)](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/wkqBBssDfV4Gt8GB-auswahl-1056.png)

und wählen benutzerdefinierter Befehl aus

[![Menü_008.png](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/scaled-1680-/GlD8rnuhRqqcvn3r-menu-008.png)](https://wiki.hacker-net.de/uploads/images/gallery/2023-10/GlD8rnuhRqqcvn3r-menu-008.png)

Nun Namen vergeben : mittlere Maustaste deaktivieren  
Den Befehl reinpacken : xmodmap -e "pointer = 1 0 3"

[![Auswahl_266.png](https://wiki.hacker-net.de/uploads/images/gallery/2023-11/scaled-1680-/57eRuOCnIE21Z2BZ-auswahl-266.png)](https://wiki.hacker-net.de/uploads/images/gallery/2023-11/57eRuOCnIE21Z2BZ-auswahl-266.png)

Fertig.  
Nun kein generve mehr mit schließen von mittlerer Maustate auf dem Tocuhpad.

# Swap Datei vergrößern

Um die Größe einer Swap-Datei unter Linux zu vergrößern, folgen Sie diesen Schritten:

1. **Swap-Datei deaktivieren:** Deaktivieren Sie zunächst die aktuelle Swap-Datei. In diesem Beispiel nehmen wir an, dass die Swap-Datei `/swapfile` heißt.
    
    <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">sh <div class="flex items-center">  
    </div></div></div>
2. <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="overflow-y-auto p-4 text-left undefined" dir="ltr">`sudo swapoff /swapfile`</div></div>
3. **Swap-Datei vergrößern:** Verwenden Sie das `dd`-Kommando, um die Swap-Datei zu vergrößern. Angenommen, Sie möchten die Swap-Datei auf 4GB vergrößern (und die aktuelle Swap-Datei hat eine Größe von 2GB).
    
    <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">  
    <div class="flex items-center">  
    </div></div></div>
4. <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="overflow-y-auto p-4 text-left undefined" dir="ltr">`sudo <span class="hljs-built_in">dd</span> <span class="hljs-keyword">if</span>=/dev/zero of=/swapfile bs=1M count=4096`</div></div>Ersetzen Sie `4096` durch die gewünschte Größe in Megabytes.
5. **Swap-Datei formatieren:** Setzen Sie die richtigen Berechtigungen und formatieren Sie die Datei als Swap.
    
    <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">sh <div class="flex items-center">  
    </div></div></div>
6. <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="overflow-y-auto p-4 text-left undefined" dir="ltr">`sudo <span class="hljs-built_in">chmod</span> 600 /swapfilesudo mkswap /swapfile`</div></div>
7. **Swap-Datei aktivieren:** Aktivieren Sie die Swap-Datei erneut.
    
    <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">sh <div class="flex items-center">  
    </div></div></div>
8. <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="overflow-y-auto p-4 text-left undefined" dir="ltr">`sudo swapon /swapfile`</div></div>
9. **Überprüfen:** Überprüfen Sie, ob die Swap-Datei korrekt aktiviert wurde und die neue Größe hat.
    
    <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">sh <div class="flex items-center">  
    </div></div></div>
10. <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="overflow-y-auto p-4 text-left undefined" dir="ltr">`sudo swapon --show`</div></div>
11. **Eintrag in `/etc/fstab` überprüfen:** Stellen Sie sicher, dass die Swap-Datei in der `/etc/fstab` eingetragen ist, damit sie beim Booten automatisch aktiviert wird. Der Eintrag sollte in etwa so aussehen:
    
    <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">sh <div class="flex items-center">  
    </div></div></div>

1. <div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="overflow-y-auto p-4 text-left undefined" dir="ltr">`/swapfile none swap sw 0 0`</div></div>

Durch diese Schritte sollten Sie die Größe Ihrer Swap-Datei erfolgreich vergrößert haben.

# Partiton aufs maximum vergrößern wenn die Festplatte vergößert wurde

### Beschreibung:

Es kann mal vor kommen, das eine Festplatte z.b in einer VM vergrößert wird.  
Leider wird das Dateisystem nicht mit angepasst.

Hier ein Script das die macht.  
Dies Script hat allerdings Pakete Voraussetzungen die noch installiert werden müssen.

### Voraussetzungen:

```
apt-get install bc e2fsprogs parted util-linux cloud-utils
```

### Das Script:

```
nano /root/extend_to_max.sh
```

Inhalt

```
#!/bin/bash
#
# extend_to_max.sh – Erweitert eine Partition (und das Dateisystem)
#                     auf den maximal verfügbaren freien Speicher.
#
# Benutzung:
#    ./extend_to_max.sh -d <Partition>
#
# Beispiel:
#    ./extend_to_max.sh -d /dev/sda2
#
# ACHTUNG: Vor Änderungen unbedingt ein vollständiges Backup anfertigen!
#

print_help() {
    echo "Usage: $0 -d <Partition>"
    echo "  -d   Zielpartition (z.B. /dev/sda2)"
}

# Parameter prüfen
if [ "$#" -eq 0 ]; then
    print_help
    exit 1
fi

while getopts "d:h" opt; do
    case $opt in
        d)
            DEVICE="$OPTARG"
            ;;
        h)
            print_help
            exit 0
            ;;
        ?)
            print_help
            exit 1
            ;;
    esac
done

if [ -z "$DEVICE" ]; then
    echo "Fehler: Kein Gerät angegeben!"
    print_help
    exit 1
fi

# Root-Prüfung
if [ "$(id -u)" -ne 0 ]; then
    echo "Dieses Script muss als root ausgeführt werden."
    exit 1
fi

echo "Erweitere Partition $DEVICE auf maximal verfügbaren Speicher..."

# Bestimme den übergeordneten Datenträger und die Partitionsnummer.
PARENT=$(lsblk -no pkname "$DEVICE" 2>/dev/null)
if [ -n "$PARENT" ]; then
    DISK="/dev/$PARENT"
else
    DISK=$(echo "$DEVICE" | sed 's/[0-9]*$//')
fi

PART_NUM=$(echo "$DEVICE" | sed 's/.*\([0-9]\+\)$/\1/')
echo "Verwende Datenträger: $DISK, Partition: $PART_NUM"

# Starte die Erweiterung mit growpart.
# (growpart erweitert standardmäßig bis zum maximal verfügbaren freien Platz)
echo "Starte growpart..."
growpart "$DISK" "$PART_NUM"
if [ $? -ne 0 ]; then
    echo "Fehler: growpart konnte die Partition nicht erweitern."
    exit 1
fi

# Erweitere anschließend das Dateisystem (hier wird ext2/3/4 vorausgesetzt).
echo "Passe das Dateisystem an ($DEVICE) an..."
resize2fs "$DEVICE"
if [ $? -ne 0 ]; then
    echo "Fehler: resize2fs konnte das Dateisystem nicht erweitern."
    exit 1
fi

echo "Partition und Dateisystem wurden erfolgreich auf den maximal verfügbaren Speicher erweitert."
exit 0

```

Script Ausführbar machen

```
chmod +x /root/extend_to_max.sh
```

### Erklärung:

1. **Parameterverarbeitung**:
    
    
    - `-d <Partition>`: Gibt die Partition an, die vergrößert werden soll (z.B. `/dev/sda1`).
2. **Überprüfung der Partition**:
    
    
    - Das Skript überprüft, ob die angegebene Partition existiert.
3. **Vergrößern der Partition**:
    
    
    - Das Skript verwendet `growpart`, um die Partition zu vergrößern.
4. **Vergrößern des Dateisystems**:
    
    
    - Das Skript verwendet `resize2fs`, um das Dateisystem auf der Partition zu vergrößern.

**Hilfe anzeigen:**

```
./extend_to_max.sh
```

**Vergrößerung**:

```
./extend_to_max.sh -d /dev/sda1
```