前回はエックスサーバーにPerlモジュールを追加してみました。
回もエックスサーバーののコマンドライン(シェル)を活用するためエディタ(emacs)をインストールしてみたいと思います。
エックスサーバーで使えるエディタ
エックスサーバーのレンタルサーバにSSH接続した際に使えるエディタは、私が試した限りでは「Vi (vim)」のみでした。
SSHで接続しているとちょっとファイルを修正したいときなどもあるのですが、私はViにあまり慣れていないため、ファイルの修正に時間がかかってしまうことがよくありました。
ここはやはり慣れているemacsを使いたいものです。
ファイルを変更する方法としては、
- エックスサーバーが提供するファイルマネージャを使う方法
- WinSCP等で接続して、Windows畳のエディタを使う方法
等もあります。
emacsのインストール
emacsを使うためには、ソースからemacsをビルドしてインストールする必要があります。
しかし、レンタルサーバーなので当然ながらシステムに勝手にインストールすることはできません。
そこで今回はホームディレクトリの「.local」というディレクトリを作成し、その中にemacsはそれに必要なファイルを入れることにします。
$ mkdir ~/.local
また、ビルド作業はsrcディレクトリで行うことにします。
$ mkdir ~/src
準備: ncursesのインストール
emacsのビルドと動作にはncursesというライブラリが必要ですが、エックスサーバーには入っていないため、自分で用意する必要があります。
ncursesもソースからビルドして「.local」にインストールすることによって、emacsから使えるようにしておきます。
$ mkdir -p ~/src/ncurses
$ cd ~/src/ncurses
$ wget http://www.ring.gr.jp/archives/GNU/ncurses/ncurses-6.4.tar.gz
$ tar xf ncurses-6.4.tar.gz
$ ./configure --prefix=$HOME/.local --with-shared --without-normal --without-debug
$ make -p
$ make install
これで「.local/lib」にncursesのライブラリが、「.local/include」にncursesのヘッダがインストールされます。
本番: emacsのビルドとインストール
本題のemacsのビルドとインストールです。
まず、先ほどインストールしたncursesのライブラリを参照できるようにしておきます。
$ export LD_LIBRARY_PATH=$HOME/.local/lib
次にemacsのソースを取得して展開します。この記事作成時には28.2が最新バージョンでした。
$ mkdir -p src/emacs
$ cd src/emacs
$ wget http://www.ring.gr.jp/archives/GNU/emacs/emacs-28.2.tar.xz
$ tar xf emacs-28.2.tar.xz
$ cd emacs-28.2
次にemacsのビルド設定(configure)をします。試行錯誤して下記の設定でconfigureを通すことができました。
$ CPPFLAGS=-I$HOME/.local/include LDFLAGS=-L$HOME/.local/lib LIBS=-lncurses ./configure --prefix=$HOME/.local --with-gnutls=no --with-x-toolkit=no --with-xpm=no --with-jpeg=no --with-png=no --with-gif=no --with-tiff=no --with-pop=no --with-mailutils=no
これでエラーが出なければ、ビルドを実行します。
$ make -p
ビルドが完了したら動作するかどうかテストしてみましょう。
$ src/emacs -Q
これでemacsが立ち上がればOKです。
emacsは重いエディタですが、いろいろオプションを省いているせいか、軽快に起動します。
それでもemacsの実行ファイルは17MBぐらいある巨大なものです。
正常にemacsが動作することを確認したら、インストールします。
$ make install
これでホームディレクトリの「.local」以下にemacsの動作に必要なファイルがインストールされます。
emacsを使うための設定
無事にemacsがインストールできたら使えるように設定しておきましょう。
まずはホームディレクトリの.bash_profileに下記の内容を追記しておきます。
PATH=$HOME/.local/bin:$HOME/bin:$PATH
export PATH
LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
また、ホームディレクトリに「.emacs.d」というディレクトリを作成し、その中に次のような内容のファイルを「init.el」として作成します。
; メニューバーを非表示
(menu-bar-mode 0)
; ビープ音を消す
(setq ring-bell-function 'ignore)
; 文字コードの設定
(setq-default buffer-file-coding-system 'utf-8-unix)
(setq default-file-name-coding-system 'utf-8-unix)
(setq default-terminal-coding-system 'utf-8-unix)
(setq default-keyboard-coding-system 'utf-8-unix)
(setq default-process-coding-system 'utf-8-unix)
文字コードについてはデフォルトでUTF-8のようなので、設定しなくても良いかもしれませんが、一応明示しておきました。
これで「emacs」と入力すれば、emacsが実行されるようになるはずです。
まとめ
今回はエックスサーバーのレンタルサーバにエディタのemacsをインストールしてみました。
自分でソースからコンパイルする必要がありますが、追加で必要なライブラリが一つだけであることと、エックスサーバーのCPUが早いことから比較的簡単にインストールすることができます。
エックスサーバーにSSHで接続したときにファイル編集で困っている方は試してみてください。
コメント