2016/12/28 追記
こちらの方法 なら、ウィンドウサイズまわりの挙動も問題無いようです.
echo 0 > /proc/sys/kernel/randomize_va_space
sudo apt-get install libperl-dev
sudo apt-get install libgtk2.0-dev
curl -Ss -L https://gist.githubusercontent.com/nanasess/f04cb2a8926c5423e47efec4327b340a/raw/05b8ae147a6a3425f516c574c8d89471f1849bc6/xselect.c.patch | patch -p1
./configure x86_64-pc-linux-gnu --with-x-toolkit=gtk2 --with-libotf --with-m17n-flt --prefix=/usr/local/emacs
make
sudo make install
## Fix dbus session.conf
sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf
echo 2 > /proc/sys/kernel/randomize_va_space
2016/11/8 追記
最近の emacs-snapshot なら X 経由で起動できるようです。
sudo add-apt-repository ppa:ubuntu-elisp/ppa
sudo apt-get update
sudo apt-get install emacs-snapshot
sudo update-alternatives --config emacs ## and select emacs-snapshot
See Also
Bash on Ubuntu on Windows で apt-get install emacs
とすれば、 Emacs をインストールできます。ただし、 GUI の環境 で Emacs を起動しようとすると、以下のような Warning で起動できません。
(emacs:305): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
どうも、 D-BUS と会話がうまくできないようなので、 --without-dbus
でビルドすることにします。
必要なパッケージのインストール
sudo apt-get install libXpm-dev libjpeg-dev libgif-dev libtiff4-dev libncurses5-dev libgtk-3-dev libgnutls-dev libmagick++-dev
libgtk-3-dev 以外はお好みで。
exec-shield の問題の対応
そのまま make すると、 途中で core dump してしまう ので randomize_va_space
を無効化しておきます。
sudo -s
echo 0 > /proc/sys/kernel/randomize_va_space
ビルド
curl -LO http://ftpmirror.gnu.org/emacs/emacs-24.5.tar.gz
tar xvzf emacs-24.5.tar.gz
cd emacs-24.5
./configure --with-x-toolkit=gtk3 --without-dbus --prefix=/usr/local/emacs
make
sudo make install
指定した --prefix
にインストールされます。
上記の例の場合、 /usr/local/emacs/bin/emacs
で起動します。
最後に
randomize_va_space
を元に戻しておきましょう
echo 2 > /proc/sys/kernel/randomize_va_space
その他
- Mac の XQuartz から X11 Forwarding する場合 は、
/etc/ssh/sshd_config
に以下のパラメータを追加します。
AddressFamily inet
ListenAddress 0.0.0.0
X11UseLocalhost yes
AddressFamily
は ListenAddress
よりも先に書く必要があります。