레이블이 hyper인 게시물을 표시합니다. 모든 게시물 표시
레이블이 hyper인 게시물을 표시합니다. 모든 게시물 표시

Alacritty terminal emulator

terminal emulator 는 맥에서 iterm2 를, 윈도우에서는 자체 terminal 를 쓰고 있었다.

여담이지만 윈도우에서는 microsoft(마소) terminal 나오기전까지 hyper 를 썼었다.
오픈소스라 좋았지만 자잘한 버그도 꽤있었다. 마소 오픈소스로 terminal(스타수 69K , 2020-11기준)을 내놓은건 정말 잘한것 같다.

여러 터미널 예뮬레이터가 중 아직 0.5 버전이지만 스타수가 27k(2020-11기준)나 되고 
GPU Acceleration 으로 아주 빠르다는 alacritty 를 사용하게 됐다.
사실 rust 로 만들었다고 해서 더 끌렸는데, 
사용중인 ripgrep, fd, bat 등의 rust 로 만든 프로그램들이 아주 좋기 때문이다.

맥(catalina 버전)에서 brew 또는 cargo 또는 깃헙에 올려둔 Alacritty-v0.5.0.dmg 릴리즈 파일을 설치 후 실행하면 다음과 같은 에러가 발생한다.

이때는 system preferences > security & privacy > allows apps download from > app store and identified developers 로 선택한다.

설치하기
직접 클론 받아 빌드 & 설치하는 경우
cd alacritty
make app && make install

빌드 바이너리를 사용하는 경우, 아래 URL 에서 다운받으면 된다.

alacritty 깃헙에서 alcritty.yml 설정 파일을 ${HOME}/.alcritty.yml 로 위치시키고
폰트, 컬러, 크기등을 입맛에 맞게 설정해 저장하면 즉시 반영돼 보인다.

#####

alacritty vs iterm2 (GPU rendering 활성화)
성능 비교를 위해 다음 명령으로 수행시간을 측정했다.
time tree /usr

user+system 수행 시간 자체는 비슷하지만 화면에 뿌려지는 시간 차이가 난다.
alacrityy = 28 s
iterm2 = 35 s

time seq 1 1000000

seq 로 숫자 출력되는 속도도 alacritty 가 빠르다.
alacritty = 1.200 s
iterm2 = 4.156 s

터미널 화면을 크게 하고 cacademo 플레이 했을때도 iterm2 는 많이 끊기는데,
alacritty 는 매끄럽게 재생된다.(이건 fps 결과가 없어 직접 눈으로 체감해봐야 한다.)

역시 rust == fast 다. alacritty 터미널 화면 출력에서 확실히 빠른게 체감된다.
CPU 를 많이 쓰긴 하지만 빠른 화면 출력이 맘에 들고 폰트,컬러등 화면도 잘 나와 iterm2 보다 alacritty 를 주로 사용할것 같다.
(추가로 윈도우에서도 위 테스트를 해봤는데, terminal 더 빠르다. 윈도우에서는 terminal 을 주로 사용)

#####

디폴트 단축키
마우스 클릭으로 URL 오픈시 
iterm2: cmd+click
alacritty: shift+click

마우스 클릭으로 블럭(단어) 선택시
iterm2: alt+double-click
alacritty: shift+double-click

마우스 클릭으로 라인전체 선택시
iterm2: alt+triple-click
alacritty: shift+triple-click

#####

윈도우 환경
설정파일 위치
%APPDATA%\alacritty\alacritty.yml

wsl(windows subsystem for linux) 실행
alacritty -e wsl

WSL hyper 사용하기

# 윈도우 WSL(Windows Subsystem for Linux)로 Ubuntu 를 사용할 수 있다.
# wsl 사용을 위해 다음 기능이 켜져있어야 한다.(reboot 필요)
프로그램 및 기능(appwiz.cpl) -> windows 기능 켜기/끄기 -> Linux 용 Windows 하위 시스템 체크

# 그런데 mac 의 iterm2 과 같은 멋진 터미널 환경이 아니다.
# 폰트, 컬러, 스크롤, 글자깨짐 등 어느것 하나 맘에 들지 않는다.
# electron 기반의 hyper 를 설치해 보자.
https://hyper.is/

# hyper 실행 후 ctrl + , 로 설정파일(.hyper.js)을 열 수 있다.
# .hyper.js 파일은 홈디렉토리(리눅스:~, 윈도우: c:\Users\%USERNAME%) 에 위치한다.

# shell 의 값을 다음과 같이 bash 로 변경하여 다시 실행한다.
shell: "C:\\Windows\\System32\\bash.exe",

# 윈도우 앱스토에서 ubuntu(18버전)으로 업데이트하면
# c:\windows\system32\bash.exe, wsl.exe 가 버전업된다.
# ubuntu 16, 18등은 별도의 윈도우 앱 디렉토리에 설치된다.
# shell로 bash.exe 설정했으면 무조건 bash 가 실행되니,
# zsh 를 실행을 위해선 다음과 같이 wsl.exe 또는 ubuntu1804.exe 으로 변경한다.
shell: "C:\\Windows\\System32\\wsl.exe",

# 또는
shell: "C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps\\ubuntu1804.exe",

# bash.exe 가 아닌 경우 쉘 인자는 빈값으로 둬야 한다.
shellArgs: [],

# 폰트 크기도 좀 키우면 좋다.
fontSize: 14

# 현재 사용중인 ubuntu 버전을 확인해 보자
cat /etc/os-release

# 만약 zsh 를 사용을 위해 chsh 명령을 사용할때 PAM 인증 실패한다면
chsh -s /usr/local/bin/zsh $USER
chsh: PAM: 인증 실패
# 다음 파일을 열어 pam_shells.so 를 주석처리하면 된다.
sudo vi /etc/pam.d/chsh
# auth       required   pam_shells.so

# ls 디렉토리 컬러 속성변경
# other write 권한이 있는 디렉토리는 백그라운드 처리로 읽기 어렵다.
# 다음처럼 ls 배경값을 40(black)으로 설정하자.(.bashrc, .zshrc 에 추가)
export LS_COLORS=$LS_COLORS:"ow=01;36;40"


# 플러그인 설치
npm install hyper-search

# .hyper.js 에 추가 후 재시작
plugins: ['hyper-atom-dark-transparent',
'hyper-search',
 ],

# hyper-search 사용
mac 에선 cmd + f
windows 에선 ctrl + shift + f