gm-c91

今年の冬コミでも、毎回恒例の Geeko Magazine を発行します。今回もなんとなくネットワーク系に寄っている内容です。

  • openSUSE Leap 42.2 リリース
  • 今さら聞けない!コマンドラインツールテクニック
  • Ambiguous Character Width の罠
  • openSUSE Leap 42.2とSoftEther VPN で作る VPN 環境
  • SiLK を使った巨大パケット解析

ブースは 29日(木) 西地区 “め” ブロック – 12a です。冊数は十分にありますので、お昼にでもゆっくり来て頂ければと思います。となりは「おんなのこ Linux」で、こちらでも openSUSE 関連本が頒布されるかもしれません。あわせてよろしくお願いします。

OSC 2016 Tokyo/Fall

By ftake @ 2016-11-09 22:18

1-pb050124_r 2-pb050125

11月5日と6日にいつもの明星大学日野キャンパスで開催されたオープンソースカンファレンス2016 Tokyo/Fall に出展しました。

ブース

今回は Raspi のキーボードとマウスを忘れたり、テーブルクロスを忘れたり、さらには特大ギーコと中ぎーこたちも忘れてきてしまうという、忘れ物だらけの展示でした。そこで、履くつもりだったopenSUSEシューズ (openSUSE.Asia Summit を参照)を展示しました。

今回のフリーペーパー版 Geeko Magazine はいつもと違いました。この後 OSC 福岡などのイベントが続くため、多めに作ろうと、初めてオフセット印刷しました。紙もコート紙で、ふちなし印刷になっています。表紙はボロブドゥール遺跡を観光するちびぎーこの写真でした。

セミナー

デスクトップLinuxを普及させよう作戦から発展したコマンドラインツールテクニックです。コマンドラインに慣れない人がこの辺は抑えておくと、効率よく作業できるのになという手のネタと、ベテランでも知らなかったりするかもというネタを混ぜてみました。今回取り上げられなかった内容もありますので、シリーズ化していきたいと思います。


ライトニングトーク

openSUSE.Asia Summit を日本で開催しよう!実行委員募集ということで、LT で話してきました。一緒におもてなしをして下さる方を大募集です。

実は初めて OSC 東京のライトニングトークで話しました(名古屋や懇親会 LT は経験あり)。LT のタイマーが「1」分の意味が、1分59秒~1分0秒を指していることに気づかず早すぎたのは秘密です。


openSUSE.Asia Summit 2016

By ftake @ 2016-10-15 21:38

9月30日から10月2日までインドネシアの Islam Negeri Sunan Kalijaga 大学(以下 UIN)で開催された openSUSE.Asia Summit 2016 に参加してきました。

スケジュールはこちら:
https://events.opensuse.org/conference/summitasia16/schedule

各発表の動画(12月末時点で途中まで)も公開されています:
https://www.youtube.com/channel/UCFGB0Tsqn45oBfJyfi-tJVg

1-pa020386

会場

010-p9300134

UIN はジョグジャカルタ(Yogyakarta, ジョグジャ)というジャワ島の中部南海岸に位置する都市にあります。ちょうど京都のような立ち位置で、首都と名前が似ていたり、古い王宮や遺跡があったり、大学が多数集まる学生の街です。京都の姉妹都市でもあります。


大きな地図を表示

ジョグジャカルタはある意味 openSUSE の町です。州内の小中学校に導入されている Eラーニングシステムの OS に openSUSE が採用されており、膨大な数の生徒や児童が openSUSE に触れています。

2日目の基調講演では、この Eラーニングシステムプロジェクトの紹介がありました。このプロジェクトは JICA の支援の元、日本の ODA 「ジョグジャカルタ特別州ICT活用教育質向上事業」で進められたものでした。

ジョグジャカルタへは羽田からジャカルタに飛び、国内線に乗り換えです。乗り継ぎ時間を含めて、10時間程度でした。ジャカルタのスカルノハッタ国際空港はちょうど改造中で、色々と混乱中です。乗り継ぎの案内の人がいるのは良いのですが、ついて行ったら外に出られず、 SIM カードと現金を入手しそびれました。現金は町中のコンビニATMでクレジットカードからキャッシングでき、SIMカードは道ばたのお店で simPATI という日本語のブログで見かけるブランドのカードを2 GB で 50k ルピア(400円くらい)で買えました。(現地スタッフの通訳してもらいましたが…)

参加者

総参加者は約500名でした。インドネシアの openSUSE コミュニティは活発で、openSUSE ID の Facebook で主に活動しており、オフラインイベントも開催しているそうです。GNOME や GNU/Linux Bogor (GLiB) コミュニティメンバーも多く見かけました。

参加者の多くは学生でした。今回のようなイベントに出席すると、ワークショップ修了証や参加者証が発行されるユニークなシステムがあります。学生たちはこの修了証が欲しいようです。

今回の Summit は参加費を徴収しています。Tシャツや昼ご飯も提供するので、無料にすると、これらを目的とした参加者が押し寄せるそうです。

BlankOn Linuxで働いているというメンバーも何人かいました。インドネシア発の Linux ディストリビューションで、Manokwari という、GNOMEユーティリティ + HTML5 で構成された独自のデスクトップ環境を使用しているのが特徴です。

0日目: ワークショップ

0日目はワークショップのみを1トラックで行いました。会場の広さの都合上、参加者は抽選で40名が選ばれました。Ceph、openQA、Elasticsearch のワークショップが行われました。

020-p9300165

インドネシアには伝統的なお菓子が色々とあり、コーヒーブレークで提供されました。写真の3色の団子はココナッツの何かが入っています。また、様々なものに青唐辛子が刺さっていたり、添えてあり、唐辛子を少しずつかじりながら、食べるようです。

この唐辛子をぱくっと食べてしまった hatochan は大変なことになりました…。

夜はスピーカーとボランティアスタッフ招待の夕食会でした。町の中心部からかなり離れたお店で、ラムの串焼き専門店でした。このお店、メニューはこれだけ(ご飯 = 「ナシ」と飲み物はある)と、すごいお店ですが、それなりに賑わっていました。

1日目

今年の Asia Summit がすごいのは、参加者数だけではありません。

051-pa010248

お祈り、国歌斉唱から始まり、伝統舞踊の披露、Maroon 5 「Sugar」の替え歌 のバンド演奏など、ちょっとしたイベントが仕込まれていました。

064-pa010292

イベントと言えばTシャツですが、今年はスポンサーの Fans 提供の靴までありました。

SUSE からの基調講演は、マーケティングチームの Dougas DeMaio からで、openSUSE への貢献の仕方について説明しました。Linuxcon Euro で忙しい中、弾丸旅行で来てくれました。「(貢献への)障壁を作っているのは自分自身だ!」とのことです。ぜひ飛び越えてみましょう!


午後は、openSUSE + Moodle で試験のシステムを作った話を聞いた後、Open Build Service のハンズオンを見に行きました。ちょとパッケージを作るには時間が足りなかったようですが、多くの人が実際に手を動かしていました。隣りにいた子が vi の使い方が分からずに困っていたので、助けてあげたりしました。


この後は、面さんと hatochan の発表が続きます。

面さんは脆弱性を管理するための、脆弱性やプラットフォーム記述言語の話でした。

hatochan は昨年からの続きで、USB メモリに入れておいた複数の ISO ファイルから選んでブートする方法でした。


088-pa010356 092-pa010366

夜はスピーカー・スタッフ招待のパーティでした。hatochan は、独特の英語の話し方(出川イングリッシュ!?)と、なんとかインドネシア語を繰り出そうとする姿勢に、現地の若者(女の子)に大人気でした。

2日目

最初に会場を提供して下さった UIN からの基調講演がありました。UIN では、世界一のイスラム学科の大学になることを目指しているそうですが、もう一つの柱として科学技術、特にコンピュータ・サイエンスに注目しているそうです。UIN 在学中の学生や卒業生が多く OSS コミュニティに関わっていて嬉しいと話していました。

この日の午後は私が2件発表しました。1件目は openSUSE への貢献の仕方のちょっとしたチュートリアルでした。


もう1件は来年の openSUSE.Asia Summit の提案です。多くの参加者が大学で日本語を勉強していたり、AKB などの J-POP が歌えたり、コナンが好きだったりと日本の色々なことに興味を持っており、会場はヒートアップしました。新型 iPhone の発表でもやっているのか…というような感じでした。(あれはもっとオーディエンスが多いと思いますが)

会場にいる多くのインドネシアのコミュニティメンバーをグローバルに連れ出せればと思います。


インドネシアのコミュニティ

openSUSE のコミュニティは Facebook 上で運用されています。ML は使い方が分からない人が多いので使っていないそうです。オフ会では Linux の話に限らず、ゲームなどの話もしているようです。

また、インドネシアの昔からの考え方で、助け合いの文化があり、それが OSS コミュニティの活性化につながっているのではないかという話もありました。


写真を見ていても分かると思いますが、女性が多いです。やはり女性の方が少ないのは事実なので、女性の参加者には他の友達も連れてきてもらって参加者を増やしているそうです。中国からの Sunny の発表も含めて、女性の OSS コミュニティでの活躍についての発表がいくつかありました。OSS コミュニティで結婚相手を見つけたり、兄弟や友達を紹介するのはよく行われているそうです。(夫婦、婚約者での参加者も数組)

エクスカーション

163-pa030600 177-pa030646

ジョグジャカルタには仏教の寺院であるボロブドゥール遺跡と、ヒンズー教の寺院のプランバナン寺院群があります。住んでいる人はイスラム教徒なので、ちょっと不思議な感じがします。

4日目には、発表者・スタッフでバスをチャーターしてこれらの2つの遺跡へ。私と hatochan は18時の飛行機でジャカルタへ移動する予定でしたので、プランバナン寺院群まで行って、その後のビーチでの日没は見ずに分かれる予定でした。しかし、ボロブドゥール遺跡からプランバナンへの移動中にバスが故障。インドネシアでは良くあることのようです。結果、プランバナン寺院では30分しか滞在できず、我々のためにローカルメンバーがタクシーを用意して、荷物も移動させて、すぐに空港に向かえるようにしてくれました。

ジャカルタの旅

193-pa040025

帰りはジャカルタに立ち寄り、1泊しました。ジャカルタの開発は進んでおり、古い建物と高層ビルがミックスされています。交通機関も整備中で、観光ガイドには載っていないバス専用線の路線もできていました。

191-pa040015 203-pa040065

鉄道は空港にも行ける地下鉄が建設中です。既存の路線は日本からの中古車両(営団6000系とJR 205系)が配備され、今では郊外からの通勤手段になっているようです。

来年は

openSUSE.Asia Summit 2016 は多くのスタッフに支えられて実現しました。スタッフの裏方レポートが以下のブログで読めますので、ぜひみて下さい。

来年の openSUSE.Asia Summit 2017 は日本で開催しようと考えています。開催にはスタッフや当日のボランティアが必用です。ぜひ、ご協力をお願いします。

UI 向け日本語フォントを考える

By ftake @ 2016-08-20 15:34

Google と Adobe によって開発された Noto Sans フォント(源ノ角フォント)がリリースされ、openSUSE に取り込まれてからだいぶ経ちました。openSUSE では Noto シリーズのフォントに UI フォントを統一しようという流れが出てきています。Noto フォントの魅力は、幅広い言語の文字をサポートしている上に、様々なウェイト(太さ)をサポートしていることです。

一方で、Noto フォントはスマートフォンやタブレットなどの高解像度のディスプレイに合わせて開発されたせいなのか、KDE や GNOME アプリケーションでは、行の高さが大きすぎて、ちょっと微妙なレンダリング結果になるようです。

ここでは、現在の日本語フォント IPA Pゴシック、Noto Sans CJK Regular、Migu 1C Regular を比較してみます。Leap 42.1 に採用されている古い fontconfig はマルチウェイトフォントを正しく検索できないため、M17N リポジトリからの 2.12.0 を使いました。

また、サブピクセルレンダリングの効果を試すため、サブピクセルレンダリングを有効化※し、自分でビルドした FreeType 2.6.5 を使いました。
※特許で保護されているため、openSUSE では無効化されている

ft-view で比較

font-comparison-ft-view

まずは、ft-view によるレンダリングの比較です。上3つが Noto Sans CJK JP のレンダリング結果です。最上段の左と右はサブピクセルレンダリングの有無の比較です。「編」の字の縦棒がサブピクセルレンダリングの効果で分かりやすくなっていますが、劇的には変化はないようです。

Noto Sans の1段目と2段目はヒンティングの有無の比較です。「設」の字が分かりやすいのですが、ヒンティングを有効にすると、各文字が全体的に縦長に見える傾向があります。

3段目は IPA Pゴシックと、Migu 1C のレンダリング結果です。IPA Pゴシックは、他の2つのフォントに比べて、明らかに行の高さが小さくなっています。特に印刷物で使うには、行間が狭すぎることが多いです。一方、UI で使うときは、低解像度のディスプレイに文字を詰め込むために、この行間に慣れているのではないかと思います。

Migu 1C は M+ 1c ベースのフォントで、ひらがな・カタカナの字幅を小さくしたり、濁点・半濁点を大きくし読みやすくしたフォントです。横方向を狭くして詰め込む方法もまた、長らく使われてきた習慣だと思います。一方で、縦方向の行間は比較的広めで、Noto フォントと同じくらいです。

GTK アプリケーションのメニューのレンダリング比較

行の高さはアプリケーションの余白に大きく影響します。次の図は、GNOME の Nautilus で、動画ファイルを右クリックしたときに表示されるメニューの比較です。同じフォントサイズを指定しても、3つのフォントで1行分以上の差が出ます。

font-comparison-gnome-shell

ここで不思議なのが、Noto Sans と Migu 1C が、ft-view では差があまり無かったのにもかかわらず、メニューの高さはだいぶ異なるようです。フォントメトリックスの何かの違いが影響を与えていると思いますので、このあたりは今後調査してみます。

KDE の Kickoff ラウンチャー

最も差が出るのが、昔の KDE のラウンチャーの Kickoff です。Plasma 5 を使用している場合は、メニューのアイコンを右クリックして「Alternatives」から切り替えることができます。

font-comparison-plasma

ここまで差があると、不具合のような気もしますが、Noto Sans では、多くのノートPCの縦解像度 768 px を超えて、800 px ギリギリまで到達してしまいました。(この PC は 800 px あります)

まとめ

openSUSE では、さざなみフォントの後、IPA フォントが長らく使われてきましたが、FreeType との相性が悪い文字・記号や、太字が無いため、どこかで他のフォントに切り替えないといけないと考えています。

Noto Font は強力な候補なのですが、行間問題は様々なアプリケーションに影響がありそうなため、調査と対策が必用そうです。

M+ 系の(Bold がある)フォントも、本家 M+ フォントが10年の歳月をかけてJIS 第1水準を超えており、日本語のフォントという観点では引き続き選択肢となりそうです。

OSC 2016 Kyoto に出展しました

By ftake @ 2016-08-02 23:28

ちょっと仕事や Geeko Magazine で忙しかったので、どうするか迷ったものの、やはり京都は要望が大きい重要 OSC ということで、出展してきました。今回は名古屋~大阪エリアの openSUSE コミュニティのメンバー3人にも店番を手伝ってもらいました。(東京より多い?)

セミナーは openSUSE とは(あまり)関係なく、「OSS に貢献してみるには」という内容で行いました。15人ほどが集まり、何に興味があるかを聞いてみたところ、ほとんどの人はバグ報告とコーディングに興味があるようでした。翻訳も3分の1ほど興味がある人がいた一方で、パッケージングは0でした。(セミナーを通して、少しは興味を持って頂けたでしょうか?)

この内容はインドネシアで開催される openSUSE.Asia Summit でも話そうと思っています。

写真

恒例の写真です。スパークリング日本酒の澪の試飲会には驚きました。

01-P7300286 02-P7300290 03-P7300292

05-P7300297 11-P7300354 13-P7300306

8月14日はコミックマーケットで Geeko Magazine の頒布がありますので、お忘れ無く!

Geeko Magazine 2016 夏

By ftake @ 2016-07-25 00:11

geeko-magazine-2016-summer

Geeko Magazine Special Edition の4冊目、2016夏号をコミックマーケット C90 で頒布します。スペースは日曜日(3日目) 西3・4ホール f-13b です。東京オリンピックの準備が始まり、今年は今までの企業スペースがあったホールです。

今回は締め切りにも間に合い、オフセット印刷で冊数が十分にあるため、11月のOSC東京や KOF でも頒布できる見込みです。

内容は次の通りです

  • AutoYaST は使えるのか?
  • Web開発環境を作ってみよう
  • 自分用パケットキャプチャとか作ってみます?
  • Raspberry Pi 2 に Tumbleweed をインストールして秋月のIGZO液晶を接続してみた
  • 漫画: やすとちゃん
  • 小説: mini summit の後に

今回は表紙の書き手がいなかったため、Geeko の写真ですが、中身はいつも通りですので、お手にとって頂ければと思います。

今日は Windows や Mac でおなじみの商用のアンチウイルスソフト Sophos Antivirus の個人向け無償版のを Leap 42.1 にインストールする方法を紹介します。

まずはダウンロードします。以下の URL からダウンロードできます。
https://www.sophos.com/ja-jp/products/free-tools/sophos-antivirus-for-linux.aspx

ダウンロードまでの間に、氏名とメールアドレスなどを2回求められます。2回目は米国輸出管理法の輸出先の確認のためのようです。職業は「個人利用者」、会社名は「個人」とでもしておけばよいでしょう。

ここからはターミナルで作業です。ファイルを回答してインストーラーを走らせるだけです

tar xvf sav-linux-free-9.tgz
cd sophos-av
sudo install.sh

ここからはインストーラの指示に従って作業を進めます。まずは使用許諾契約に同意します。Enter キーを押して契約書を表示して、読んだあとに、Yキーで同意します。

ライセンス内容に同意しますか? はい(Y)/いいえ(N) [N]
> y

次にインストール先を求められます。特にこだわりがなければそのままで問題ありませんので、何も入力せずにEnterを押します。なお、インストール先には1GB程度の空き容量が必要なようです。

Sophos Anti-Virus のインストール先を指定してください。 [/opt/sophos-av]
>

アプリケーションからファイルにアクセスしたときに検索を行う、オンアクセス検索を有効にします。

オンアクセス検索を有効にしますか? はい(Y)/いいえ(N) [Y]
>

アップデートのダウンロード元です。そのままでOKです。

オートアップデートの種類を選択してください: ソフォス(s)/自社サーバー(o)/なし(n) [s]
>

今回は無償版を使うので f を入力します。

SAV for Linux の無償バージョン (f) と サポート対応付きバージョン (s) のどちらをインストールしますか? [s]
> f

プロキシは必要に応じて設定してください。

ソフォスからアップデートを行うためにプロキシが必要ですか? はい(Y)/いいえ(N) [N]
>

しばらくすると、インストールが終わります。動いているかを確認するには、savdstatus コマンドを使います。

sudo /opt/sophos-av/bin/savdstatus
Sophos Anti-Virus はアクティブで、オンアクセス検索を実行中です

openSUSE にこの方法でインストールすると、オンアクセス検索を行うために、fanotify とよばれるファイルへのアクセスイベントを捉える仕組みが使われます。現時点では fanotify を使った検索が、NFS と CIFS (Samba) で有効になっていると問題があるようです:
https://www.sophos.com/ja-jp/support/knowledgebase/14377.aspx

対策としては、NFS や CIFS でマウントしたディレクトリを検索対象から除外すれば良いようです。どうやって除外するかというと、savconfig コマンドの ExcludeFilePaths で、除外するファイルまたはディレクトリのパスを指定します。複数のパスを追加したいときは、繰り返しsavconfigを実行します:

sudo /opt/sophos-av/bin/savconfig add ExcludeFilePaths /path/to/dir1/
sudo /opt/sophos-av/bin/savconfig add ExcludeFilePaths /path/to/dir2/

除外する範囲は、ファイルシステム名でも指定できるようです。ExcludeFilesystems で除外するファイルシステムを指定します。ファイルシステムの名前は /proc/filesystems に書かれたものを入力すればよいそうです。

sudo /opt/sophos-av/bin/savconfig add ExcludeFilesystems nfs