■ Emacs 全般で利用できる設定
【お知らせ】
<2018/12/27 追記>
次のページに Xephyr を使った X端末的な利用方法を紹介しています。
<2018/10/14 追記>
設定を ~/.ssh/config で行うように見直しました。
【本題】
tramp による接続先で Xクライアント を実行できるようするための設定です。
1) 次の設定を行う。
2) X11 forwarding を必要とするホストの設定を、~/.ssh/config で次のように行う。<aliasname> が tramp を行うときに利用するホスト名となる。(/scp:<aliasname>:<path>)
Host <aliasname>
HostName <hostname>
Port <portno>
User <username>
ForwardX11 yes
# ForwardX11Trusted yes
# Compression yes
※ ForwardX11Trusted の設定は必要なときのみに行ってください。(Cygwin の環境では必要なようです。)設定が必要となる場面や設定することの留意点は次のページを参考としてください。
3) Emacs が起動する時点で DISPLAY 環境変数が設定されていなければ、次の設定を行う。(.bashrc での設定が行えない場合の設定方法となります。)
;; DISPLAY 環境変数を設定する
(unless (and (getenv "DISPLAY")«
(string-match ":" (getenv "DISPLAY")))«
(setenv "DISPLAY" ":0"))«
4) gnupack を利用している場合は、Cygwin に xlaunch package をインストールし、Windows のスタートメニューから XLaunch を「Multiple windows」と「Start no clinet」のモードで起動する。
5) 以上の設定をした接続先に ssh で接続した際、「No xauth data; using fake authentication data for X11 forwarding」と表示される場合は、接続元の環境で次のコマンドを実行してみる。
xauth generate :0 .
※ Cygwin では xauth を見つけることができず、この対応は行えませんでした。
以上で、tramp で接続したリモートマシンの shell 上で Xクライアント を起動すると、ローカル側に表示されます。
Ubuntu など xdg-open がある OS については、「
dired を OS と連携して使うための設定」と連携した利用も可能となります。
なお、Xフォント のラスタライズが Xサーバ 側で行われる場合には、Xフォント のインストールや Xフォントサーバの追加設定が必要かもしれません。最近は、フォントのラスタライズを Xクライアント 側で行うように実装してあるソフトが多いようですので、Xフォントのことはあまり気にする必要はないとは思います。
<変更履歴>
- 2014/05/10 このページを作成した。
- 2015/09/09 連想リストの修正を push で行うように変更した。
- 2017/03/30 接続のオプションに -Y を追加した。
- 2018/10/14 設定を ~/.ssh/config で行うように見直した。
最終更新:2022年10月12日 21:36