GNOME3環境でVagrantの同期フォルダにrsyncが使えなかったけど解決(してません)

nogajun
nogajun

_

4/27 追記

やっぱり勘違いぽい。seahoseに登録してもダメだった。

Vagrant 1.5の新機能で、rsyncを使ってフォルダが同期できるようになりました。

VirtualBoxのvboxsfを使った同期フォルダは、手軽だけど遅いし、所有者・グループとパーミッションの問題があって使い勝手としては微妙な点があったけれど、rsyncが使えるとその点が解消されるし、rsync-autoを使うと自動的に同期されるので、かなり良さそう。 ということでVagrantfileに設定してみました。

設定方法は、Vagrantfileの同期フォルダ設定に type: "rsync" と指定するだけ。(所有者とグループ、マウントオプションは必要がなければ省略できます。)

config.vm.synced_folder "fuga/", "/home/vagrant/fuga", type: "rsync",
  owner: "www-data", group: "www-data", mount_options: ["dmode=755","fmode=644"]

が、ここで問題発生。

There was an error when attempting to rsync a synced folder.
Please inspect the error message below for more info.

Host path: /home/jun/vagrant/hoge/fuga/
Guest path: /home/vagrant/fuga
Command: rsync --verbose --archive --delete -z -e ssh -p 2222 -o StrictHostKeyChecking=no -i '/home/jun/.vagrant.d/insecure_private_key' --exclude .vagrant/ /home/jun/vagrant/hoge/fuga/ vagrant@127.0.0.1:/home/vagrant/fuga
Error: Received disconnect from 127.0.0.1: 2: Too many authentication failures for vagrant
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.0]

ssh-add -lで見てみると鍵がずらずらと表示されたので、ssh-add -Dで全消してやれば使えるかと思いきや消えない! どういう事!?と調べてみると、gnome-keyringがSSH鍵を全部登録しているらしい。 (gnome-keyringに登録されている鍵は、seahorseを使うと見ることができます。)

ということで、~/.ssh/configに設定を書いてみたり、gnome-session-propertiesで「SSH鍵エージェント GNOMEキーリング:SSHエージェント」を外してgnome-keyringのSSH鍵登録を止めてみたりしたけど、vagrantのSSH鍵を~/.sshにコピーするのが一番いい方法かも。

対処方法

Vagrantで利用しているSSH鍵ペアは公開されていて、自分自身も鍵ペアを持っています。

これを~/.ssh/にコピーしておくとgnome-keyring/seahorseに登録されるのでコケることもなくなります。

   $ cp /opt/vagrant/embedded/gems/gems/vagrant-(バージョン番号)/keys/vagrant* ~/.ssh/

ほかのデスクトップ環境では?

ほかのデスクトップ環境ではssh-agentは起動していても、全部のSSH鍵を登録することはないのでGNOME3特有の事情ですね。(UbuntuのUnityだと影響あるかも)

_ GFMスタイル微妙

まだWikiスタイルのほうがマシかなぁ。

やっぱりGFMスタイルやめ。

_ GitBookを試してみた

最近、Markdownで文書を書くことが多いのだけど、Markdownで書いたテキストをHTMLやPDF,epubなどに変換できるGitBookというソフトがあるので試しに使ってみた。

VagrantのWheezy環境にインストールしたので、下に置いたリポジトリからVagrantfileなどを持ってきてvagrant upをすれば一発でインストールできます。

ひとまず試すだけなら、vagrant sshで入ってからGitBookのサイトにある適当なサンプル文書をgit cloneしてきます。そしてgitbook serve (Markdown文書のあるディレクトリ)を実行して、ブラウザから http://gitbook:4000/ を見るとMarkdownの文書が読めるはず。

使ってみた感想としては、英語以外の言語環境を考慮してないので微妙。

PDFは日本語が抜けて使い物にならないけど、HTML文書は読めるしブラウザからのビューワーが軽快で使いやすいので、そこは割りきってブラウザから読むドキュメントツールとして使えばいいかなと思ったけど、表組みに対応していないのでドキュメントツールとして使うのも限定されそうな感じ。 (対応しているのがオリジナルのMarkdownなのでテーブルはHTML直書きで書けるけれど、サクっと書く意味がなくなってしまうし…)

なので、あともう少しな感じ。