サイトアイコン てくてくぷれいす

管理者権限なしでzshをインストールする

おはようございます、cookie(@cookie_python)です。

みなさんはシェルに何を使ってますか?私はzshを使ってます。

学校のPCにはUbuntuがインストールされていますが、シェルは基本的に、というかほぼほぼデフォルトのbashでしょう。

bashではちょっと補完とか色とか寂しいし、何より普段使っているzshの環境をそのまま学校のPCにも欲しいなと思ったのでインストールすることにしました。

以下の環境の人におすすめです。

サーバーや学校のPCなど管理者権限はないけど、bashでは満足できずzshをインストールしたい人

ダウンロードと解凍

まずはここからzshのソースコードをダウンロードしてきてください。配置する場所はどこでもいいです。

次に解凍します。下のコマンドで解凍できます。

tar -xf zsh-xxx.tar.gz

解凍して出てきたディレクトリに移動してください。

cd zsh-xxx

インストール

通常、ほとんどのソフトウェアのインストールには管理者権限の必要な領域への書き込みが発生します。zshにおいては、configureコマンドでインストール先に管理者権限の必要ないユーザの領域を指定してやれば、管理者権限がなくてもインストールできます。

まずはzshのインストール先ディレクトリを作ります。以下のコマンドを打ってください。以下では作成するディレクトリの名前をlocalにしてありますが、ここの名前はなんでもokです。

mkdir ~/local

configureコマンドでインストール先とオプションを指定します。以下のコマンドを打ってください。

./configure --prefix=$HOME/local --enable-multibyte --enable-locale

各オプションの意味は下のとおりです。

最後に、makeコマンドとmake installコマンドでインストールします。


make
make install

シェルの変更

本来は管理者権限があるのでchshとか叩いて変更するのですが、今回は管理者権限がありません。なので、.bashrcにzshを起動させるように書いて無理やりzshを起動させます。.bashrcの一番下に以下を追記してください。

${HOME}/local/bin/zsh
export PATH=$PATH:${HOME}/local

その後、sourceコマンドで変更を適用させます。

source ~/.bashrc

zsh終了時の挙動を変更

ここまでの作業で、端末を起動したときに勝手にzshが立ち上がるようにはなりましたが、終了するときにexitしても残念ながらzshが終了するだけでbashに戻ってしまいます。

毎回exitを2回叩くのは面倒なので、exit一発で端末が終了してくれるように設定しましょう。

.bashrcの一番下に以下を追記してください。

~/local/bin/zsh && exit

まとめと参考にしたサイト

zshのソースコードをダウンロードしてきてインストールし、起動と終了の挙動を設定する流れを紹介しました。
以下の2つのサイトを参考に自分もインストールしました。
快適なzshライフを楽しんでくださいね。

概要一般ユーザのアカウントを作ってもらったけど,vimもzshもインストールされてなくて辛い!と思ったので,入れてみた.OS: Ubuntu12.04zshのインストールソースコードの取得最新版のソー…
一般ユーザだけどzshとvimを入れたい – Qiita – Qiita
Zshのインクリメンタルサーチがないと生きていけない人間になってしまったので、login shellを指定できない環境の場合は、デフォルトのshell(今回の場合はbash)からzshを起動している。 # .bashrc # サーバにzshがインストールされていたらそのzsh、なければhomeディレクトリに入れたzshを起動している which zsh 1>/dev/null 2>&1 && zsh || ~/local/bin/zsh これでとりあえずよしとしようと思っていたのだけれども、exitが面倒。 zshをexitした後にbashもexitしなければならない。やっぱり一発でexitし…
bashから起動したzshで、exitしたらbashもexitするようにしたら捗った – 適当な思… – 適当な思いつきで書くブログ
モバイルバージョンを終了