29. tháng 5 2025
Trước đây, tôi đã chuyển từ tmuxinator sang tmuxp nhưng gặp phải vấn đề về tốc độ khởi động cực kỳ chậm. Chỉ với một tệp cấu hình có 8 cửa sổ, tmuxp mất hơn 5 giây để mở, điều này thật không thể chấp nhận được.
Vì vậy hôm nay, khi bắt đầu một dự án mới, tôi đã thử nghiệm một công cụ quản lý phiên tmux khác được phát triển bằng ngôn ngữ Golang - đó chính là smug.
Nghĩa của từ smug trong tiếng Việt:
Tôi nghĩ có khả năng đây VSBET là viết tắt của "session manager using go", giúp dễ nhớ hơn.
Nhược điểm duy nhất có lẽ là tên gọi hơi quay hu khó nhớ.
Để cài đặt toàn cầu smug, bạn có thể sử dụng lệnh sau:
go install github.com/ivaaaan/smug@latest
Lưu ý cần chỉ định phiên bản cụ thể hoặc latest, nếu không sẽ gặp lỗi:
go: 'go install' yêu cầu một phiên bản khi thư mục hiện tại không nằm trong module
Thử 'go install github.com/ivaaaan/smug@latest' để cài đặt phiên bản mới nhất
Sau khi cài đặt, bạn có thể kiểm tra vị trí của smug như sau:
> ls $GOPATH/bin
asmfmt* errcheck* godef* golangci-lint* gomodifytags* gorename* guru* impl* motion* smug*
dlv* fillstruct* goimports* golint* gopls* gotags* iferr* keyify* office* staticcheck*
> echo $GOPATH
/home/zhongwei/golang
So với cấu hình rườm rà của tmuxp, smug cho phép cấu hình rất gọn gàng. Mặc dù không đơn giản tuyệt đối như tmuxinator, nhưng cũng đã rất hợp lý.
Ví dụ, cấu hình tools2.yml có thể như sau:
session: tools2
root: /mnt/d/work/tools2
windows:
- name: code
- name: ssh
smug start xxx
smug stop xxx
Với những đặc điểm nổi bật trên, smug thực sự là một lựa chọn đáng cân nhắc cho việc quản lý phiên làm việc trong tmux.