ひま〜じ〜ん! きっと何者にもなれないfu7mu4が告げる!
2017-06-14 世界にちらばった愛すべき人たちに会いにゆこう
■[Linux][Emacs][lisp] Remote Swank Server on Linux/Vagrant
Vagrant で Swank-serverを動かしてみる
元ネタは、https://stackoverflow.com/questions/37634881/connecting-to-a-remote-lisp-without-ssh
Swank-server/Xenial (192.168.24.33) の PORT 4005へ Emacsのslime-connectで接続するだけ
Vagrantfileを用意する
こんな内容のVagrantfileを用意する。
元ネタはtrusty64だったが、今はxenial64かなーと変更。
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.box = "ubuntu/xenial64" config.vm.network "forwarded_port", guest: 4005, host: 4005 config.vm.network "private_network", ip: "192.168.33.24" config.vm.provider "virtualbox" do |vb| vb.name = "lisp_host" vb.gui = false vb.memory = "1024" end config.vm.provision "shell", inline: "apt-get update if which apt-get > /dev/null; then sudo apt-get -y install git build-essential automake libcurl4-openssl-dev;fi git clone -b release https://github.com/roswell/roswell.git cd roswell sh bootstrap ./configure make sudo make install sudo ros setup" # SHELL end
vagrant up
久しぶりだったので、新しいxenialあるよといわれたので、起動後すぐに、
vagrant halt vagrant destroy
してから
vagrant box update
してからもういちど
vagrant up
したけど、まあ、あまり変化はない。そらそうか。
Xenial64にはいる
vagrant ssh
でxenial64にはいって、
ros run -Q
でsbclを起動する。
あとは、sbcl のプロンプトがでるので、Vagrantfileで指定したアドレスと転送ポートを指定して、swank-serverを起動する。
;;load swank (ql:quickload :swank) ;;loopback interface (setf swank::*loopback-interface* "192.168.33.24") ;;swank-start :4005 (swank:create-server)
として、PORT 4005で slime-connectを待つ
Emacsからslime-connect
M-x sline-connectと入力し、ホストに 192.168.33.24 ポートに 4005 とする。
これで接続できた。
Emacsのslime側で例えば関数を定義すると、4005 ポートを通じて送られているので、先のSwank-server側でその関数を使用できる。また、グローバルな変数を実行中に書き換えたりもできる。
一旦終了
このswank-server側は普通のVagrantなので、sbclから
(quit)
で抜けて、さらに Xenialからexitしてから、
vagrant halt
で一旦終了させておける。
トラックバック - http://d.hatena.ne.jp/fu7mu4/20170614/1497452408
リンク元
- 11 https://www.google.co.jp/
- 5 http://search.yahoo.co.jp/
- 3 http://b.hatena.ne.jp/
- 1 http://b.hatena.ne.jp
- 1 http://b.hatena.ne.jp/?iosapp=1
- 1 http://b.hatena.ne.jp/entry/d.hatena.ne.jp/fu7mu4/20170614/1497452408
- 1 http://b.hatena.ne.jp/entrylist/it/技術ブログ
- 1 http://b.hatena.ne.jp/search/tag?safe=off&q=lisp&users=1
- 1 http://codezine.jp/bookmark/
- 1 http://reader.livedoor.com/reader/
おとなり日記
- 2017-06-13 司南魚 3/8 37%
- 2017-06-12 imbycibeの日記 3/21 14%
- 2017-06-13 PB memo 3/34 8%
- 2017-06-11 lesetacttbasの日記 4/64 6%
- 2017-06-13 camostiopaの日記 3/51 5%