rmux 추가
This commit is contained in:
1 parent
dc4aceeec4
commit
a586d1f028
3 files changed
+184
-3
No files matched your search
@@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
### 📁 1. 터미널 관리 & 파일 유틸리티
|
### 📁 1. 터미널 관리 & 파일 유틸리티
|
||||||
* **[tmux](https://github.com/tmux/tmux)** - 강력한 터미널 멀티플렉서 (세션 관리 및 화면 분할, Windows는 psmux로 설치)
|
* **[tmux](https://github.com/tmux/tmux)** - 강력한 터미널 멀티플렉서 (세션 관리 및 화면 분할, Windows는 psmux로 설치)
|
||||||
|
* **[rmux](https://rmux.io)** - tmux의 대안으로 이용 가능한 Rust 기반의 현대적이고 빠른 터미널 멀티플렉서
|
||||||
* **[Helix](https://github.com/helix-editor/helix)** - 현대적이고 강력한 터미널 기반 모달 텍스트 에디터 (LSP 및 구문 강조 기본 내장)
|
* **[Helix](https://github.com/helix-editor/helix)** - 현대적이고 강력한 터미널 기반 모달 텍스트 에디터 (LSP 및 구문 강조 기본 내장)
|
||||||
* **[superfile](https://github.com/yorukot/superfile)** - 모던하고 수려한 터미널 기반 파일 관리자 (Vim 키바인딩 지원)
|
* **[superfile](https://github.com/yorukot/superfile)** - 모던하고 수려한 터미널 기반 파일 관리자 (Vim 키바인딩 지원)
|
||||||
* **[dua](https://github.com/byron/dua-cli)** - 병렬 스캔을 지원하는 초고속 디스크 사용량 분석 도구
|
* **[dua](https://github.com/byron/dua-cli)** - 병렬 스캔을 지원하는 초고속 디스크 사용량 분석 도구
|
||||||
@@ -41,6 +42,11 @@
|
|||||||
curl -fsSL "https://gl.isitsoft.kr/publicproj/install-sh/-/raw/main/install-tmux.sh?ref_type=heads" | bash
|
curl -fsSL "https://gl.isitsoft.kr/publicproj/install-sh/-/raw/main/install-tmux.sh?ref_type=heads" | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* **rmux:**
|
||||||
|
```bash
|
||||||
|
curl -fsSL "https://gl.isitsoft.kr/publicproj/install-sh/-/raw/main/install-rmux.sh?ref_type=heads" | bash
|
||||||
|
```
|
||||||
|
|
||||||
* **Helix:**
|
* **Helix:**
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL "https://gl.isitsoft.kr/publicproj/install-sh/-/raw/main/install-helix.sh?ref_type=heads" | bash
|
curl -fsSL "https://gl.isitsoft.kr/publicproj/install-sh/-/raw/main/install-helix.sh?ref_type=heads" | bash
|
||||||
@@ -135,6 +141,16 @@
|
|||||||
> 💡 **Windows OpenSSH Server 참고:** 스크립트 가동 시 OpenSSH Server(sshd)가 미설치된 상태라면 자동으로 감지 및 백그라운드 설치 후 기동합니다. (관리자 권한이 필요할 수 있습니다.)
|
> 💡 **Windows OpenSSH Server 참고:** 스크립트 가동 시 OpenSSH Server(sshd)가 미설치된 상태라면 자동으로 감지 및 백그라운드 설치 후 기동합니다. (관리자 권한이 필요할 수 있습니다.)
|
||||||
> 💡 **Windows tmux(psmux) 참고:** Windows 환경에서는 Rust 기반으로 빌드되어 성능이 뛰어난 네이티브 Windows 터미널 멀티플렉서인 `psmux`가 설치됩니다.
|
> 💡 **Windows tmux(psmux) 참고:** Windows 환경에서는 Rust 기반으로 빌드되어 성능이 뛰어난 네이티브 Windows 터미널 멀티플렉서인 `psmux`가 설치됩니다.
|
||||||
|
|
||||||
|
* **rmux:**
|
||||||
|
* **CMD 창에서 설치 시:**
|
||||||
|
```cmd
|
||||||
|
powershell -ExecutionPolicy Bypass -c "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; $t=\"$env:TEMP\install-rmux.ps1\"; iwr -useb 'https://gl.isitsoft.kr/publicproj/install-sh/-/raw/main/install-rmux.ps1' -OutFile $t; & $t"
|
||||||
|
```
|
||||||
|
* **파워쉘 창에서 설치 시:**
|
||||||
|
```powershell
|
||||||
|
$t="$env:TEMP\install-rmux.ps1"; iwr -useb 'https://gl.isitsoft.kr/publicproj/install-sh/-/raw/main/install-rmux.ps1' -OutFile $t; powershell -ExecutionPolicy Bypass -File $t
|
||||||
|
```
|
||||||
|
|
||||||
* **Helix:**
|
* **Helix:**
|
||||||
* **CMD 창에서 설치 시:**
|
* **CMD 창에서 설치 시:**
|
||||||
```cmd
|
```cmd
|
||||||
@@ -306,7 +322,31 @@ tmux ls # 가동 중인 세션 목록 보기
|
|||||||
> 💡 **Windows (PowerShell) 참고:** 윈도우 환경에서 실행할 경우, OpenSSH Server 서비스(`sshd`)가 작동하지 않거나 없을 시 Windows 선택적 기능(Optional Capability)을 통하여 무인 설치 및 구동까지 완전 자동 지원합니다.
|
> 💡 **Windows (PowerShell) 참고:** 윈도우 환경에서 실행할 경우, OpenSSH Server 서비스(`sshd`)가 작동하지 않거나 없을 시 Windows 선택적 기능(Optional Capability)을 통하여 무인 설치 및 구동까지 완전 자동 지원합니다.
|
||||||
> 💡 **Windows psmux 연동 참고:** Windows에서는 네이티브 가상 터미널 환경을 선사하는 `psmux`가 설치되며, 기존 `.tmux.conf` 파일과 높은 수준으로 호환되어 동일한 설정과 vim 키바인딩을 사용할 수 있습니다.
|
> 💡 **Windows psmux 연동 참고:** Windows에서는 네이티브 가상 터미널 환경을 선사하는 `psmux`가 설치되며, 기존 `.tmux.conf` 파일과 높은 수준으로 호환되어 동일한 설정과 vim 키바인딩을 사용할 수 있습니다.
|
||||||
|
|
||||||
#### 1.2. Helix
|
#### 1.2. rmux
|
||||||
|
tmux의 강력하고 현대적인 대안으로 설계된 Rust 기반 터미널 멀티플렉서입니다. 백그라운드 데몬 프로세스를 기반으로 쉘 세션을 지속적으로 유지하며, 브라우저에서 터미널을 접속할 수 있는 웹 셰어(Web Share) 기능과 전용 Rust SDK를 지원합니다.
|
||||||
|
|
||||||
|
* **tmux 호환성** — 기존 tmux 명령어 체계를 상당 부분 그대로 지원하여 완벽하게 호환 작동
|
||||||
|
* **Rust 기반 고성능** — 가볍고 빠르며 Rust 기반으로 오동작이 극히 적음
|
||||||
|
* **웹 셰어 기능 내장** — 추가적인 툴 설치 없이 터미널 세션을 브라우저에 실시간으로 공유 가능
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rmux # 새 세션 가동
|
||||||
|
rmux attach # 마지막 세션 다시 연결
|
||||||
|
rmux list-sessions # 세션 목록 보기
|
||||||
|
```
|
||||||
|
|
||||||
|
| 단축키 | 동작 |
|
||||||
|
| :--- | :--- |
|
||||||
|
| `Ctrl-b` | Prefix key (기본값) |
|
||||||
|
| `Prefix %` | 화면 수평(좌우) 분할 |
|
||||||
|
| `Prefix "` | 화면 수직(위아래) 분할 |
|
||||||
|
| `Prefix d` | 현재 세션에서 이탈 (Detach) |
|
||||||
|
| `Prefix o` | 다음 패널로 포커스 이동 |
|
||||||
|
| `Prefix x` | 현재 활성화된 패널 완전히 닫기 |
|
||||||
|
|
||||||
|
> 💡 **tmux 대안 기능:** rmux는 Rust 프로젝트에서 SDK로 제어할 수도 있어 터미널 오케스트레이션 및 테스트 자동화에 최적화되어 있습니다.
|
||||||
|
|
||||||
|
#### 1.3. Helix
|
||||||
터미널 환경에서 현대적인 사용성을 제공하는 모달(Modal) 텍스트 에디터입니다. 별도의 플러그인 설정 없이도 LSP(Language Server Protocol), 나무 모양 구문 트리 파서(Tree-sitter) 및 수려한 디자인 테마가 내장되어 있어 초보자부터 전문가까지 즉시 사용 가능합니다.
|
터미널 환경에서 현대적인 사용성을 제공하는 모달(Modal) 텍스트 에디터입니다. 별도의 플러그인 설정 없이도 LSP(Language Server Protocol), 나무 모양 구문 트리 파서(Tree-sitter) 및 수려한 디자인 테마가 내장되어 있어 초보자부터 전문가까지 즉시 사용 가능합니다.
|
||||||
|
|
||||||
* **LSP 기본 내장** — 자동 완성, 정의 이동, 타입 힌트 등 IDE급 개발 지원
|
* **LSP 기본 내장** — 자동 완성, 정의 이동, 타입 힌트 등 IDE급 개발 지원
|
||||||
@@ -335,7 +375,7 @@ hx # 실행 명령어
|
|||||||
|
|
||||||
> 💡 **설치 구성 팁:** Helix 에디터는 실행 바이너리(`hx` / `hx.exe`)뿐만 아니라 언어별 구문 및 테마 파일이 모인 `runtime` 디렉토리가 올바른 경로에 배포되어야 합니다. 당사 배포 스크립트는 macOS/Linux의 경우 `~/.config/helix/runtime`, Windows의 경우 `%APPDATA%\helix\runtime`으로 런타임 폴더를 자동 탐색하여 백업 및 배치합니다.
|
> 💡 **설치 구성 팁:** Helix 에디터는 실행 바이너리(`hx` / `hx.exe`)뿐만 아니라 언어별 구문 및 테마 파일이 모인 `runtime` 디렉토리가 올바른 경로에 배포되어야 합니다. 당사 배포 스크립트는 macOS/Linux의 경우 `~/.config/helix/runtime`, Windows의 경우 `%APPDATA%\helix\runtime`으로 런타임 폴더를 자동 탐색하여 백업 및 배치합니다.
|
||||||
|
|
||||||
#### 1.3. superfile
|
#### 1.4. superfile
|
||||||
수려하고 미려한 디자인을 선사하는 고기능 터미널 파일 관리자입니다.
|
수려하고 미려한 디자인을 선사하는 고기능 터미널 파일 관리자입니다.
|
||||||
|
|
||||||
* **듀얼 패널** — 대칭형 레이아웃으로 직관적인 디렉토리 간 파일 조작
|
* **듀얼 패널** — 대칭형 레이아웃으로 직관적인 디렉토리 간 파일 조작
|
||||||
@@ -360,7 +400,7 @@ spf # 실행 명령어 (superfile이 아닌 spf를 사용합니다)
|
|||||||
> 💡 **중요:** 터미널 아이콘이 박스나 물음표 기호처럼 깨져 보일 경우, 사용하시는 터미널 폰트를 **Nerd Font** 계열로 설정해 주세요.
|
> 💡 **중요:** 터미널 아이콘이 박스나 물음표 기호처럼 깨져 보일 경우, 사용하시는 터미널 폰트를 **Nerd Font** 계열로 설정해 주세요.
|
||||||
> 💡 **macOS iTerm2 한글 깨짐 팁:** 설정(`Settings` > `Profile` > `Text` > `Normalization`)에서 **NFC** 옵션으로 설정을 전환하시면 정상 표기됩니다.
|
> 💡 **macOS iTerm2 한글 깨짐 팁:** 설정(`Settings` > `Profile` > `Text` > `Normalization`)에서 **NFC** 옵션으로 설정을 전환하시면 정상 표기됩니다.
|
||||||
|
|
||||||
#### 1.4. dua
|
#### 1.5. dua
|
||||||
SSD와 시스템 성능을 최대로 활용하여 유실된 용량을 추적하는 병렬 스캔 방식의 초고속 디스크 분석 유틸리티입니다.
|
SSD와 시스템 성능을 최대로 활용하여 유실된 용량을 추적하는 병렬 스캔 방식의 초고속 디스크 분석 유틸리티입니다.
|
||||||
|
|
||||||
* **초고속 스캔** — 대용량 디스크도 수 초 만에 고속으로 스캔 처리
|
* **초고속 스캔** — 대용량 디스크도 수 초 만에 고속으로 스캔 처리
|
||||||
|
|||||||
@@ -0,0 +1,86 @@
|
|||||||
|
#Requires -Version 5.1
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Installs rmux (Rust terminal multiplexer) on Windows.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Installs rmux natively by invoking the official install.ps1 script.
|
||||||
|
This is a modern, fast Rust-based alternative to tmux.
|
||||||
|
Official Guide: https://rmux.io/docs/get-started/#/installation
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
.\install-rmux.ps1
|
||||||
|
|
||||||
|
# One-liner install from remote (works on Windows 10+):
|
||||||
|
powershell -ExecutionPolicy Bypass -c "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; $t=\"$env:TEMP\install-rmux.ps1\"; iwr -useb 'https://gl.isitsoft.kr/publicproj/install-sh/-/raw/main/install-rmux.ps1' -OutFile $t; & $t"
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
If execution policy error occurs:
|
||||||
|
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding()]
|
||||||
|
param()
|
||||||
|
|
||||||
|
# 최신 윈도우 환경 및 에러 발생 시 즉시 중단 설정
|
||||||
|
Set-StrictMode -Version Latest
|
||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
|
||||||
|
# HTTPS 다운로드를 위한 TLS 1.2 강제 (PowerShell 5.1 호환성 보장)
|
||||||
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||||
|
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
# 유틸리티 함수 정의 (모든 안내 문구는 영문으로 작성)
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
function Write-Info { param([string]$msg) Write-Host "[INFO] $msg" -ForegroundColor Cyan }
|
||||||
|
# 정보 출력
|
||||||
|
function Write-Warn { param([string]$msg) Write-Host "[WARN] $msg" -ForegroundColor Yellow }
|
||||||
|
# 경고 출력
|
||||||
|
function Write-Success { param([string]$msg) Write-Host "[OK] $msg" -ForegroundColor Green }
|
||||||
|
# 성공 출력
|
||||||
|
function Write-Err { param([string]$msg) Write-Host "[ERROR] $msg" -ForegroundColor Red; exit 1 }
|
||||||
|
# 에러 출력 및 스크립트 강제 종료
|
||||||
|
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
# 메인 설치 프로세스
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
function Main {
|
||||||
|
Write-Info "===== rmux CLI install script (Windows PowerShell) ====="
|
||||||
|
Write-Info "Installing rmux CLI (Rust terminal multiplexer) natively..."
|
||||||
|
|
||||||
|
# 이미 설치되어 있는지 확인
|
||||||
|
$rmuxCmd = Get-Command rmux -ErrorAction SilentlyContinue
|
||||||
|
if ($rmuxCmd) {
|
||||||
|
$currentVer = & rmux --version 2>$null
|
||||||
|
if (-not $currentVer) { $currentVer = "unknown" }
|
||||||
|
Write-Info "rmux is already installed ($currentVer). Skipping installation."
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
Write-Info "Fetching and executing official installer from: https://rmux.io/install.ps1"
|
||||||
|
|
||||||
|
# 공식 설치 ps1 스크립트를 다운로드 및 메모리 상에서 직접 호출 가동
|
||||||
|
$installerScript = Invoke-RestMethod -Uri "https://rmux.io/install.ps1" -UseBasicParsing
|
||||||
|
Invoke-Expression $installerScript
|
||||||
|
|
||||||
|
Write-Success "rmux has been successfully installed!"
|
||||||
|
} catch {
|
||||||
|
Write-Err "Failed to install rmux CLI: $_"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# 최종 가용성 검증
|
||||||
|
$rmuxCmd = Get-Command rmux -ErrorAction SilentlyContinue
|
||||||
|
if ($rmuxCmd) {
|
||||||
|
Write-Success "rmux is available: $($rmuxCmd.Source)"
|
||||||
|
Write-Info "Run command: rmux"
|
||||||
|
} else {
|
||||||
|
Write-Warn "rmux was not found in PATH after installation. You may need to restart your terminal window or refresh your PATH environment variable."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# 예기치 못한 전체 프로세스 에러 감지를 위한 Trap 설정
|
||||||
|
trap {
|
||||||
|
Write-Err "An unexpected error occurred during installation: $_"
|
||||||
|
}
|
||||||
|
|
||||||
|
Main
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
|
||||||
|
# tmux의 현대적이고 빠른 Rust 기반 대안인 rmux를 설치합니다.
|
||||||
|
# rmux: https://rmux.io
|
||||||
|
#
|
||||||
|
# 지원 플랫폼:
|
||||||
|
# macOS & Linux
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
# 유틸리티 함수 (모두 stderr 출력)
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
info() { echo "[INFO] $*" >&2; }
|
||||||
|
warn() { echo "[WARN] $*" >&2; }
|
||||||
|
error() { echo "[ERROR] $*" >&2; exit 1; }
|
||||||
|
success() { echo "[OK] $*" >&2; }
|
||||||
|
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
# 필수 명령어 확인
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
for cmd in curl sh; do
|
||||||
|
command -v "$cmd" &>/dev/null || error "'$cmd' 명령어가 필요합니다. 먼저 설치해 주세요."
|
||||||
|
done
|
||||||
|
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
# 메인 설치 로직
|
||||||
|
# ────────────────────────────────────────────
|
||||||
|
main() {
|
||||||
|
info "rmux (tmux alternative in Rust) 설치를 시작합니다..."
|
||||||
|
|
||||||
|
if command -v rmux &>/dev/null; then
|
||||||
|
local current_ver
|
||||||
|
current_ver="$(rmux --version 2>/dev/null || echo 'unknown')"
|
||||||
|
info "rmux가 이미 설치되어 있습니다 ($current_ver). 설치를 건너뜁니다."
|
||||||
|
else
|
||||||
|
info "공식 스크립트를 통해 rmux를 설치하는 중..."
|
||||||
|
if curl -fsSL https://rmux.io/install.sh | sh; then
|
||||||
|
success "rmux 설치가 성공적으로 완료되었습니다!"
|
||||||
|
else
|
||||||
|
error "rmux 설치 스크립트 실행 중 오류가 발생했습니다."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 설치 완료 검증
|
||||||
|
if command -v rmux &>/dev/null; then
|
||||||
|
success "rmux를 사용할 수 있습니다: $(command -v rmux)"
|
||||||
|
info "실행 명령어: rmux"
|
||||||
|
else
|
||||||
|
warn "rmux가 PATH에서 검색되지 않습니다. 터미널을 다시 열거나 환경 변수를 확인해 주세요."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
Reference in new issue
Block a user