Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ターミナルワークスペースのZellij

 ターミナルワークスペースのZellij

Kenichiro MATOHARA

August 21, 2022
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. ターミナルワーク
    ターミナルワーク
    スペースのZellij
    スペースのZellij
    Kenichiro Matohara(matoken)
    1 / 31

    View Slide

  2. 南隅から参加(鹿児島の右下)
    好きなLinuxディストリビューションはDebian
    お仕事募集 mailto:work@matohara.org
    Kenichiro Matohara(matoken)
    Kenichiro Matohara(matoken)
    https://matoken.org
    https://matoken.org
    2 / 31

    View Slide

  3. ターミナルマルチプレクサとタ
    ターミナルマルチプレクサとタ
    ーミナルデスクトップ
    ーミナルデスクトップ
    「鹿児島Linux勉強会 2022.02」ターミナルマルチプレクサとターミ
    ナルデスクトップ」として「Monotty Desktopio | vtm」を紹介.
    vtmはウィンドウシステムに慣れていればとっつきやすそう趣味性が
    高い?
    Zellijを知る
    とっつきやすそうで実用度も高そうなので試してみた
    3 / 31

    View Slide

  4. ターミナルマルチプレクサ
    ターミナルマルチプレクサ
    / (やその派生)が有名
    複数端末をキーボード・ショートカットで切り替えたり
    キーボードでコピー&ペーストしたり
    設定すればマウス操作も可能
    縦横分割で効率的に使ったり
    デタッチ,アタッチで席を移動しても同じ環境を使い続けられたり
    他の人にネットワーク経由でターミナルを見せたり共同で操作したり
    とても便利で手放せない
    GNU screen tmux
    4 / 31

    View Slide

  5. スライド作成中の画面
    スライド作成中の画面
    5 / 31

    View Slide

  6. 反面環境構築や操作を覚えるの
    反面環境構築や操作を覚えるの
    が大変
    が大変
    設定をを作るのが大変.
    秘伝のタレ的な
    .screnrc
    環境構築については でほぼ問題ない感じに
    操作を覚えるのは頑張るしか?
    とりあえずターミナル作成,切り替え,スクロール,検索あたりを覚
    えればどうにか?
    byobu
    6 / 31

    View Slide

  7. 大量のキーバインド
    大量のキーバインド
    7 / 31

    View Slide

  8. Redditの を見ていて見つけたもの
    ターミナルの中の仮想デスクトップ環境でウィンドウを複数作成してマ
    ウスで操作
    マウス操作なので直感的,反面マウス必須
    グループ化やビューでウィドウ配置など
    軽量で安定度も○
    POSIX系だけでなくWindows環境でも動くよう(未確認)
    Monotty Desktopio | vtm
    Monotty Desktopio | vtm
    Command Line
    8 / 31

    View Slide

  9. Demo環境有り
    Demo環境有り
    いろいろなアプリケー
    ションが開かれていて
    にぎやか
    ssh
    [email protected]
    9 / 31

    View Slide

  10. Zellij
    Zellij
    About Zellij
    Zellij is a terminal workspace. It has the
    base functionality of a terminal multiplexer (similar to
    tmux or screen) but includes many built-in features that
    would allow users to extend it and create their own
    personalized environment.
    Zellij
    10 / 31

    View Slide

  11. 導入
    導入
    シングルバイナリで導入できるのでお手軽
    Linux x86_64, aarch64 / macOS x86_64, aarch64
    ディストリビューションパッケージも
    cargo install では手元の環境では約30分
    cargo install --locked zellij
    armhfでは動かない……
    https://github.com/zellij-
    org/zellij/blob/main/docs/THIRD_PARTY_INSTALL.md
    11 / 31

    View Slide

  12. 実行
    実行
    $ zellij
    12 / 31

    View Slide

  13. 最上部にタブバー(プラグイン)
    中央にターミナルペイン
    下部にステータスバー(プラグイン)
    ステータスバーにキーバインドのヒントが表示される
    13 / 31

    View Slide

  14. 操作例
    操作例
    Ctrl + t
    n
    タブが開かれる
    14 / 31

    View Slide

  15. Ctrl + p
    n
    15 / 31

    View Slide

  16. 16 / 31

    View Slide

  17. Ctrl + p
    d
    17 / 31

    View Slide

  18. 18 / 31

    View Slide

  19. Ctrl + p
    w
    19 / 31

    View Slide

  20. 20 / 31

    View Slide

  21. マウス操作例
    マウス操作例
    スクロールアップでヒストリー
    ドラッグでクリップボードにコピー

    TmuxやGNU screemも同じようなことは可能だが,要設定
    21 / 31

    View Slide

  22. Zellijセッションとデタッチ,ア
    Zellijセッションとデタッチ,ア
    タッチ
    タッチ
    1
    新しいセッションが開かれる(Ctrl + o d でデタッチ)
    2
    セッション一覧確認
    3 2nd-session
    という名前を付けたセッションを新しく開く
    4 2nd-session
    という名前のセッションをアタッチする
    $ zellij

    $ zellij list-sessions

    cold-seat

    $ zellij -s 2nd-session

    $ zellij list-sessions

    2nd-session

    cold-seat

    $ zellij attach 2nd-session
    1
    2
    3
    4
    22 / 31

    View Slide

  23. Sixelで画像表示
    Sixelで画像表示

    Sixel対応端末で実行すること
    23 / 31

    View Slide

  24. その他
    その他
    設定ファイル
    画面レイアウトテンプレート
    テーマ
    プラグイン機能
    24 / 31

    View Slide

  25. 各種比較
    各種比較
    25 / 31

    View Slide

  26. とっつきやすさ
    とっつきやすさ
    vtm > Zelliju > Tmux > GNU screen

    vtmはウィンドウシステムに慣れていれば直感的に,Zellijはヒン
    トが表示される,Tmux, GNU screenはキーバインドを覚えな
    いと使えない
    26 / 31

    View Slide

  27. 動作OS環境比較
    動作OS環境比較
    GNU screen, Tmux
    多くの環境で動作する
    vtm
    Linux amd64, FreeBSD amd64, NetBSD amd64,
    OpenBSD amd64, macos, Windowsのバイナリが提供,
    Linux arm64, armhfでもbuildすると動作した
    Zellij
    Linux x86_64/aarch64, macOS x86_64/aarch64バイナ
    リが提供,armhfではビルドできない

    Zellijは多少環境を選ぶ.issueにarmhfなどでも動作するバー
    ジョンを求めるものがあったりする
    27 / 31

    View Slide

  28. 動作端末比較
    動作端末比較
    GNU screen, Tmux
    多くの環境で動作する
    vtm
    多くの環境で動作するが端末によって問題が発生するので動作確
    認済端末を確認したほうが良い

    Zellij
    端末によって問題がある場合がある,Sixelを使いたい場合は
    Sixel対応端末が必要
    https://github.com/netxs-
    group/vtm/discussions/72
    28 / 31

    View Slide

  29. 導入のしやすさ
    導入のしやすさ
    GNU screen, Tmux
    パッケージマネージャなどで導入可能
    vtm
    シングルバイナリ
    Zellij
    パッケージマネージャもしくはシングルバイナリ

    vtmやZellijはシングルバイナリなのでパッケージマネージャの
    使えない一般ユーザでも導入しやすい
    29 / 31

    View Slide

  30. まとめ
    まとめ
    ターミナルマルチプレクサ便利だけど覚えるのが大変
    Zellijはステータスバーに操作のヒントが表示されるのでキーバインド
    を覚えなくてもある程度使えるので学習コストが低そう
    Tmuxモード(Ctrl + b) を使えばTmuxからの移行者もスムーズ?
    少しもたつくことも(issueにもいくつか上がっているのでうちだけの
    問題では無さそう)
    少し環境を選ぶ(armhfでも動かしたい)が最近の大抵のLinux(と
    macOS)なら動作する
    端末を選ぶほうが面倒かも?
    シングルバイナリで導入しやすいのでぜひ試してみてください
    30 / 31

    View Slide

  31. 奥付
    奥付
    発表
    発表者
    利用ソフトウェア
    ライセンス
    CC BY-NC-SA 4.0
    鹿児島Linux勉強会 2022.08(オンライン開催)
    Kenichiro Matohara(matoken)
    Asciidoctor Reveal.js
    31 / 31

    View Slide