PortButler - SSH·SFTP·시리얼을 한 창에서 쓰는 macOS 터미널

2 weeks ago 20

macOS 네이티브 터미널입니다. 호스트가 탭으로 열리고, 같은 창에서 파일 칸과 시리얼 포트를 함께 씁니다. ~/.ssh의 키와 known_hosts를 그대로 쓰고 계정은 없습니다.

임베디드·네트워크 장비를 만지면서 겪은 것들을 넣었습니다.

시리얼·콘솔

  • 도구 없는 장비에도 파일 전송 — lrzsz가 없고 패키지 관리자도 없는 보드(Yocto 등)에 쓰려고 base64 경로를 넣었습니다. base64·sha256sum만 있으면 되고 명령은 앱이 칩니다. X/Y/ZMODEM도 됩니다
  • 콘솔에서도 명령 히스토리 — 부트로더엔 아예 없고, 시스코 IOS는 10줄만 기억했다가 세션과 함께 버립니다. 호스트별로 이쪽에서 들고 있다가 회색으로 채워줍니다
  • 붙여넣기 속도 조절 — 흐름 제어가 없는 장비는 버퍼 넘친 만큼을 조용히 버려서 설정이 반만 들어갑니다. 줄/글자 단위 지연을 줄 수 있습니다

한글 폭

Menlo에 한글이 없어서 대체 글꼴로 넘어가는데, 그 폭이 두 칸의 72% 입니다. 남는 28%가 글자마다 빈틈으로 보여서 판 이 나 와 처럼 벌어집니다.

캐스케이드에 크기를 줘도 CoreText가 무시해서, 한글이 든 고정폭 글꼴을 동봉해 맞췄습니다.

SFTP 내려받기

scp보다 빠릅니다. 파이 5·1GbE에서 108MB/s, scp는 74MB/s였습니다.

scp는 32KiB마다 응답을 기다립니다. 왕복이 0.43ms면 32KiB ÷ 0.43ms ≈ 74MB/s가 천장이고 실측이 거기 붙습니다. 그래서 요청 넷을 동시에 띄우고 256KiB씩 제자리에 씁니다. 거리가 멀수록 차이가 커집니다.

올리기는 아직 순차라 scp와 같습니다. 원격 한 파일에 여러 곳을 동시에 쓰면 끊겼을 때 구멍 난 파일이 남아서, 그 처리를 하기 전엔 안 켰습니다.

측정 방법과 조건은 사이트의 BENCHMARK에 적어뒀습니다.

피드백 부탁드립니다

14일 체험판입니다!

체험판 이후는 $29 단건입니다. macOS 13+, 애플 공증.

Read Entire Article