fc2ブログ

sidなどでアップグレードの際にXを止めた方が良い理由を考える

例えば、Debian sid をベースにして定期的にライブCD、つまりCD/DVDから起動するOSとしてリリースされていたsiduxでは、ハードディスクにインストールして使う場合には、dist-upgradeをする前にX (Debianや多くのGNU/Linux環境におけるGUIの根幹システムですね) を止めるようマニュアルで指示されていました。siduxの後継とされるaptosidというディストリビューションでも、マニュアルに「決して決して、絶対にdist-upgradeやupgradeをXの上から行わないこと」と書かれています。

この理由はよく分かりません。俺はsidを使いはじめてからは一応gdmを止めてアップグレードしていました ( ps -ef コマンドの返りを見るとこれでほとんどX関係のものは止まるように見える) が、DebianでもこうするべきだとするDebian公式の文書は見たことがありません。が、しばらくDebianを使ってきて、心当たりもあります。今日はそれについて書いてみたいと思います。



sidを使っていて、dist-upgradeをする際には一応gdmを止めていると書きましたが、たまに忘れることがあります。しかし、癖をつけようとは思っているので、Ctrl+Alt+F1キーを押してtty1コンソール上からアップグレードすることは確実にやっています。xterm上からは絶対にこの作業をやりません。それで難を逃れたのかもしれませんが…

sidは他のOSならばリリースによる、つまりWindowsならXPからVista、Vistaから7といった具合の大きな変更が、アップデートの形で入ってきます。それをほとんど無停止で行えるというのがaptの素晴らしいところなんですが。たまに、不注意でgdmを止め忘れてdist-upgrade作業をやっていると、gdmの再起動を促されることがあります。何かこれに関連する重要なアップグレードがあったんでしょう。で、何も考えずにyesとやると、gdmが再起動されて、dist-upgradeの作業が終わってもいないのにグラフィカルなログイン画面が表示されちゃうわけですよ。

そこへ来て「しまった!」と思うわけですが、tty1コンソールが閉じられたわけではないので、もう一度Ctrl+Alt+F1キーを押すとアップグレード作業の画面に戻って、作業が続いていることを確認できて一安心というわけです。でもこれが、GNOMEターミナルとか、xterm上でやっていた作業だったらどうなんでしょう?実はこれも経験があります。



まだ俺が Debian etch 安定版のインストールにはじめて成功してからそう日も経っていない頃、GNOMEとKDEという二大デスクトップ環境のどちらが使い良いかを調べるため、両方をインストールしたり削除したりしていたんです。デフォルトではGNOMEが入っているので、KDEを追加したのですな。KDEとGNOMEは共存には問題ありません。使い分けも、ディスプレイマネージャのログイン画面から選択する事ができますし、アプリケーション群も相互乗り入れが可能です。

が。GNOMEの画面にKDEアプリケーションが、逆にKDEの画面にGNOMEアプリケーションが起動しているのも、あまり美しくないと当時の俺は感じたのです。また、デスクトップ環境付属のアプリケーションは機能がかぶっているものも多く、 (メニューのカスタマイズという機能を知らなかった当時の俺は) 双方のアプリケーションがメニューに表示されてメニューがぐちゃぐちゃになるのに耐えられませんでした。

で、KDEを入れたらGNOME関連のパッケージはiceweasel (Firefox) 以外ことごとく削除し、しばらく使っていたんですな。そして、やはりGNOMEに戻ろうという時、「メニューがぐちゃぐちゃになるのに耐えられ」ない俺は、一旦KDEを削除してからGNOMEをインストールしようとしたんです。

Kterm上から。

ええ、案の定途中で止まりましたよ。その後、tty1コンソールからログインして削除され損なったものたちを探して削除し、同じくtty1上からGNOMEを入れることでその場は収まりましたが。



こういうことではないでしょうか。Windowsなんかでは、あるアプリケーションをアップグレードする時に、そのアプリケーションが起動中だと、まずそれを終了させてくれと警告が出ることが結構あります。そういうふうにそのものの起動中はできないアップグレードというものもあるんですよ。sidではそれが日常的にあり得えるんです。で、Xの終了・再起動を伴わなければならないアップグレードがある時に、その作業をX上でやっていたら…アップグレード作業が途中で止まってシステムが不安定な形で放置されるわけですから、最悪どこかおかしくなったりするかも知れません。

それだったらttyコンソールに移動すればよいだけでXを止める必要はなさそうですが、それにも意味はあると思います。自ら能動的にXを止める癖がつけば、X上で作業中のデータを失うことも少なくなるかと。普通、その前に保存するでしょ。

ちなみに、俺はinitを書き換えることでgdmの起動終了をしていましたが、このinitというやつ、将来的にはなくなるものなのしょうか?Ubuntuはinitをupstartというものに置き換えたそうで、ubuntu10.04の /etc/rc*.d/ を見てみましたが、gdmらしきものがありませんでした。Debianもsqueezeからこちらを採用するとwikipediaには書いてあります (ただし、今日現在のうちのsidには入っていないようです) し、これはもう忘れた方がいいのかもしれません。

上に書いた俺の経験から行くと、わざわざXを停止させなくてもtty1コンソールからdist-upgradeをするよう心がければ問題はなさそうですが、Xを停止した方が良いのならば

# /etc/init.d/gdm3 stop

たぶん、これがいいと思います。これはUbuntu10.04でも使えました。起動する場合は

# /etc/init.d/gdm3 start

で。そうそう、GNOMEの2.22以降gdmはgdm3に置き換えられたようです。とは言ってもgdmを使っている環境はまだ多いでしょう。俺もsidをしばらく使っていますが、置き換えられたのはつい最近のことです。gdmを使っている環境では"3"を外してください。

テーマ : Linux
ジャンル : コンピュータ

Takao/IPAフォントが汚いのを何とかする

前に日本語の高品質フォントとしてIPAフォントを紹介しました。このIPAフォント、その後バージョンアップされてTrueTypeフォントからOpenTypeフォントとなり、またバージョン003系列のものからライセンスが変更となり派生が可能になったらしく、改善を盛り込んだフォントがいくつか出てきています。Takaoフォントとか、MS Pゴシックに幅を合わせてアスキーアートがズレないようにしたMonapoフォントとか…どれも、squeeze以降のDebianのメインリポジトリからインストールできます。

で、それを使ってみようと思ったのですが、どうもきたないんですよ。前のIPAフォントでもそんなことがありましたな。あれは埋め込みビットマップフォントが表示されていたという話で、~/.fonts.confを編集することで綺麗になりました。

しかし、今度の場合はこの設定をしても全然効果が見られません。で、よくお世話になっているDebian GNU/Linux スレッドテンプレさんを覗いてみると…

日本語 TrueType フォントのヒンティングを無効にする
フリーの日本語 TrueType フォントの大半はヒント情報があまり良くなく、ヒンティングを無効にした方がきれいに見えることが多いようです

このような項目を発見。しかし、ここにあるものは何やら面倒くさそうなのでそのひとつ下の日本語フォントのヒンティングを一括で無効にするを実践。

# vi /etc/fonts/conf.d/15-unhint-ja.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

<match target="font">
<test name="lang" compare="eq">
<string>ja</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>

</fontconfig>

これを保存すると、アプリケーションのインターフェースのフォントに設定していたTakaoフォントが一呼吸の間を置いて綺麗になり、ブラウザに表示されていた汚い字も再読み込みをすることで綺麗になりました。



…と、思ったんですがね。もっと簡単な方法がありました。この/etc/fonts/conf.d/というディレクトリを見ていると、お隣の/etc/fonts/conf.avail/というディレクトリからシンボリックリンクしているものが多いんですな。おそらくは/etc/fonts/conf.d/が実設定のディレクトリで、../conf.avail/はひな形じゃないかと。てことは、何か../conf.avail/におもしろそうなものがあるんじゃないか?覗いてみると…

ありますね。10-unhinted.conf。一応内容を見てみると。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Disable hinting -->
<match target="font">
<edit name="hinting" mode="assign"><bool>false</bool></edit>
</match>
</fontconfig>

あー、これでよさそうじゃない?というわけで、こいつにシンボリックリンク。

# cd /etc/fonts/conf.d
# ln -s ../conf.avail/10-unhinted.conf ./

これでも効果がありました。これだと日本語に関わらず全てのフォントにかかるのだと思われるので、その辺はお好みでしょうかね。

テーマ : Linux
ジャンル : コンピュータ

Android搭載ネットブックが発売された

前にAndroid搭載ネットブックの話を取り上げましたが、とうとう国内メーカーから出たようですよ!

外見はノートPC、中身はスマートフォン:おススメ新製品

タイトルでは「スマートフォン」とありますが、ネットブックでしょう (OSがAndroidということをわかりやすく「スマートフォン」と表したのだと思いますが、少なくとも携帯電話の端末ではありませんよね) 。Androidをネットブックで使うというのも非常に気になりますが、これにフルサイズのLinuxが入るのかも気になります。CPUがちょっと聞いたことのないものですが、メインメモリは512MB、補助記憶装置はSSDで16GB、何とかなりそうな数値でもあります。

Tegraなるこの聞いたことのないCPU、WikipediaによるとARM系だそうで、残念ながらWindowsは動きません。しかし、DebianはARMに移植されているので、それが使えないかなーと思うわけです。見本市のデモンストレーションで動作させたものもあったようですが… (【PC Watch】 【COMPUTEX 2009レポート】NVIDIA、Tegraベースのネットブックなど多数のデザインウインを明らかに ~国内キャリアからも登場か)

なお、俺が期待した消費電力・駆動時間ですが…確かに同社のネットブック比べてかなりの低消費電力・長時間駆動になっていますが、これはSSDによる分が大きそうですね…ご存知の通り、ハードディスクをフラッシュメモリによるソリッドステートドライブに置き換えると、駆動にモーターを必要としない分かなりの消費電力低減が期待できると言われています。

んー、ま、そりゃそっか。電気を食うのはCPUだけではないものね。それにノートの場合だとディスプレイもありますし、例えCPUの消費電力をゼロにできたとしてもそんなに駆動時間を伸ばすことはできないのかな、そのことは前に気がついておくべきだったかもしれません。メインボード単位で数ワットしか電気を食わないBeagleboardのことを引き合いに出しましたが、あれだってハードディスクを接続したら結局消費電力は二桁行くでしょうからね。 (参考 : BeagleBoard とは - Linuxキーワード:ITpro)

ただまあ、パソコンにインテルのx86以外の選択肢というのは今までなかったので、こういうのが増えるとおもしろいだろうなと思います。前に日経PCさんの記事だったかITMediaさんの記事だったか忘れましたが、インテルのx86プロセッサが古い設計にも関わらず市場で強い理由として、このプロセッサのために書かれたプログラム資産の圧倒的な多さ、というのが挙げられていました。しかし、Linuxとその周辺ソフトウェアはさまざまなプラットフォームに移植されています。Unixで開発されWindowsに移植されているアプリケーションも多いですし、Windows自体もNT系は実は移植性が高いと聞きます。ですから、非インテル系のCPUが市場の注目を浴びることを期待します。マックもインテルになっちゃったことだし。

テーマ : コンピュータ関連ニュース
ジャンル : コンピュータ

プロフィール

ざっぱー

Author:ざっぱー
(この画像について)

当ブログについて
メール
(このメールアドレスへの特定電子メール (迷惑メール) の送信はお断りします)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク