Xonsh を メインシェルに設定する(Linux Mint)

知識

Xonsh を使ってみる

これまでは zsh をメインで利用。特に不満があったわけではないですが、
「Pythonコードを実行できる」という点に便利さを感じて乗り換えです。

Qiitaなどでも利用方法が紹介されているので、そちらで検索しても良いが、なんだかんだ最後は公式サイトにたどり着くもの。

https://xon.sh/

xonsh 公式サイト

インストール方法に注意

インストール方法はいくつか存在するので個人の環境に依存します。
Ubuntu や Linux Mint であれば、「apt」経由でもよいが、ver 0.6がインストールされます。
2020年1月13日段階では最新バージョンは 0.9.13 が最新ですので、最新のものをインストールしたい場合は、「apt」せず、別の方法でインストールする必要があります。

インストールはconda 経由か、pip

個人的な環境を想定すると、おそらく「conda」or「pip」経由でのインストールになる可能性が高い。

pip なら2系でも3系でも最近のバージョンであれば、 Pythonに付属しています。
もし旧バージョンであれば、別途インストールする必要があります。そのへんは、qiita あたりで。

pipのインストール方法
https://qiita.com/suzuki_y/items/3261ffa9b67410803443

qiita.com

現在、私の環境ではPythonは Anaconda3 に依存しているので、「conda」経由でのインストールとします。

このやり方だと、xonsh はAnacondaと一蓮托生になる。もし、Anacondaを削除する可能性がある場合は xonsh も一緒に削除される可能性があるのでご注意を。

Anaconda の conda をつかって xonsh をインストール

conda config --add channels conda-forge
conda install xonsh

一行目は、anaconda のチャンネルを追加しています。github上にあるコミュニティのパッケージです。非常に豊富なパッケージが含まれるので、Anaconda の利用するのであれば追加しておくと便利だと思います。
二行目は、インストールです。

xonsh をデフォルトのシェル(ログインシェル)にする

通常であれば、「chsh」コマンドを使ってデフォルトのシェル。つまりログインシェルを変更しますが、xonsh の場合普通にやるとxonshが選択できません。
chsh コマンドを使う前にちょっと下準備が必要です。

vim /etc/shells

テキストエディタで上記のパスを開くと、各シェルのパスが表示されます。例えばこんな感じです。

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash

xonsh が含まれていないので、xonsh のパスを追記します。xonsh のパスがどこかわからん!という場合は、

which xonsh

と、してあげると、判ると思います。このとき、Anacondaに依存していると

/home/{ユーザーネーム}/anaconda3/bin/xonsh

といったパスの形式になっている可能性があるので、ご注意ください。
※Anacondaのインストール作業のやり方よって様々ですので、個人の環境や事情に合わせてください。
あとは、/etc/shells の一番下に xonsh のパスを記述して、chsh で改めて、上記パスを設定。
その後、ログアウト、ログインなどすると、ログインシェルが「xonsh」になっているかと思います。(ターミナルを再起動しただけでは反映しないと思われます。)

chsh -e /home/{ユーザーネーム}/anaconda3/bin/xonsh

上記ですが、基本的には現在のユーザーのログインシェルが変更されます。
うっかり、「sudo」などを使うと「rootユーザー」のログインシェルが変更されますのでご注意ください。

コメント

Secured By miniOrange
タイトルとURLをコピーしました