Ubuntu で Guake + Zsh + tmux + Prezto するメモ
シェル周りがゴッチャゴチャなのでまとめておきます.
↓ この辺を使っています.
OS
Ubuntu 18.04.2 LTS
Guake
Guake Terminal は,プルダウン型のターミナルエミュレータです.
設定で変えられる部分も多いですが,使い方としては
- ワークスペースを切り替えてもひっついてくる
- キー1つで 表示 / 非表示 の切り替え
- 基本フルスクリーン(後の tmux の機能で画面分割)
なお,手元のバージョンは 3.0.5
です.
インストール
公式のインストール方法 に従ってインストールできます.
最新版を入れたければソースからビルドすればよいですが,面倒なときは Ubuntu であれば,
$ sudo apt install guake
で入ります.
設定
Guake Terminal 上で右クリックか,アプリの中を guake
でサーチするか,
$ guake --preferences
を打つとかで GUI で設定を起動できます.
表示 / 非表示トグルの設定
デフォルトでは, F12
キーで表示 / 非表示の切り替えを行うことができますが,
そんな僻地にあるキーを頻繁に使うのは面倒です.
そこで,弊機 ThinkPad X260 の右 Alt
と 右 Ctrl
の間にあるクソ邪魔 PrtSc
キーを使うときがやってきます.
Keyboard shortcuts
の Toggle Guake visibility
を Print
に当てます.
フォントの設定
Appearamce
から Font:
を選んで指定します.
エディタ等でも使っている Ricty Dimished にしておきます.
自動起動の設定
どうせ使うので,ログイン時に自動起動させるようにします.
Xfce デスクトップ環境を使っているため, 設定マネージャー
→ セッションと起動
→ 自動開始アプリケーション
に Guake を追加します.
スマン
Zsh
言わずと知れた強力なシェル.
インストール
Ubuntu には apt で入ります.
$ sudo apt install zsh
設定
ログインシェルの変更
ログインシェル(要はデフォルトのシェル)を Zsh に変更します.
chsh
コマンドが使えます.
$ chsh -s `which zsh`
と打つとパスワードを要求されるので,入れます.
その他
~/.zshrc
や ~/.zshenv
に色々書きます.
気が向いたら詳細を書くかも…
tmux
tmux は,ターミナル・マルチプレクサ(terminal multiplexer)というやつです.
元々リモートでのセッション維持を目的として使い始めたのですが,なんだかんだ便利なので手元でも使うようになりました.
セッションの attach / detach の他,画面分割なんかもできます.
インストール
GitHub リポジトリ のソースからビルドしてもいいですが,これも面倒なので apt で入れます.
$ sudo apt install tmux
インストールが完了したら,
$ tmux
で実行できます.
まぁどうせ自動起動させるのでターミナルで直接 tmux
と打つことは基本的にないです.
設定
~/.tmux.conf
を(無ければ)作成し,そこに色々書きます.
私の設定はこちら.
使用や設定に際して,この辺が参考になりました.
fzf
fzf は fuzzy finder の略で,その名の通り曖昧検索ツールです.
peco のみたいなものです.
使い方やインストール方法は公式に詳しくありますが,日本語の記事ではこちら参考になりました.
本当は fzf-tmux
というコマンドを使えて,ctrl + r
の履歴を別ペインで開いたりできるのですが,逆に視線が飛ぶのがアレなので今回は利用しません.
インストール
公式に従い,
$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf $ ~/.fzf/install
で入ります.
途中の質問に対しては基本 yes にしといて問題ないでしょう.
tmuximum
先程のチートシートを見ると,セッション管理が結構ダルい感じがします.
そこで,tmuximum を導入します.
実際は,これをちょっとだけ改造して使っています.
具体的には,
- 新しいセッション起動時に,最初から画面を3分割する.
- セッションリストの並び順を変更.
- セッションリストを画面上方に表示する.
のように書き換えています.
インストール
何でもいいのですが,とにかく tmuximum
をパスの通ったところに置けばおkです.
$ git clone git@github.com:23prime/tmuximum.git
とかして,.zshenv
に tmuximum
までのパスを記述します.
Zsh では path
という変数の配列にパスを追加してやればいいので,fzf も含めて次のようにします.
path=( <path to>/.fzf/bin(N-/) <path to>/tmuximum(N-/) $path )
他の色々なパスもこの中に書いてしまいます.
設定
Zsh 起動時に勝手に tmuximum を開始するため,.zshrc
に次のように書いておきます.
if [ -z $TMUX ]; then tmuximum fi
Prezto
ここまでやればもうだいぶいい感じなのですが,最後にテーマを弄くるため Prezto を利用します.
インストール
基本的には公式の通りですが,.zshrc
等をこの配下に置いているため,先に Fork しておきます.
あと,既存の設定ファイルをバックアップしておく等するとベターでしょう.
$ zsh # 既に Zsh に入っていればやらなくていい $ git clone --recursive git@github.com:23prime/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" $ setopt EXTENDED_GLOB for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" done
設定
使用できるテーマは
$ prompt -p
で確認できます.
いい感じのテーマがあれば,テーマ名を .zpreztorc
に書きます.
zstyle ':prezto:module:prompt' theme '<theme name>'
こんな感じに設定しています.
まとめ
いかがでしたか?(テンプレ)