Skip to main content

Alternative Terminal-Programme

Aufmacherbild
Submitted by Erik Wegner on

Zur Eingabe von Befehlen und der Arbeit mit textorientierten Programmen in der Kommandozeile gibt es für grafische Oberflächen verschiedene Terminal-Programme. Auf drei Windows-Exemplare möchte ich hier zur Dokumentation eingehen.

Randbemerkung: Die Tastenkombination Umschalt+Steuerung+_ benötige ich zum Aufruf eines Plugins in neovim.

Die folgenden Konfigurationen verwenden unter Windows mit WSL2 installierte Distributionen. Um deren GUID zu ermitteln, kann die Startmenü-Verknüpfung Auskunft geben.

Alacritty

https://alacritty.org Version 0.16.1

Eigenschaften: Plattformübergreifend, OpenGL-Nutzung, eingeschränkte Funktionsmenge

Titel
%APPDATA%\alacritty\alacritty.toml
[font]
normal = { family = "CaskaydiaCove Nerd Font" }

[terminal]
shell = { program = "wsl", args = ["--distribution-id", "{f4c2ee93-0e15-4882-94ad-3e0d485b8a41}", "--cd", "~"] }

[keyboard]
bindings = [
{ key = "_", mods = "Control|Shift", action = "ReceiveChar" },
]

# Campbell (Windows 10 default) https://github.com/alacritty/alacritty-theme/
# Default colors
[colors.primary]
background = '#0c0c0c'
foreground = '#cccccc'

# Normal colors
[colors.normal]
black = '#0c0c0c'
red = '#c50f1f'
green = '#13a10e'
yellow = '#c19c00'
blue = '#0037da'
magenta = '#881798'
cyan = '#3a96dd'
white = '#cccccc'

# Bright colors
[colors.bright]
black = '#767676'
red = '#e74856'
green = '#16c60c'
yellow = '#f9f1a5'
blue = '#3b78ff'
magenta = '#b4009e'
cyan = '#61d6d6'
white = '#f2f2f2'

WezTerm

https://wezterm.org/ Version 20240203-110809-5046fc22

Eigenschaften: plattformübergreifend, viele Funktionen

Titel
%USERPROFILE%\.wezterm.lua
-- Pull in the wezterm API
local wezterm = require 'wezterm'

-- This will hold the configuration.
local config = wezterm.config_builder()

config.window_decorations = "RESIZE"

-- config.color_scheme = 'AdventureTime'
config.color_scheme = 'Campbell (Gogh)'
config.font = wezterm.font "CaskaydiaCove Nerd Font"
config.default_prog = {
'wsl', "--distribution-id", "{f4c2ee93-0e15-4882-94ad-3e0d485b8a41}", "--cd", "~"
}

config.keys = {
{
key = '_',
mods = 'CTRL',
action = wezterm.action.DisableDefaultAssignment,
},
{
key = '_',
mods = 'CTRL|SHIFT',
action = wezterm.action.DisableDefaultAssignment,
},
}

-- Finally, return the configuration to wezterm:
return config

Microsoft Terminal

https://learn.microsoft.com/windows/terminal/ Version 1.23.20211.0

Eigenschaften: von Microsoft

Linux-Tastenkombinationen finden

Für eine Erweiterung verwende ich Steuerung+Umschalt+_ als Tastenkombination. Deshalb ist sie oben besonders definiert, um nicht vom Terminalprogramm selbst interpretiert zu werden.

Für Alacritty hat das unter Linux so nicht funktioniert. Mit folgendem Befehl kann aber die Byte-Sequenz sichtbar gemacht werden:

showkey -a

Die Ausgabe sieht so aus:

^_       31 0037 0x1f

Alternativ funktioniert auch

cat | xxd

Dabei wird dieses angezeigt:

^_
00000000: 1f0a                                     ..

Die Konfiguration für Alacritty ändert sich entsprechend ab:

Titel
Alacritty unter Linux
[keyboard]
bindings = [
{ key = "_", mods = "Shift|Control", chars = "\u001f" },
]