원문 보기: https://dawoum.duckdns.org/wiki/WezTerm
WezTerm는 Alacritty와 Kitty (terminal emulator)와 함께 자주 언급되는 GPU-가속 터미널 에뮬레이터입니다.
Installation
데비안 저장소에서 제공하지 않기 때문에, 홈페이지의 안내에 따라 설치할 수 있습니다.
개발자가 제공하는 저장소로부터 직접 설치할 수 있습니다:
- curl -fsSL https://apt.fury.io/wez/gpg.key | sudo gpg --yes --dearmor -o /usr/share/keyrings/wezterm-fury.gpg
- echo 'deb [signed-by=/usr/share/keyrings/wezterm-fury.gpg] https://apt.fury.io/wez/ * *' | sudo tee /etc/apt/sources.list.d/wezterm.list
- sudo apt update
- sudo apt install wezterm
또는
- sudo apt install wezterm-nightly
또는 다른 방법, 예를 들어, Flatpak, AppImage, 등을 이용해서 설치할 수 있습니다.
latest development version
홈페이지의 정보에 따라 진행할 수 있습니다. 여기서는 git 저장소에서 소스를 받아서 설치할 예정입니다.
- git clone --depth=1 --branch=main --recursive https://github.com/wez/wezterm.git
- cd wezterm
- git submodule update --init --recursive
- ./get-deps
- cargo build --release
- cargo run --release --bin wezterm -- start
Building debian package using cargo-deb
데비안 deb 패키지를 만들기 위해, wezterm/Cargo.toml 파일의 마지막에 다음을 추가하십시오:
[package.metadata.deb]
name = "wezterm"
maintainer = "Wez Furlong <wez@wezfurlong.org>"
copyright = "Wez Furlong <wez@wezfurlong.org>"
extended-description = """\
Wez's Terminal Emulator."""
depends = "$auto"
section = "utils"
priority = "optional"
assets = [
["target/release/wezterm", "usr/bin/", "755"],
["target/release/wezterm-gui", "usr/bin/", "755"],
["target/release/wezterm-mux-server", "usr/bin/", "755"],
["target/release/strip-ansi-escapes", "usr/bin/", "755"],
["../assets/open-wezterm-here", "usr/bin/open-wezterm-here", "755"],
["../assets/shell-integration/wezterm.sh", "etc/profile.d/wezterm.sh", "644"],
["../assets/icon/terminal.png", "usr/share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png", "644"],
["../assets/wezterm.desktop", "usr/share/applications/org.wezfurlong.wezterm.desktop", "644"],
["../assets/wezterm.appdata.xml", "usr/share/metainfo/org.wezfurlong.wezterm.appdata.xml", "644"],
["../assets/wezterm-nautilus.py", "usr/share/nautilus-python/extensions/wezterm-nautilus.py", "644"],
["../LICENSE.md", "usr/share/doc/wezterm/LICENSE", "644"],
["../README.md", "usr/share/doc/wezterm/README", "644"],
["../assets/shell-completion/bash", "usr/share/bash-completion/completions/wezterm", "644"],
["../assets/shell-completion/fish", "usr/share/fish/vendor_completions.d/wezterm.fish", "644"],
["../assets/shell-completion/zsh", "usr/share/zsh/site-functions/_wezterm", "644"],
]
위에서 target/release 디렉토리가 아닌 곳에서 파일을 가져올 때에는 파일 이름까지 완전히 적어야 합니다. 디렉토리만 적으면, 오류가 발생합니다.
아래와 같이 패키지를 만들 수 있습니다:
- cargo deb --no-build --manifest-path wezterm/Cargo.toml --deb-version 20240813
Building debian package using install script
아치 리눅스 패키징 정보로부터 아래와 같이 스크립트를 만듭니다:
#!/bin/bash
pkgname=wezterm
pkgver=20241127
pkgrel=1
pkgdir=wezterm_20241127-1_amd64
LIBSSH2_SYS_USE_PKG_CONFIG=1 cargo build --release --features distro-defaults
install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
install -Dm 755 "target/release/$pkgname-gui" -t "$pkgdir/usr/bin"
install -Dm 755 "target/release/$pkgname-mux-server" -t "$pkgdir/usr/bin"
install -Dm 755 "target/release/strip-ansi-escapes" -t "$pkgdir/usr/bin"
install -Dm 644 "assets/icon/terminal.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/org.wezfurlong.$pkgname.png"
install -Dm 644 "assets/$pkgname.desktop" "$pkgdir/usr/share/applications/org.wezfurlong.$pkgname.desktop"
install -Dm 644 "assets/$pkgname.appdata.xml" "$pkgdir/usr/share/metainfo/org.wezfurlong.$pkgname.appdata.xml"
install -dm 644 "assets/$pkgname-nautilus.py" "$pkgdir/usr/share/nautilus-python/extensions/$pkgname-nautilus.py"
install -dm 755 "assets/open-$pkgname-here" -t "$pkgdir/usr/bin"
install -dm 644 license.md -t "$pkgdir/usr/share/licenses/$pkgname"
install -dm 644 readme.md -t "$pkgdir/usr/share/doc/$pkgname"
install -dm 644 assets/shell-completion/bash "$pkgdir/usr/share/bash-completion/completions/$pkgname"
install -dm 644 assets/shell-completion/fish "$pkgdir/usr/share/fish/vendor_completions.d/$pkgname.fish"
install -dm 644 assets/shell-completion/zsh "$pkgdir/usr/share/zsh/site-functions/_$pkgname"
install -dm 644 assets/shell-integration/$pkgname.sh -t "$pkgdir/etc/profile.d"
mkdir -p "$pkgdir/DEBIAN/"
그런-다음 Building binary deb packages를 읽고 control 파일을 만듭니다:
Package: wezterm
Version: 20241127-1
Architecture: amd64
Maintainer: user_id <email>
Description: Wezterm terminal amulator.
The minimal, blazing-fast, and infinitely customizable prompt for any shell!
이제 패키지로 묶고 설치합니다:
- dpkg-deb --build --root-owner-group wezterm_20241127-1_amd64
- sudo dpkg -i wezterm_20241127-1_amd64.deb
Configuration
설정이 lua 파일을 직접 수정해야 하기 때문에, 생각보다는 어렵습니다.
어쨌든, 여기저기서 제공하는 설정이 있으니, 참고해서 설정할 수 있습니다.
- mkdir -p ~/.config/wezterm
- touch ~/.config/wezterm/wezterm.lua
local wezterm = require 'wezterm';
return {
-- option = value , [default] comment
enable_wayland = false, -- 창 모양새를 유지하기 위해, 그리고, 한글 입력기를 사용하기 위해,
-- Fonts
font = wezterm.font("D2CodingLigature Nerd Font")
-- font = wezterm.font("JetBrains Mono", {weight="Bold",italic=true})
font_size = 13.5
-- Colors
color_scheme = "nord" , -- full list @ wezfurlong.org/wezterm/colorschemes/index.html
colors = { -- color_scheme takes precedence over these
foreground = "silver" , -- [silver] The default text color
background = "black" , -- [black] The default background color
cursor_bg = "#52ad70" , -- [#52ad70] Overrides the cell background color when the current cell is occupied by the cursor and the cursor style is set to Block
cursor_fg = "black" , -- [black] Overrides the text color when the current cell is occupied by the cursor
cursor_border = "#52ad70" , -- [#52ad70] Specifies the border color of the cursor when the cursor style is set to Block, of the color of the vertical or horizontal bar when the cursor style is set to Bar or Underline.
selection_fg = "black" , -- [black] The foreground color of selected text
selection_bg = "#fffacd" , -- [#fffacd] The background color of selected text
scrollbar_thumb = "#222222" , -- [#222222] The color of the scrollbar "thumb"; the portion that represents the current viewport
split = "#444444" , -- [#444444] The color of the split lines between panes
-- ansi = {"black", "maroon", "green", "olive", "navy", "purple", "teal", "silver"},
-- brights = {"grey", "red", "lime", "yellow", "blue", "fuchsia", "aqua", "white"},
-- indexed = {[136]="#af8700"} , -- Arbitrary colors of the palette in the range from 16 to 255
},
-- Appearance
window_background_opacity = 0.9 , -- [1.0] alpha channel value with floating point numbers in the range 0.0 (meaning completely translucent/transparent) through to 1.0 (meaning completely opaque)
enable_tab_bar = false , -- [true]
hide_tab_bar_if_only_one_tab = false , -- [false] hide the tab bar when there is only a single tab in the window
initial_rows = 19,
initial_cols = 80,
use_ime = true,
xim_im_name = 'nimf',
}
위 설정은 Wayland 환경에서 사용하지만, 님프 한글입력기를 사용하기 위해, wayland를 비활성화하고, xim의 입력기를 사용하는 설정입니다.
그놈 Wayland에서, 님프 한글 입력기에서는 위 설정으로도 입력이 가능했지만, kime 입력기에서는 GDK_BACKEND=x11이라는 환경 변수를 주어야 한글 입력이 가능합니다.
Features
- Runs on Linux, macOS, Windows 10 and FreeBSD
- Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback
- Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes.
- Hyperlinks
- A full list of features can be found here
External Resources
댓글
댓글 쓰기