筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2013-04-02 FreeRDP
■ net/freerdp を 0.8.2 から 1.0.2 へアップデート
Microsoft Remote Desktop Protocol のフリーな実装の net/freerdp を 0.8.2 から 1.0.2 にアップデートしました。主に net/xrdp で FreeRDP 1.0 系のライブラリを使いたかったというのが理由ですが。
FreeRDP 1.0.0 がリリースされて1年以上経っても FreeBSD では古いバージョンの 0.8.2 のままとなっていたので、 メンテナにアップデートをお願いしたものの一向にやってくれる気配がなく結局自分でやってしまいました。 ビルドシステムが GNU configure から CMake に変わっていて、単なるアップデートではなく新規に porting するのと変わらない くらい時間がかかりました。
完成していざ PR を出そうとしたところで、1.0.0 へのアップデートの PR が既にあるのを発見、そっちに合流して、 途中でメンテナの交代を挟んだものの最終的に無事にコミットしてもらいました。
- ports/164843: [NEW PORT] net/freerdp: new version 1.0.0 (and suggest repocopy of existing freerdp)
- Status of net/freerdp and PR164843
いくつか問題が残っていて、古いバージョンの freerdp 0.8.2 がインストールされていると freerdp 1.0.2 がビルドできないというのがひとつ。このせいで portupgrade や portmaster で net/freerdp をアップデートすることができません。これは既にパッチを出してコミット待ちですが 8.4-RELEASE に向けての ports freeze に入ってしまったので修正されるのは 8.4-RELEASE の後になりそう。
もうひとつ、Remmina の RDP プラグイン net/remmina-plugin-rdp が FreeRDP の0系のライブラリに依存していたために、net/freerdp を1.0.2にアップデートした結果ビルドできなくなってしまいました。Remmina とそのプラグインも同時にアップデートする必要があったのを見落としてました。こちらは net/remmina, net/remmina-plugins を Remmina 1.0.0 ベースのものにアップデートする方向で取り組んでいます。
freebsd-ports@ メーリングリストでも結構つつかれていて申し訳ない…。
- net/freerdp: redefinition of typedef...
- net/remmina-plugin-rdp is broken by net/freerdp
- Update for net/freerdp failed
net/freerdp, net/remmina についてはメンテナじゃないのにメンテナのごとく働いています…。
■ rdesktop は捨てて FreeRDP (xfreerdp) に移行しよう
FreeRDP の FreeBSD port について取り上げたついでに。 rdesktop は捨てて FreeRDP (xfreerdp) に移行しましょう。
雑に比較するとこんな感じです。
- rdesktop
- Linux などの OS で使えるオープンソースの RDP クライアントの草分け、RDP 5.1 まで対応。
- xfreerdp
- rdesktop から fork し、後にスクラッチから書きなおされた RDP クライアント、RDP 7.1 まで対応。
FreeRDP は rdesktop から派生し、後にスクラッチから書きなおされ、現在は Apache Lisence Version 2.0 でライセンスされているオープンソースの Microsoft Remote Desktop Protocol の実装で、単なる RDP クライアントにとどまらずプロトコルそのものをオープンソースで実装することを目指しているプロジェクトの名称でもあります。
FreeRDP プロジェクトのクライアントのコマンド名が xfreerdp で remmina というフロントエンドも同プロジェクトで開発されています。 Windows Server 2008 R2 で追加されたマルチモニタ対応に加え RemoteFX や RemoteApp, マルチメディアリダイレクションという機能が使えるので、特に rdesktop にこだわる理由がなければ xfreerdp や remmina に乗り換えることをおすすめします。rdesktop と xfreerdp ではほぼ同じコマンドラインオプションが使えるので、それほど違和感なく乗り換えられると思います。
現時点で MS-RDP は RDP 7.1 が最新ですが、FreeRDP は開発が活発なのでいずれ 8.0 にも対応するでしょう。
rdesktop が対応している Windows XP までの RDP 5.1 と Windows 7 / Server 2008 R2 の RDP 7.1 の違いについては以下の記事が詳しいので挙げておきます。
2013-04-03 kern/172952
■ FreeBSD 9.1-RELEASE ZFS root 環境で reboot すると All buffers synced. で固まる?
表題の通り。stable ブランチで既に修正されているようなのでカーネルだけ 9-STABLE に上げてみたら発生しなくなった。
リモートから reboot して帰ってこないと結構困るので助かった。
特にいじってない GENERIC カーネルなのでサクッとソースツリーを更新して、ツールチェーン作って、カーネル作って、新しいカーネルで再起動。
# svnup -h svn0.us-west.freebsd.org -b base/stable/9 -l /usr/src # cd /usr/src # make kernel-toolchain # make buildkernel # make installkernel
installkernel のところでなんか言われた。
ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.
UPDATING の通りに mergemaster -p して auditdistd のユーザを作ると installkernel できた。
20121218: With the addition of auditdistd(8), a new auditdistd user is now depended on during installworld. "mergemaster -p" can be used to add the user prior to installworld, as documented in the handbook.
新しいカーネルをインストールしたので reboot するも、この時点ではまだ古いカーネルで起動していたのでまた All buffers synced. の後で固まる。ここまでは想定通り。新しいカーネルで起動したことを確認して、もう1回 reboot して固まらないことを確認する!今度は固まらなかった。めでたしめでたし。
$ uname -v FreeBSD 9.1-STABLE #3: Thu Apr 4 02:45:29 JST 2013 root@icepick.vmeta.jp:/usr/obj/usr/src/sys/GENERIC $ sudo shutdown -r now
■ IPFIREWALL_FORWARD のオプションが廃止されデフォルトでオンになっていた
カーネルネタをもうひとつ。All buffers synced. の対応のために /usr/src/UPDATING を読んでいて発見しました。
20121102: The IPFIREWALL_FORWARD kernel option has been removed. Its functionality now turned on by default.
ipfw の forward ルールを使用するためには IPFIREWALL_FORWARD をオンにしてカーネルを再構築する必要がありましたが、9.1-RELEASE の1ヶ月ほど前にデフォルトでオンになるように変更されたみたいです。
地味といえば地味ですがうれしい変更です。この仕様変更により FreeBSD で動作するネットワーク利用者認証ゲートウェイシステム Opengate などを導入するにあたって、カーネルの再構築が不要になり GENERIC カーネルがそのまま使えるようになります。
squid で透過型プロキシを構築するときなどでも、GENERIC カーネルがそのまま使えます。
2013-04-15 バーボン
■ 2ch ブラウザ開発資料 -バーボンハウス行きにならないために-
ちょっと自分で使うための 2ch ブラウザを作ってるのでメモ。クローラを使うときには行儀よくアクセスしないとバーボンハウス行きになってしまうのでそのへんの資料とかをまとめ。書き込みはしないのでクローラを使ってアクセスするときに有用な情報だけ。
- 2chブラウザ開発資料 - 総合資料・個別資料へのリンクページ
- 2ちゃんねる開発資料 - monazilla.org にある開発資料
- サーバへのアクセス - 2ch にアクセスするときの HTTP リクエストヘッダとか
- と〜く2ちゃんねる - 10年前の情報ながらそこそこ参考になる
- subject.txtの仕様 - スレタイ一覧の仕様
- datの仕様 - スレッドのデータの仕様
- バーボンハウス - クローラ用の dat 取得サーバの場所とか
- へぼいいいわけ - unkar.org の中の人のブログ
dat の取得には bg20 が使えるとして、subject.txt の取得には直接サーバに取りに行くしかなさそう。subject.txt はどれくらいの頻度で取りに行っていいんだろう。
2013-04-22 github
■ github への FreeBSD ports リポジトリのエクスポートが止まってる?
github にある freebsd-ports リポジトリがここ数日更新されてない
svn の方を見るとコミットはされてるみたいだから、svn から git へのエクスポートがなんかのトラブルで止まっている?
2013-04-29 10th aniversary
■ VMETA.JP 10周年
この記事の日付は4月29日ですが書いているのは5月8日、ということで去る2013年4月29日 VMETA.JP を登録してから10周年を迎えました。
Domain Information: [ドメイン情報] [Domain Name] VMETA.JP [登録年月日] 2003/04/29 [有効期限] 2014/04/30 [状態] Active [最終更新] 2013/05/01 01:05:10 (JST)
ドメインを取得したのは2003年4月、メインで使っているメールアドレスを使い始めてからも10年になります。本当は META.JP を取得したかったものの取得済みで、頭に A から Z までつけてみて一番しっくりきた VMETA.JP を取得した記憶があります。
当時は フレッツ ISDN の回線と K6-2 の PC と Windows NT 4.0 Server に XMail と Apache 2.0 あたりで 所謂自宅サーバを飼ってました。
META.JP の方は2009年に一度失効しているので、そのときに横取りすればよかったかも。
Σ meta [カーネルだけを 9-STABLE に上げたものの、カーネルと world のバージョンがずれていると nvidia-..]