古いmacを新しい気持ちで使うために
手元でもう10年越しになりつつあるMacBook Airがある。Intel Macだった時代のもので、もうハードとして色々なことが古くなってしまっているが、いまだに現役で使用している。発表や就職活動などで活躍してくれたが、もう少しで現役は引退かもしれない。後継の機種が決まるまではしばらく今まで通りに使っていきたいと思っている。
だが、10年も使用してくると見た目に飽きてくるということがある。少し前から、デスクトップの画像は写真や絵ではなく暗めの灰色単一色にしてしまっているが、逆に無機質な感じがして飽きが来るのを防いでくれていると思う。appleは随分古い機種もOSアップデートの対象にしてくれるので、OSの見た目は定期的に新味を感じられて良かった。
ターミナルの見た目を変えたい
端末の見た目も、定期的に変更していた。たまに環境設定からプロファイルを変更して見た目を変えたりもしていたが、さすがに見飽きてきて、大幅に変更したいと前々から思うようになっていた。加えて、syntax highlightなどの強化もしたいと思い、方法を調査した。下の情報がわかりやすく、参考にさせていただいた。
gnu系のコマンドを使用できる環境にしたい
もう一つ思っていたのは、macで使用できるコマンドが普段多用しているgnu/linux系のものではないため、微妙にoptionなどが異なっていて不便だったので、それをなんとかしたいということだった。端末上で何かやりたい時のコマンドをgnu/linuxにした環境を作って、作業の時はそこに入れば良いのではと考えた。検索して情報を探していくと、homebrewでコマンド群をインストールしていく解説が複数あり、下記の情報がわかりやすかった。
テキスト処理のための標準的なコマンド群の macOS への導入手順
homebrewも使用しているが、今回はcondaによってgnu系環境を別途用意するという方法をとった。どちらかというとhomebrewで整備していく方法のほうが理にかなっているのかもしれないが、今回は元のmac (UNIX)の環境とも簡単に行ったり来たりできるようなものにしたいと思い、conda環境を使用した。デフォルトの環境は手をつけず、gnu系コマンド群を使用したいときにcondaの環境に入って使用するというイメージだ。homebrewでもそのような簡単な切り替えができるのかもしれないが、調べてはいない。
軽量なエディタのnanoのsyntax highlightに関する情報は、以下のサイトを参考にさせていただいた。
nanoもcondaにより導入したので、上の記述から若干変更して、.nanorcを作成した。
手順
1. conda environment
まずは、condaでgnu用の環境を作成した。ipythonなども導入して、データ解析、プロセシング等を実施する際に入るような環境を想定した。
conda create -n gnu
conda activate gnu
2. coreutils + other tools + python
conda環境に入ったあと、gnu/linux風にしたいコマンド群+pythonをインストールしていった。インストールするツール群については、前述の標準コマンド群を解説した記事を参考にさせてもらった。
# Coreutils
conda install -c conda-forge coreutils
# Other commands
conda install -c conda-forge diffutils
conda install -c conda-forge gzip
conda install -c conda-forge grep
conda install -c conda-forge gawk
conda install -c conda-forge nano
conda install -c conda-forge unzip
conda install -c conda-forge wget pandoc
# Python 3.12.0 install
conda install -c conda-forge python
conda install -c conda-forge ipython
conda install -c conda-forge pandas numpy
3. Solarized
先にあげた導入情報のリンクを参考にして、solarizedをインストールした。まずは、solarized.gitをgit cloneした。
git clone https://github.com/tomislav/osx-terminal.app-colors-solarized solarized.git
>> Cloning into 'solarized.git'...
>> remote: Enumerating objects: 80, done.
>> remote: Total 80 (delta 0), reused 0 (delta 0), pack-reused 80
>> Unpacking objects: 100% (80/80), done.
その後、ターミナルの環境設定からプロファイルを選択した。ダウンロードしたsolarized.gitフォルダ下にあるSolarized Dark.terminal
を環境設定のプロファイルの読み込みから指定して読み込み、デフォルトに設定した。
4. .bash_profile編集
gnu/linuxのコマンド群を通常利用することを考え、環境をactivateして、またlsで色分けして表示できるようにするために、.bash_profileの内容を編集した。
# 以下の記述を加える
conda activate gnu
alias ls='ls --color=auto --group-directories-first'
eval `dircolors ~/.dircolors-solarized/dircolors.256dark`
5. nanoのsyntax highlight
基本的には、Syntax highlighting in nano on Mac OSに説明されている.nanorcの作成をするのだが、condaで導入しているため、記述が若干だが異なる。
cat ~/.nanorc
>> include "/path/to/home/miniconda3/envs/gnu/share/nano/*.nanorc"
minicondaのenvs/環境名/share/nano下には、.nanorcのファイルが格納されているので、それを読み込んでいることになる。
# miniconda3/envs/gnu/share/nano 下のファイル
extra css.nanorc html.nanorc markdown.nanorc perl.nanorc sql.nanorc
asm.nanorc default.nanorc java.nanorc nanohelp.nanorc php.nanorc tcl.nanorc
autoconf.nanorc elisp.nanorc javascript.nanorc nanorc.nanorc po.nanorc tex.nanorc
awk.nanorc email.nanorc json.nanorc nftables.nanorc python.nanorc texinfo.nanorc
c.nanorc go.nanorc lua.nanorc objc.nanorc ruby.nanorc xml.nanorc
changelog.nanorc groff.nanorc makefile.nanorc ocaml.nanorc rust.nanorc yaml.nanorc
cmake.nanorc guile.nanorc man.nanorc patch.nanorc sh.nanorc
これで、nanoを開いたときにもハイライト表示がされるようになった。