
영감
저는 Linux와 스크립트를 가지고 놀기를 좋아합니다. 대부분의 시간에는 그냥 실험하고, 재미로 랜덤한 아이디어들을 시도해봅니다. 그냥 앉아서 지루해하고 있어도, 어떻게든 이상한 작은 도구들을 만들게 됩니다.
정말로 저에게 영감을 준 것 중 하나는 Chris Titus Tech와 그의 스트림들을 보는 것이었습니다. 그는 linutil
이라는 멋진 프로젝트를 작업하고 있고, 그것이 저에게 어떤 식으로든 비슷한 것을 만들어보자는 추진력을 주었습니다. 하지만 제 자신만의 엉성한 방식으로요.
처음에는 프로젝트가... 음, 못생겼어요. 메뉴에 whiptail
을 사용했습니다. 작동은 했지만, 너무 구식으로 보였고 어색하게 느껴졌습니다. 솔직히 말해서, 그냥 메뉴들을 대충 붙여놓은 기본적인 쉘 스크립트였습니다.
📅 업데이트됨: 2025-03-21
나중에, ml4w를 통해 발견한 gum
을 사용하기 시작했습니다. 이것이 모든 것을 훨씬 더 멋지게 보이게 했습니다. 하지만 그다음에 fzf
를 시도해봤는데, 그것이 딱 맞았습니다. 제가 하고자 하는 것에 훨씬 더 빠르고 깔끔했습니다. 그래서 gum
을 버렸습니다 (여전히 사랑하지만요 💖) 그리고 완전히 fzf
로 갔습니다.
📅 업데이트됨: 2025-05-01
🦀 그리고 이제... 큰 단계: ratatui
를 사용한 완전한 Rust 기반 TUI를 추가했습니다. 더 이상 못생긴 메뉴는 없습니다. 새로운 인터페이스는 훨씬 더 좋아 보이고, 더 부드럽게 실행되며, 마침내 Bash만으로는 불가능했던 기능들을 추가할 수 있습니다.
명확히 하자면, 실제 Carch 스크립트들 (설정 스크립트, 도구 등)은 여전히 Bash로 작성되어 있습니다. 저는 그 모든 것을 Rust로 다시 작성하지 않습니다 (그건 미친 짓이겠죠). Rust TUI는 주로 네비게이션, 카테고리, 그리고 미리보기를 처리하는 메뉴 시스템을 위한 것입니다. 무언가를 선택하면, 여전히 그 아래에서 Bash 스크립트들을 실행하고, 네, fzf
도 거기서 여전히 작업을 하고 있습니다!
그래서 네, 이것은 혼합입니다: 인터페이스를 위한 Rust, 로직을 위한 Bash, 그리고 가운데에서 모든 것을 함께 묶어주는 fzf
. 이상하지만 작동합니다!
Carch는 정말로 매우 기본적이고 좀 못생긴 것에서부터 제가 자랑스러워하는 것까지 긴 길을 걸어왔습니다. 여전히 할 일이 많지만, 매일 더 멋져지고 있습니다.
📅 업데이트됨: 2025-07-22
좋아요, 이제 행복이 저 주위에 있습니다. 마침내, 우리는 메인 TUI에 팝업 스타일 실행 스크립트 TUI를 구현했습니다. 이제 스크립트가 실행되기 위해 TUI를 떠날 필요가 없습니다. 이것은 제가 아는 것과 제 지식 면에서 저에게 엄청난 성취입니다. 이제 TUI 자체에서 스크립트를 선택하고 실행할 수 있습니다. 이제 모든 것이 TUI 내부에서 일어날 것이고, 더 이상 외부에서 스크립트를 실행하기 위한 추가 TUI 스타일이 필요하지 않기 때문에 스크립트에서 fzf
스타일을 제거했습니다.
linutil 프로젝트 창작자 Chris와 모든 유지보수자 & 기여자들에게 다시 한 번 거대한 감사를 드립니다. 그들이 제 프로젝트에 이것을 구현하기 위한 아이디어와 코드 영감을 주었습니다. 그들은 제가 이 Carch 프로젝트를 시작한 큰 이유였습니다. linutil 프로젝트가 제가 얼마나 멀리 왔고 얼마나 Carch를 개선하고 있는지에 대한 저의 가장 큰 영감과 지침이었기 때문에 저는 제 자신만의 스타일을 원합니다.
또한, TUI는 원활한 사용자 경험을 위해 완전히 재설계되었습니다. 이제 실행 스크립트 TUI는 사용자 경험을 필요한 수준으로 향상시키는 가장 큰 기능이자 구현입니다.
네, 저는 오랜 시간 후에 행복합니다. 제 얼굴에서 행복을 볼 수 있습니다. 저는 이것을 사랑하고 제가 한 일과 얼마나 멀리 왔는지에 대해 항상 큰 사랑을 가지고 있습니다. 과정에서 배우고, 기복을 통해 일어나고 있습니다. 도움을 주고 아이디어를 주는 모든 사람들과 Linux 커뮤니티 사람들에게 감사합니다. 정말 많은 것들을 배웠습니다.
제가 유지할 수 있는 한 Carch가 다가오는 미래에 더욱 실질적이 되기를 바랍니다. 이것을 읽어주셔서 다시 한 번 감사합니다.
언제든지 여기서 프로젝트를 볼 수 있습니다. 저에게 약간의 지원을 보여주고 싶다면, 주저하지 말고 프로젝트에 별을 주세요. 그것이 저의 가장 큰 동기부여가 될 것입니다. 🙂