Terminal Night #2
https://kichijojipm.connpass.com/event/382650/
モテるターミナル WezTermの機能に迫る
もずます san https://www.docswell.com/s/mozumasu/5PR9PQ-2026-03-27-190503/1
WezTermとは
- Luaで設定できる
- ホットリロード(設定の自動読み込み)で気軽にカスタマイズ可能
- キーバインドにモードあり
- ペイン分割 / workspaceがある
文字の幅とかまでカスタマイズできる
楽をするために頑張れる人向き。
Show your weztermsを見ると良い。スレッドでわかる
キーバインドのモード設定がおすすめ
- コピーモード:Vimみたいにコピーできる。スクロールバッファ
DeepWikiでたまに知らないオプション見つけれる
ドキュメントを見てみよう
- Weztermって書いてあるところから順番に読めばOK
- 検索機能でリファレンスは大体見れる
- ハマりポイントはGet Helpに書いてある
- デバッグオーバーレイでログが見れる
キーバインド
- commandキーはsuper
- キーテーブル
- モードを作成できる機能
- 自作モードとかもいける
推し機能 Command Pallete
- VSCodeとかにあるものと同じ
- ペイン・コマンドのプリセット呼び出し
Pane Select
今いるタブ?ペインの情報を持ったままgh browse、lazygitを開く機能がある
Workspaces
- 作業ごとに環境を分ける仕組み。名前をつけて管理できる
- タブ・ペイン分割に対応
CLIもある
- 合わせるとAIと遊べる
- AIのセッション内容をペインの情報をコピペ
- セッション内容を保持
ターミナル自慢
- キラキラさせる技術がある
- yubikey: USB接続するハードキー
複製不可能なSSH鍵運用のススメ
matsuu san
presentermっていうのでプレゼンができる
SSH鍵管理の課題
パスフレーズで暗号化できるけど、ファイルを取られると、総当たり攻撃で取れてしまう
利便性の観点でパスフレーズ入れないこともある
1passwordとかでssh agentと連携して動く便利な仕組みもある
- vault自体が乗っ取られる可能性もある
- backup経由で取れてしまう
漏洩の検知が難しい(コピーすれば取れるから)
→端末は侵害される前提で考える時代
わい)ゼロトラストと関連がある?
複製不可能な運用とは
- コピーできない
- 参照できないが、利用できる
- 侵害されても取られない運用が可能
- 物理ディスクに紐づけられた鍵、お家の鍵を取られなければ大丈夫って感じの考え方
複製不可能な仕組みとは
- Mac、Android、Windowsは最初から仕組みがある
Secretiveの紹介
- Secure Enclave(OSから切り離した子プロセッサー、セキュリティ)内でSSH鍵とか保存できる
- 指紋とかもそこに入ってる
- git、ssh agent forwardingにも対応している
- 扱うことができる鍵の種類:ecdsa, mldsa
- メジャーなRSA, ED25519(edwardさんの暗号)には対応してない
mldsa-65,87
- 対量子暗号アルゴリズム
- ほとんどが対応してない(OpenSSHも)
Secretive
- github, homebrewでインストール可能
- 鍵管理だけのアプリ
- https://github.com/maxgoedjen/secretive
FIDOデバイス
_skセキュリティキー- ほとんどのOSが対応している(10年前のものくらいが未対応)
- 鍵ハンドルファイルと物理鍵の2つで秘密鍵が決定される
VSCode中心だった自分がターミナル沼に入門した話
Genki Sano san
課題感・経緯
- VSCodeのcode .で開いててもっと良い方法ありそう
- ターミナルが最初に開いててほしい
- Claude Codeが流行ってて、ターミナル派閥が増えた
- もずますさんの記事でモテる=いい感じなりそう
意識したこと
- よしなにやってくれるもの
- 必要になったら継ぎ足す
- AIに壁打ちして解決する
沼
- 時間は溶けるけど、楽しい
- 環境同期用にdotfiles作る
使い始めてどうか
- キー操作が難しい→よく使う操作に慣れる, 大体1-2週間
良かったこと
- 操作と環境が軽い
- ターミナルの拡張性の高さ
- IDEを使う機会が減った
- ディレクトリ移動がしやすい
- キーボード操作で完結できる
- Claude Codeの活用が進んだ
- ターミナル完結させようとする
- 使いやすくなるように育てる
伸び代
- 音声入力
- 他のターミナルも気になる
- 他の人の環境も気になる
続けるための工夫
- 作るよりも「育てる」を意識する
脱・コピペ!変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuz san
ターミナルのコピペ、ミス多い
Tips
- ブレース展開
- 変数展開
- コマンド展開
- プロセス置換
シェルにも限界がある
GitHubのPRをレビューするTUIを作った
カワリミ人形 san
gh-prism 動画流れ出したし、パフォーマンスすごいw 便利そう
Zennの記事も出したみたい
Ghosttyの凄さを 技術的に深ぼってく
Kuu san
経緯
- 技術的に面白いポイントが多くて発表したかった
速い・ネイティブに着目
command+shift+dで縦分割
cmux
- 派生ソフトウェア
- libghosttyを使ってwebviewのように使えるらしい
歴史
- 2021から動き始めて、色々アプデしてきた
- Hashicorpのミッチェルさんが作り始めたらしい
わい)期待値調整を事前にするスタイルは賢いかも
Nativeを見てみる
- Swiftでちゃんとネイティブ
- iOS版実装もあるらしい(一応くらい)
レンダリングを見てみよう
- Shaderを使っている
- Multi thread
- Main thread、Render、I/Oの3スレッドがある
- I/O(キーボードとか)
- それぞれの役割があって分割してるから速いらしい
- Renderスレッドは120fps
- UIフレームワークで使われがちなアーキテクチャ=速くなる
テキスト表示高速化の工夫
- Macの標準な文字列表示だとうまいこと行かない(キャッシュする時に困るらしい)
- シェーピング結果をキャッシュしてる?らしい
- テキストを細かく分割して処理
グリフ列変換
- グリフ:フォントの位置を示す
- 文字の先読みとかする必要があって大変そう
- 国旗とかむずい、色々言語細かいところが大変
実はGPUだけでレンダリングしてない
- グリフの画像化はCPU
- 画像化したものをGPUでレンダリング
- ゲームではよくある仕組み
→ゲーム並みに最適化している
推しツールは強制布教しよう
ogadra san
コマンド1個でロールバックできる
- ビルドして壊れた時に便利
強制布教の方法がすごい
どういった仕組みか
- フルスクラッチで自作
- Go、Terraformで動くバックエンドがリポジトリにある