Das komplette Neo-Wiki, was auch die Homepage darstellt. Gemacht mit ♥ und MkDocs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dokumentation/docs/Einrichtung/Linux.md

405 lines
19 KiB

# <svg viewBox="0 0 24 24" width="1em"> <path fill="currentColor" d="M19,16C19,17.72 18.37,19.3 17.34,20.5C17.75,20.89 18,21.41 18,22H6C6,21.41 6.25,20.89 6.66,20.5C5.63,19.3 5,17.72 5,16H3C3,14.75 3.57,13.64 4.46,12.91L4.47,12.89C6,11.81 7,10 7,8V7A5,5 0 0,1 12,2A5,5 0 0,1 17,7V8C17,10 18,11.81 19.53,12.89L19.54,12.91C20.43,13.64 21,14.75 21,16H19M16,16A4,4 0 0,0 12,12A4,4 0 0,0 8,16A4,4 0 0,0 12,20A4,4 0 0,0 16,16M10,9L12,10.5L14,9L12,7.5L10,9M10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5M14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5Z" /></svg> Linux
## Vorbemerkungen
Bei allen modernen Systemen sind die Neo-basierten Layouts Neo, Bone und Neoqwertz
schon vorinstalliert. Zum Aktivieren reicht es aus, diese in den
2 years ago
Tastatureinstellungen auszuwählen.
2 years ago
Bei Problemen gibt es in der FAQ eine Liste der [bekannten Probleme unter
Linux](../Probleme/FAQ.md#linux-unix-bsd). Darüber hinaus gibt es mehrere Möglichkeiten,
[individuelle Hilfe für Neo](../Beitragen/Community.md) zu erhalten.
!!! warning "Achtung"
2 years ago
Wird Neo nicht systemweit aktiviert, hat man während der Anmeldung
möglicherweise noch eine andere Tastaturbelegung. Man sollte also seinen
Benutzernamen und sein Passwort sowohl in Qwertz (Login) als auch in Neo
(z.B. Bildschirmschoner) eingeben können.
2 years ago
## Neo aktivieren: Systemweit/Generisch
Man kann das Standardtastaturlayout des Xorg-Servers mit folgendem Befehl auf das jeweilige Neo-Layout setzen:
=== "Neo"
```
sudo localectl set-x11-keymap --no-convert de pc105 neo
```
=== "Bone"
```
sudo localectl set-x11-keymap --no-convert de pc105 bone
```
=== "NeoQwertz"
```
sudo localectl --no-convert set-x11-keymap de pc105 neo_qwertz
```
2 years ago
Jedoch haben einige Desktop-Umgebungen eigene Tastatureinstellungen, die
diese Einstellung überschreiben können. Wie man bei bestimmten
Desktopumgebungen das Tastaturlayout setzt, wird im nächsten Abschnitt gezeigt.
2 years ago
Die systemweite Einstellung wirkt sich auf die meisten Login-Manager (etwa
sddm, lightdm, gdm) aus.
Außerdem kann man temporär das Tastaturlayout des aktuellen Xorg-Servers z.B.
2 years ago
durch den Befehl `setxkbmap de neo` setzen. Bei Desktopumgebungen, die keine
eigenen Tastatureinstellungen besitzen, bietet es sich an, diesen Befehl in den
Autostart zu packen, um Neo (bzw. Bone oder NeoQwertz) nur für einen Benutzer
zu aktivieren – je nach Setup z.B. `~/.xsession`, `~/.xsessionrc` oder `~/.xinitrc`.
2 years ago
2 years ago
## Neo aktivieren: Desktopumgebungen
2 years ago
Die entsprechenden Boxen können durch Anklicken ausgeklappt werden.
2 years ago
??? info "Gnome (egal ob auf Ubuntu, Debian, Fedora, Arch, OpenSUSE oder …)"
2 years ago
Standardmäßig versteckt Gnome einige selten genutzte Tastaturlayoute in den
Einstellungen. Daher ist bei Bone und Neoqwertz darauf zu achten, dass man
zunächst im Optimierungen-Programm (`gnome-tweaks`) in der „Tastatur und
2 years ago
Maus“-Sektion „Erweiterte Eingabequellen anzeigen“ aktiviert. Alternativ kann,
falls `gnome-tweaks` nicht installiert ist, diese Einstellung mit dem Befehl
```
gsettings set org.gnome.desktop.input-sources show-all-sources true
```
vorgenommen werden. Bei dem klassischen Neo-Layout kann dieser Schritt übersprungen werden.
2 years ago
2 years ago
![screenshot](images/linux-gnome-1.png)
Dann kann man das gewünschte Layout in den
Gnome-Tastaturlayouteinstellungen (oben rechts in die Ecke klicken, dann
auf „Einstellungen“ und in die „Region und Sprache“-Rubrik wechseln)
2 years ago
setzen: Zunächst auf das große Plus klicken.
![screenshot](images/linux-gnome-2.png)
2 years ago
Anschließend auf "Deutsch" klicken, das gewünschte Layout auswählen und
oben rechts mit „Hinzufügen“ bestätigen
2 years ago
2 years ago
![screenshot](images/linux-gnome-3.png)
Anschließend wahlweise das normale Deutsche Layout rechts mit dem Kreuz
entfernen oder mit dem Griff am linken Rand unter das Neo-Layout ziehen.
Andernfalls funktioniert z.B. die vierte Ebene nicht. Falls mehrere
Layouts aktiviert sind, kann man zwischen diesen mit `<super>+<space>` oder der
2 years ago
Schaltfläche oben rechts in dem Panel wechseln.
2 years ago
2 years ago
![screenshot](images/linux-gnome-4.png)
Außerdem ist es wichtig, dass in der „Tastenkombinationen“-Rubrik bei
„Taste für alternative Zeichen„ **nicht** „Rechte Alt-Taste“ ausgewählt
ist, da sonst die rechte Mod4-Taste zu einer dritten Mod3-Taste
2 years ago
wird.
![screenshot](images/linux-gnome-5.png)
2 years ago
??? info "Cinnamon (egal ob auf Linux Mint, Ubuntu, Debian, Fedora, Arch, OpenSUSE oder …)"
Die Tastatureinstellungen können über das Startmenu geöffnet werden:
![screenshot](images/linux-cinnamon-1.png)
In dem dritten Tab zunächst die erste Ankreuzbox aktivieren, um alle Tastaturbelegungen anzuzeigen.
Dann kann man mit dem Plus unten links Tasataturbelegungen hinzufügen:
![screenshot](images/linux-cinnamon-2.png)
In dem erscheinenden Popup mit Hilfe der Suche das gewünschte Layout auswählen und hinzufügen.
![screenshot](images/linux-cinnamon-3.png)
Anschließend wahlweise das normale Deutsche Layout mit dem Minus-Symbol unten
entfernen oder mit den Pfeilen unter das Neo-Layout (oder die entsprechende Variante) befördern.
Andernfalls funktioniert z.B. die vierte Ebene nicht.
![screenshot](images/linux-cinnamon-4.png)
In den Optionen sollten alle Einstellungen auf den Standards gelassen gewerden (also keine Ankreuzauswählen und bei den Auswahlmöglichkeiten immer "Vorgabe" wählen):
![screenshot](images/linux-cinnamon-5.png)
2 years ago
??? info "KDE Plasma (egal ob auf Ubuntu, Debian, Fedora, Arch, OpenSUSE oder …)"
Öffne zunächst die Plasma-Eingabegeräteinstellungen, die in den Systemeinstellungen
in der „Hardware“-Kategorie sind.![screenshot](images/linux-plasma-1.png)
Wähle dann in auf der Tastaturseite den „Belegungen“-Reiter an.
Achte darauf, dass in dem rechten obren Bereich keine Einstellungen aktiv sind,
die mit dem Neo-Layout konfliktieren und klicke in der unteren Hälfte auf
2 years ago
„Hinzufügen“.
![screenshot](images/linux-plasma-2.png)
2 years ago
Wähle in dem Belegungs-Dropdown nun „Deutsch“ und in dem Varianten-Dropdown
die gewünschte Variante aus. Bestätige mit „OK“. Eventuelle andere Layouts
sollten entfernt oder unter Neo verschoben werden, um Probleme mit den
höheren Ebenen zu vermeiden. Anschließend mit „Anwenden“ den Dialog
2 years ago
schließen und neu anmelden.
![screenshot](images/linux-plasma-3.png)
2 years ago
2 years ago
??? info "XFCE (egal ob auf Ubuntu, Debian, Fedora, Arch, OpenSUSE oder …)"
Standardmäßig hält sich XFCE an die systemweiten Einstellungen, also
muss man nur für XFCE weitere Einstellungen vornehmen, wenn man das
Layout nicht global, sondern nur für einen bestimmten Benutzer
aktivieren möchte.
Da XFCE wie Gnome auch „exotische“ Tastaturlayouts ausblendet, gehen
wir über die Konsole vor:
2 years ago
=== "Neo (klassisch)"
2 years ago
```
xfconf-query -c keyboard-layout -p "/Default/XkbDisable" -s "false"
xfconf-query -c keyboard-layout -p "/Default/XkbLayout" -s "de"
xfconf-query -c keyboard-layout -p "/Default/XkbVariant" -s "neo"
```
Die Einstellung wird sofort aktiv.
=== "Bone"
```
xfconf-query -c keyboard-layout -p "/Default/XkbDisable" -s "false"
xfconf-query -c keyboard-layout -p "/Default/XkbLayout" -s "de"
xfconf-query -c keyboard-layout -p "/Default/XkbVariant" -s "bone"
```
Die Einstellung wird sofort aktiv.
=== "Neo/Qwertz"
```
xfconf-query -c keyboard-layout -p "/Default/XkbDisable" -s "false"
xfconf-query -c keyboard-layout -p "/Default/XkbLayout" -s "de"
xfconf-query -c keyboard-layout -p "/Default/XkbVariant" -s "neo_qwertz"
```
Die Einstellung wird sofort aktiv.
2 years ago
2 years ago
## Installation der Compose-Dateien
Die Funktionalität der Tote-Tasten-Sequenzen wird durch die Compose-Datei
gesteuert. Dies ist bei Linux unabhängig vom Tastaturlayout. Das bedeutet,
dass man auch mit aktiviertem Neo-Layout standardmäßig nur den eingeschränkten
Funktionsumfang der Standard-Compose-Datei zu verfügung hat. Die
Neo-Compose-Datei ist jedoch mit
```
wget "https://neo-layout.org/download/XCompose" -O ~/.XCompose
```
schnell nachinstalliert. Zum Übernehmen der Änderungen neu anmelden.
Die Neo-Compose-Datei ist modular aufgebaut. So kann man einfach mit Hilfe der
2 years ago
Quelldateien im
[Git-Repo](https://git.neo-layout.org/neo/neo-layout/src/branch/master/Compose)
einzelne Features nach belieben (de-)aktivieren. Siehe auch [Erzeugbare Zeichen mit Compose](../Benutzerhandbuch/Tote-Tasten-und-Compose.md#erzeugbare-zeichen-mit-compose).
2 years ago
## Installation der Konsolen-Keymap
### Standard Linux-Konsole
2 years ago
Die „alte“ Linux-Konsole benutzt nicht die gewöhnlichen Tastaturlayouts der
graphischen Benutzeroberfläche.
Seit der Version 2.4.0 sind Konsolenkeymaps für Neo, Bone, NeoQwertz und AdNW in upstream [kbd](https://mirrors.edge.kernel.org/pub/linux/utils/kbd/) enthalten, jedoch paketieren noch recht wenige Distributionen diese.
Also müssen meist die [Neo-Keymaps](https://neo-layout.org/download/console.tar.xz) nachinstalliert werden.
2 years ago
Die Installation kann mit den Befehlen in den blauen Kästen geschehen.
2 years ago
Alternativ kann man die Keymaps manuell an den entsprechenden Stellen platzieren
2 years ago
2 years ago
| Distribution | Keymap-Verzeichnis |
| :-------------------- | :----------------------------- |
| Arch | `/usr/share/kbd/keymaps` |
| Debian und Nachfahren | `/usr/share/keymaps` |
| Fedora | `/usr/lib/kbd/keymaps` |
| OpenSUSE | `/usr/share/kbd/keymaps` |
Anschließend kann man die Keymaps mit `sudo loadkeys -u neo`,
`sudo loadkeys -u bone` bzw. `sudo loadkeys -u neoqwertz` laden. Die
permanente Aktivierung erfolgt in der Regel über `localectl`, bei
Debian-Derivaten funktioniert dies jedoch nicht.
2 years ago
??? info "Arch Linux"
=== "Neo (klassisch)"
2 years ago
```
sudo loadkeys -u neo
sudo localectl set-keymap --no-convert neo
```
=== "Bone"
```
sudo loadkeys -u bone
sudo localectl set-keymap --no-convert bone
```
=== "Neo/Qwertz"
```
sudo loadkeys -u neoqwertz
sudo localectl set-keymap --no-convert neoqwertz
```
??? info "Debian-Derivat (Debian, Ubuntu, Linux Mint, Pop!OS, …)"
=== "Neo (klassisch)"
2 years ago
Auf der Konsole `sudo dpkg-reconfigure keyboard-configuration` ausführen und in
dem erscheinenden Dialog Neo auswählen.
=== "Bone"
Die Installation erfolgt mit
```
sudo mkdir -p /usr/share/keymaps
wget "https://neo-layout.org/download/console.tar.xz" -O - | \
sudo tar -C /usr/share/keymaps/ -xJ
```
Dann muss man `KMAP=/usr/share/keymaps/neo/bone.map` in die `/etc/default/keyboard` hinzufügen und
anschließend als root `setupcon` auf der Konsole ausgeführen. Die Einstellung
bleibt über Neustarts hinweg aktiv.
=== "Neo/Qwertz"
Die Installation erfolgt mit
```
sudo mkdir -p /usr/share/keymaps
wget "https://neo-layout.org/download/console.tar.xz" -O - | \
sudo tar -C /usr/share/keymaps/ -xJ
```
Dann muss man `KMAP=/usr/share/keymaps/neo/neoqwertz.map` in die `/etc/default/keyboard` hinzufügen und
anschließend als root `setupcon` auf der Konsole ausgeführen. Die Einstellung
bleibt über Neustarts hinweg aktiv.
??? info "Fedora"
=== "Neo (klassisch)"
2 years ago
```
sudo loadkeys -u de-neo
sudo localectl set-keymap --no-convert de-neo
```
=== "Bone"
```
wget "https://neo-layout.org/download/console.tar.xz" -O - | \
sudo tar -C /usr/lib/kbd/keymaps/ -xJ
sudo loadkeys -u bone
sudo localectl set-keymap --no-convert bone
```
=== "Neo/Qwertz"
```
wget "https://neo-layout.org/download/console.tar.xz" -O - | \
sudo tar -C /usr/lib/kbd/keymaps/ -xJ
sudo loadkeys -u neoqwertz
sudo localectl set-keymap --no-convert neoqwertz
```
??? info "OpenSUSE"
=== "Neo (klassisch)"
2 years ago
```
sudo loadkeys -u de-neo
sudo localectl set-keymap --no-convert de-neo
```
=== "Bone"
```
wget "https://neo-layout.org/download/console.tar.xz" -O - | \
sudo tar -C /usr/share/kbd/keymaps/ -xJ
sudo loadkeys -u bone
sudo localectl set-keymap --no-convert bone
```
=== "Neo/Qwertz"
```
wget "https://neo-layout.org/download/console.tar.xz" -O - | \
sudo tar -C /usr/share/kbd/keymaps/ -xJ
sudo loadkeys -u neoqwertz
sudo localectl set-keymap --no-convert neoqwertz
```
2 years ago
2 years ago
!!! warning "Hinweis"
Bei vollverschlüsselten Systemen ist darauf zu achten, dass das
Tastaturlayout beim Starten schon vor der Passphrasenabfrage gesetzt wird.
Bei Arch Linux z.B. muss dafür in `/etc/mkinitcpio.conf` der
`sd-vconsole`-Hook vor dem `sd-encrypt`-Hook eingefügt werden und
bei Debian muss man die `KEYMAP`-Einstellung in der `etc/initramfs-tools/initramfs.conf`
aktivieren. Dann jeweils das Initramfs neu generieren (mit `mkinitcpio -p linux`
bzw `update-initramfs -u`).
Bei anderen Distribution verläuft die Installation vermutlich ähnlich.
Bei Problemen kannst du dich jederzeit an [uns](../Benutzerhandbuch/Kontakt/community) wenden.
### Alternativen
Anstatt der Standard Linux-Konsole können auch modernere Konsolen wie [KMSCON](https://www.freedesktop.org/wiki/Software/kmscon/) verwendet werden. Diese Konsole unterstützt beispielsweise Unicode Schriften und xkb Tastaturlayouts mit libxkbcommon. So können die normalen xkb Tastaturlayouts mit voller 5ter- & 6ter- Ebene, sowie Mod4-Lock, usw. verwendet werden. Dies hat auch den großen Vorteil, dass Veränderungen am xkb Tastaturlayout nicht für die Konsole repliziert werden müssen.
## Persönliches Tastaturlayout konfigurieren
Durch Änderung der xkb-Dateien können bestehende Layouts angepasst oder ein neues eigenes Layout auf vorhandener Basis erstellt werden.
Bemerke, dass dies bei verschiedenen Distributionen und Display-Server-Protokollen (X11, Wayland) jeweils unterschiedlich sein kann. Das Erstellen der Datei ist immer gleich, aber die Platzierung der Datei und mögliche Änderungen an anderen Dateien kann variieren.
<!-- Wahrscheinlich sollte da nicht auf Gitea gelinkt werden. Aber hier alle Möglichkeiten aufzuzählen wäre zu lange und würde definitiv eine eigene Seite beanspruchen. -->
Siehe https://git.neo-layout.org/neo/dokumentation/pulls/40 für verschiedene Möglichkeiten.
### Erstellen eines eigenen Layouts
Das Erstellen eines eigenen Layouts ist nicht so schwer wie man anfangs denken mag. Jedoch benötigt man dafür einige Kenntnisse mit der Kommandozeile. Es wird im Beispiel gezeigt, dass Tote Tasten aus dem NeoQwertz zu normalen Tasten umgeändert werden. Dies sollte sowohl unter Xorg als auch unter Wayland funktionieren.
Zuerst sollte eine Basis erschaffen werden, auf der dann die Änderung durchgeführt werden kann. Man betrachte dafür die Datei `/usr/share/X11/xkb/symbols/de` und suche nach unserem gewünschten Basis-Layout, hier `neo_qwertz`. Erstelle nunn eine neue Datei, welche wie folgt aussieht. In dieser wird dann auf `neo_qwertz` basiert.
```
partial alphanumeric_keys modifier_keys keypad_keys
xkb_symbols "neo_qwertz_nodeadkeys" {
include "de(neo_qwertz)"
name[Group1]= "German (Neo, QWERTZ, no dead keys)";
};
```
Hier kann man dann den Namen "neo_qwertz_nodeadkeys" und "German (Neo, QWERTZ, no dead keys)" beliebig wählen.
Jetzt kommt der eigentlich interessante Teil, das ändern des Layouts. Dafür brauchen wir `key`-Definitionen, welche man in der selben Datei wie oben genannt findet. Diese sehen Beispielsweise so aus:
```
key <AE12> { [ dead_grave, dead_cedilla, dead_abovering, dead_dasia, dead_diaeresis, NoSymbol, dead_macron, NoSymbol ] };
```
Hier wird die Taste `AE12` (die Taste links neben Backspace) zu verschiedenen Zeichen (`dead_grave`, `dead_cedilla`, ...) basierend auf der aktuellen Ebene geändert. Wir wollen, dass diese Tasten normal funktionieren. Es werden deswegen diese Zeile in die neu erstellte Datei in den Block `xkb_symbolic` kopiert. alle `dead_` vor den Tasten entfernt:
```
key <AE12> { [ grave, cedilla, abovering, ... ] };
```
Es muss außerdem noch eine Zeile mit `key.type[Group1] = "...";`, welche sich am Anfang des Textabschnittes bei allen Tastaturdefinitionen befinden, kopiert und auch vor die in der neuen Datei erstellten Definitionen eingefügt werden.
Außerdem müssen `tilde` und `circumflex` durch `asciitilde` und `asciicircum` bei den jeweiligen Tasten ausgetauscht werden.
Nun ist das erstellte Layout bereits fertig, es muss nun nach `/usr/share/X11/xkb/symbols/` verschoben werden, zum Beispiel mit den Namen `neo_qwertz_nodeadkeys` (es werden Root-Rechte benötigt) und das erstellte Layout kann mit `setxkbmap neo_qwertz_nodeadkeys` geladen werden. Alternativ kann die Datei unter Xorg auch ohne Root-Rechte mithilfe von `xkbcomp <dateiname> $DISPLAY` geladen werden. Falls ein Fehler beim Editieren der Datei gemacht wird, wird man hier darauf hingewiesen, das Tastaturlayout ändert sich nicht und man kann die Fehler korrigieren. Falls man seinen Fehler nicht findet, kann man durch `xkbcomp <dateiname>` auch das erstellten Layout prüfen lassen.
??? example "Beispiel"
```
partial alphanumeric_keys modifier_keys keypad_keys
xkb_symbols "neo_qwertz_nodeadkeys" {
include "de(neo_qwertz)"
name[group1]="German (Neo, QWERTZ, no dead keys)";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AE12> { [ asciicircum, cedilla, abovering, abovereversedcomma, diaeresis, NoSymbol, macron, NoSymbol ] };
key <AD12> { [ asciicircum, asciitilde, stroke, abovecomma, doubleacute, NoSymbol, breve, NoSymbol ] };
key <TLDE> { [ asciicircum, caron, U21BB, U02DE, abovedot, Pointer_EnableKeys, belowdot, NoSymbol ] };
};
```
Für mehr Informationen siehe auch:
<https://unix.stackexchange.com/questions/202883/create-xkb-configuration-from-xmodmap>.
### Änderung von xkb-Dateien
Anstatt ein neues Layout zu erstellen, kann es für geringfügige Änderungen sinnvoller sein, die xkb-Dateien direkt anzupassen. Diese Änderungen erfordern allerdings Rootrechte. Außerdem kann es vorkommen, dass Änderungen direkt in `/usr/share/X11/xkb` nach einem Systemupdate wieder überschrieben werden.
#### Ändern von NeoQwertz zur Variante mit Eszett unten
Die Änderungen erfolgen in der Datei `/usr/share/X11/xkb/symbols/de`:
- suche nach dem Abschnitt `neo_qwertz_base`
- vertausche die IDs der Tastendefinitionen von AE11 und AB10
Anschließend müssen die xkb-Dateien erneut eingelesen werden (alternativ den Rechner neu starten) Unter Debian erfolgt dies mit `sudo dpkg-reconfigure xkb-data`. Danach erneut das Tastaturlayout auswählen über `setxkbmap de neo_qwertz`, schon sind die vertauschten Tasten gültig.