1 ポイント 投稿者 GN⁺ 2024-05-27 | 1件のコメント | WhatsAppで共有

tmuxはより良い選択なのか

tmuxの紹介

  • tmux は「terminal multiplexer」の略で、ターミナルを複数の独立したシェルに分割できる
  • OpenBSD に標準でインストールされている
  • SSH を頻繁に使うプログラマーに役立つ
  • グラフィカル環境なしで画面を分割できる
  • デジタル・ミニマリズム を志向する人に向いている

Kovid Goyalの意見

  • Kovid Goyal は ePub ソフトウェア calibre とターミナルエミュレーター Kitty の開発者である
  • Goyal は tmux を好まない
  • 彼は FAQ で tmux に対する否定的な見解を示している
    • ターミナルマルチプレクサは不要なオーバーヘッドを追加する
    • 複雑さの増加により性能低下が起きる
    • 電力と性能の両面で非効率である
    • エコシステム全体に悪影響を及ぼす

個人的な使用経験

  • 筆者は自宅では UNIX を使い、職場では Windows を使っている
  • SSH を何度も使う必要がある状況で tmux をよく使う
  • tmux はさまざまなターミナルエミュレーターで動作する
  • Kitty はリモート接続先のシステムでも動作している必要がある
広告

「Worse is better」の哲学

  • 「Worse is better」はソフトウェア哲学というより、製品管理の哲学に近い
  • ソフトウェアの中核機能を最も一般的なユースケースに合わせて最適化することが重要だと強調する
  • 筆者は個人的には VM が好きだが、実際には tmux をより頻繁に使っている

結論

  • 筆者は主に Windows からリモート接続を使っている
  • tmux のショートカットを覚えている
  • Kitty のショートカットも優れているが、tmux のほうが有用である

GN⁺の意見

  • tmux は SSH を頻繁に使う開発者にとって非常に有用である。特に、複数のシェルを同時に実行できる機能は大きな利点である。
  • Kovid Goyal の意見のように、ターミナルマルチプレクサは性能に影響を与える可能性があるが、多くのユーザーはその利点をより重視するだろう。
  • Kitty のようなターミナルエミュレーターはより高い性能を提供できるが、tmux の汎用性と利便性を置き換えるのは難しい。
  • デジタル・ミニマリズム を志向する人にとって tmux は非常に魅力的なツールであり、グラフィカル環境がなくても強力な機能を提供する。
  • tmuxKitty を併用すれば、それぞれの長所を最大限に活かせる。たとえば、ローカルでは Kitty を使い、リモートサーバーでは tmux を使う方法がある。

1件のコメント

 
GN⁺ 2024-05-27
Hacker Newsの意見

Hacker Newsコメントまとめ

  • 「キー入力を2回パースすることが、CPUサイクルを浪費しバッテリーを消耗する主因だとは思わない。Kittyはtmuxの機能の大半を内蔵しているが、SSH作業をする人にとってはあまり助けにならない。すべてをターミナルエミュレータに詰め込むのは、不必要な機能追加に見える。」

  • 「tmuxが本当に必要な理由はリモート永続性だ。サーバー接続が切れてもvimセッションを失いたくない。」

  • 「tmuxのキラー機能は、シェルだけでなくワークスペースも永続化できることだ。Kittyやscreenはこの問題を解決できていない。ターミナルエミュレータベースでワークスペースの永続性があるならtmuxを捨てる。」

  • 「Kittyの開発者であるKovid Goyalはtmuxを好んでいない。Kittyはtmuxの機能の大半を含んでいるが、リモート永続性は提供しない。ターミナルエミュレータに依存すると、別のエミュレータに切り替えるときに新しい筋肉記憶が必要になる。」

  • 「基本的なscreentmuxの使い方(起動、ウィンドウの作成と切り替え、再アタッチ)は、サーバーにSSH接続する必要がある人のツールキットに入っているべきだ。特にスタートアップでは、システムを理解し、創造的かつ効率的に作業できることが求められる。」

  • ~/.ssh/configに設定を追加すれば、SSHセッションを単一接続に多重化できる。最初のセッションでは指紋認証を使い、その後は300秒間認証なしで接続できる。Tailscale経由ならオフライン状態でもセッションを維持できる。」

  • 「SSHの最大の価値は、長時間の作業が接続切断後も継続できる点だ。長いダウンロードがもう少しで終わるというところで接続が切れるのは本当に苛立たしい。」

  • 「WindowsをホストOSとして使い、Linuxで作業している。tmuxを使って複数のシェルを動かしている。性能面の問題はあるが、生産性の観点では非常に有用だ。」

  • 「リモートSSH用に.ssh/configを設定し、自動でリモートtmuxを起動するようにしている。不安定な接続でも作業を保存できる。tmuxを毎日使っているが、ほかに代わりになるものが見つからない。」

  • 「Kovidの意見は技術的には正しいかもしれないが、使い勝手の面では間違っている。ユーザーは生活をよりシンプルにしてくれるものを好む。zellijも試したが、結局tmuxに戻った。tmuxは参入障壁が低い。」