分12前回はPlamo-7.0の特徴を簡単に紹介しました。Linuxの仕組みや内部構造について解説していこうと思います。最初に取りあげるのは,ユーザへの影響が大きい文字コードに関する話題です。前回も触れたように,Plamo-7.0ではデフォルトの文字コードをEUC-JPからUTF-8に変更しています。この設定はログイン時に実行される~/.bashrcから,ja_JP.UTF-8を引数にして~/.set_lang_bshを実行することで行っています。行番号をつけ,終了後に画面を残すここで使っている~/.set_lang_bshは,Bsh系が使うLANG環境変数をexportするためのコードです。LANGこのコードを独立したファイルにしているのは,必要に応じてこのファイルをsourceすることで,動的に文字コードを切り替えれるようにするためです。(EUC-JP)⁠」⁠)⁠。利用する文字コードを動的に切り替えこの~/.bashrcは新規ユーザを登録するadduserコマンドが作成します。adduserを起動すると,登録したいユーザのログイン名やユーザID,グループ名に加え,日本語localeの設定やウィンドウマネージャ,日本語入力等の設定を尋ねられます。ログイン名以外の設定はあらかじめデフォルト値が用意されているので,そのままでいい場合はEnterを入力するだけで進みます。デフォルト値以外も指定できるので,ロケールにja_JP.eucJPを使い続けることも可能なものの,デフォルト値以外の設定はテストが十分ではないため,何らかの不具合が生じるかも知れません。Linuxのメーリングリストなどにご報告いただければ,可能な限り対応するつもりです。Linuxの特徴の一つは「日本語をコンソールに直接表示できる」ことです。System上ではfreetypeやcairo,pango/harfbuzzといったフォント描画やテキスト処理用の各種ライブラリが揃っているのに対し,Xを使わないコンソール環境では日本語を扱えるターミナルエミュレータを使うか,カーネルにパッチをあてて日本語を表示可能にするかぐらいの選択肢しかありません。linux)と呼ばれるターミナルエミュレータを使ってコンソール上で日本語を表示していました。今から考えると笑い話ですが,インストーラをFD1枚に収まるサイズにするため,日本語のフォントファイルからインストール時のメッセージに出てくる文字のフォントのみを抽出する,みたいなこともしていました。その後,linux-2.xの時代になると,konの開発終了と入れ替わるように,uniconと呼ばれるカーネルパッチが現われました。uniconは,linuxカーネルのコンソールドライバを改造して,漢字のようなマルチバイト文字を表示可能にするパッチで,この修正を加えたカーネルはターミナルエミュレータ無しでコンソールに日本語を表示できます。UNICONという名称で公開していました。unicon機能を使えばカーネルのみで日本語が表示できるようになるものの,そのためにはカーネルに日本語フォントを組み込まなければなりません。そのような特定の言語のみに対応した実装はカーネル開発者たちの好むところではないため,このパッチが本家のソースコードに取り込まれることはないでしょう。Linuxなものの,uniconパッチは全面的に採用し,その後,daiさんがlinux-2.6.31対応で開発を終了した後も使い続けて,Plamo-6.xまでuniconでコンソールに日本語を表示していました。ところが,このuniconはUTF-8には対応していないため,デフォルトの文字コードをUTF-8にしようと考えていたPlamo-7では利用できません。そこで代替案をあれこれ探し,一時期はkmsconと呼ばれるKMS機能を使ったターミナルエミュレータも検討したものの,最終的にはgentoo-zh方面で開発されたlinux-cjkttyと呼ばれるカーネルパッチを採用し,unicon同様,カーネル自身にUTF-8な日本語を表示させることにしました。図2はPlamo-7.0のインストーラ画面で,Plamo-6.xまでと同じに見えるものの,uniconではなくlinux-cjkttyを使って,メッセージの文字コードもUTF-8になっています。Plamo-7.0のインストーラ画面なお,linux-cjkttyはUTF-8決め打ちなので,EUC-JPな文字コードは正しく表示できません。前節で紹介したように,X上ならば端末ソフトの文字コードを変更することで以前のja_JP.eucJPな環境も利用できるものの,コンソール上での日本語表示はja_JP.UTF-8に限られるのでご注意ください。Linuxとりまとめ役。人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。