【簡単】Ubuntuのshellをfishに変更した話【16.04/18.04】

はじまりはMacでfishを使い始めてからでした.それ以来fishというshellの虜となってしまいました.
というわけで今回はUbuntuでfishをインストールする方法やその後のデザインの変更について解説していこうかと思います.

fish

fishとは"the friendly interactive shell"の略です.文字通りユーザーフレンドリーなshellということですね.現在はversion3までリリースされています.
https://fishshell.com/
fishとよく並び立って解説されるshellにzshがありますがfishはデフォルト設定のままでも高機能なため私はとりあえずfishを使うことが多いです.また,自由に選べるテーマが多いため自分好みのデザインに簡単に拡張できるのが良い点です.

fishのInstall

公式ページでは以下のようにインストールするようにとの記載があります.
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt-get update
sudo apt-get install fish
次にfisherというfishプラグインの管理ツールをインストールします.公式のGithubリポジトリ(https://github.com/jorgebucaran/fisher)はこちらです.
curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
そしてfishはpowerlineという特殊なフォントを使用するためaptからpowerlineフォントをインストールしましょう.
sudo apt-get install fonts-powerline
これでfishを使用するための準備は完了です.次はfishのデザインを変更していきましょう.

fishのデザインの変更

fishのテーマは主にoh-my-fishというものが使われています.こちらのGithubリポジトリ(https://github.com/oh-my-fish/oh-my-fish/blob/master/docs/Themes.md#bobthefish)に行くことで各テーマを見ることができます.ちなみに私のおすすめはagnosterです.これぞfishという印象しかないのでずっとこのテーマを使っています.というわけでこのテーマをインストールして適用しましょう.
最近fihserのアップデートがありプラグインを追加するときは fisher add というコマンドで追加するようになったので注意しましょう.
fisher add oh-my-fish/theme-agnoster
また,fishではコマンドラインのカラーもブラウザ経由で既存テーマを選ぶだけで変更できます.
fish_config
これでブラウザからちょうどいい雰囲気のテーマを選ぶことができます.
私のおすすめはTomorrow Nightですかね.ちなみにpyenv環境で fish_config を実行すると ModuleNotFoundError: No module named '_curses' というエラーが発生するかもしれませんので設定する際は一時的にpyenvの呼び出し部分を.bashrcとかからコメントアウトするといいかもしれません.もしくはpython3環境のエラーかも.

fishのシェル設定

さて,以上でfishの設定は完了ですがfishのシェルスクリプトの書き方はbashやzshのそれとはかなり異なるため起動時に読み込みたいPATHやpyenvの設定のため.bashrcなどに書き込んだものを移植しようにもコピペではできません.そのため.bashrcにfishを起動するように記述することでfishをストレスなく使用できるようにしましょう.
.bashrcの最終行に次の文を追加します.
exec fish
また,やはりシェルスクリプトはbashベースで書きたいという気持ちはみなさんあると思うのでfishからbashのシェルスクリプトを読み込むことができるプラグインもいれてしまいましょう.
fisher add edc/bass

ターミナルのフォント設定

fish独特のフォントはpowerlineをInstallすることで解決しましたがやはりターミナルのフォントもおしゃれなフォントに変更したいですよね.ということでみんな大好き Source Code Pro をInstallしちゃいましょう.このページ(https://gist.github.com/enzinier/8d00d3f37d2e23985dcfa65662d163fa#file-install_font_adobe_source_code_pro-sh)を参考に install_source_code_pro.shを作成しましょう.
#!/bin/sh
# Userland mode (~$USER/), (~/).

# ~/.fonts is now deprecated and that
#FONT_HOME=~/.fonts
# ~/.local/share/fonts should be used instead
FONT_HOME=~/.local/share/fonts

echo "installing fonts at $PWD to $FONT_HOME"
mkdir -p "$FONT_HOME/adobe-fonts/source-code-pro"
# find "$FONT_HOME" -iname '*.ttf' -exec echo '{}' \;

(git clone \
   --branch release \
   --depth 1 \
   'https://github.com/adobe-fonts/source-code-pro.git' \
   "$FONT_HOME/adobe-fonts/source-code-pro" && \
fc-cache -f -v "$FONT_HOME/adobe-fonts/source-code-pro")
そしてこの install_source_code_pro.shに chmod +x install_source_code_pro.sh で権限を与えて実行します.その後ターミナルのプロパティでフォントが選べるかと思いますがそこに Source Code Pro が追加されているはずです.

まとめ

やはりfishはサイコーーー!ということでこれからもおしゃれなターミナルに関する記事をちょこちょこ上げていこうと思います.

0 件のコメント :

コメントを投稿