筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2011-04-16 ports あれこれ
■ ports の配布ファイルダウンロードを速くする
タイムアウトを指定する
ports からソフトウェアをインストールしていると、ミラーサイトに応答しないものが含まれていて、時間がかかることがあります。 応答のないミラーをさっさと諦めて、次のミラーからのダウンロードを試みるようにするには HTTP_TIMEOUT, FTP_TIMEOUT 環境変数を使用します。
# make HTTP_TIMEOUT=5 FTP_TIMEOUT=5 install
とすると、HTTP/FTPコネクションを確立するまでのタイムアウトが5秒に設定され、5秒待ってもサーバから応答がない場合には次のミラーからのダウンロードを試みます。 これらの変数は fetch コマンドが参照し利用します。タイムアウトはコネクションを確立するまでの時間なので、ファイルサイズが大きくダウンロードに時間がかかるといった場合には影響しません。
国内ミラーを指定する
よく使われるソフトウェアは国内のFreeBSDミラーサイトからもダウンロードできる場合があります。 /etc/make.conf に以下のように書いておくと、最初に国内ミラーからのダウンロードを試みるようになります。
MASTER_SITE_OVERRIDE?=ftp://pub.allbsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/
ここで指定した allbsd.orgとは東京理科大学内に設置されているBSD系OSのミラーで、portsnap や cvsup のミラーも提供されています。
2011-04-23 不要な npviewer.bin を殺す
■ ゾンビとなった npviewer.bin を掃除する
FreeBSD で Flash を動かしていると、npviewer.bin プロセスが大量に発生します。
後藤大地さんの記事でこれを掃除するための npviewermonitor というスクリプトが公開されていますが、ここでは別の方法をとります。
npviewer.bin は Firefox から fork して生成されますが、親プロセスである firefox が死んだ後も残ってしまいます。残った npviewer.bin は flashplugin としての役目を果たすことができません。親プロセスが死んだ子プロセスは init に引き取られるため、PPID が 1 であるものを掃除します。
kill $(procstat $(pgrep npviewer.bin) | awk '$2 == 1 { print $1 }')
これを cron で適当な間隔で実行すればよいでしょう。
2011-04-25 New Maintainer
■ net/xrdp のメンテナになりました
net/xrdp はメンテナ不在で、MAINTAINER が ports@freebsd.org になっていたのでメンテナに立候補したところ、無事にメンテナ権限を与えられました。
ports メンテナは直接リポジトリにコミットできる権限を持つわけではないので、今までと出来ることが大きく変わるわけではありませんがメンテナからの更新は通りやすくなるようです。
■ net/xrdp アップデート (0.6.0.20110117cvs)
先のPRがコミットされないままですが、net/xrdpをアップデートしました。
JP106 キーボード用のキーマップのインストール方法に問題があり、バイナリパッケージを作成すると JP106 キーボードではうまく動作しない状態でした。 このあたりで指摘されてました。ports としてもう少し行儀のよいインストール方法に変更してみたつもりです。
ports tree にコミットされる前に試してみたいという方はこちらからどうぞ。
この修正にあたり、松元さんのFreeBSD ports collection 作成者向けのメモを参考にさせていただきました。
2011-04-27 Commited!
■ net/xrdp 日本語キーボード対応パッチがコミットされました
ports/155509 がコミットされました。
# portsnap fetch update
で ports tree を更新したのち、make install をすれば使用できます。
bapt 2011-04-27 09:29:03 UTC FreeBSD ports repository Modified files: net/xrdp Makefile distinfo pkg-plist net/xrdp/files patch-common__os_calls.c pkg-message.in Removed files: net/xrdp/files patch-common__trans.c Log: - update to 0.6.0.20110117 cvs snapshot - support for for Japanese JP106 keyboard - add license - Add runtime dependency on Xvnc PR: ports/155509 Submitted by: "Iwao, Koichiro" <meta _at_ club.kyutech.ac.jp> (maintainer) Revision Changes Path 1.13 +31 -7 ports/net/xrdp/Makefile 1.6 +12 -2 ports/net/xrdp/distinfo 1.2 +3 -3 ports/net/xrdp/files/patch-common__os_calls.c 1.2 +0 -34 ports/net/xrdp/files/patch-common__trans.c (dead) 1.5 +1 -1 ports/net/xrdp/files/pkg-message.in 1.5 +5 -5 ports/net/xrdp/pkg-plist
直近で予定している更新は、インストール後に rsakey.ini の生成を行うようにすることです。現在の port では RDP 暗号化に同梱の鍵ペアを使用しますが、 公式のドキュメントでは、鍵ペアを作り直すことが推奨されています。このため OpenSSH などのようにインストール時や初回起動時に自動的に新しい鍵ペアを生成するよう変更を行います。
※ 追記: 初出の版の Makefile に typo がありました。現在は修正されています。
Σ Noppi [これは知りませんでした。便利ですなー。]