Chienomi

MageiaからManjaroへ

radeon

Manjaroのセットアップ

Mageiaのパッケージ管理ツールのまずさというのが、「削除がうまくいかない」ことにある。Wineインストール時に一度選択して、その後選択解除するとごっそりパッケージを抜かれる。そして、もう一度選択しても抜くパッケージを選択してくれない。

わかっていたのにやってしまった。KDEやKDMなどがごっそり抜かれ、修復困難な状態に。動かない、ということはないのだが、グラフィカルスクリーンを立ち上げることができないため、諦めたほうが早い。

翌日(今日)がopenSUSE 13.2のリリースdayだったので、1日待ってopenSUSE 13.2にしようかとも思ったのだが、まずはManjaroに挑戦してみることにした。「あっ、やっちゃった」と思ってリブート前にManjaro Linux 0.8.10 XFce JPを焼いておいた。これは、以前のものからはちょっと更新されているほか、以前はライブCDの部屋のCinnamon日本語版だったが、今回はManjaro JPのものにした。

以前はGPGキーリングの問題が出てインストールできなくなってしまっていたが、今回はバージョンを上げて再チャレンジ。

しかし、以前のものはとりあえずXが落ちるところまではいくのだが、UEFIブートだとnomodeset, nokmsbootでもブートスプラッシュまで行かない。USBからのブート(BIOS)なら行くし、Xが落ちる。しかし、オプションなしではシステムが落ちる。

UEFIの場合、グラフィックタイプ別のmodeset設定がされており、それを消せばnoXまでは行く。しかし、CUI testingインストーラではいまいちうまくインストールできない。CUI stableインストーラでBIOSブート、というのも悔しいのでいろいろ試していると、nokmsboot+nomodeset+non-free driversでいける、ということがわかった。これであればライブ起動するため、「普通に」インストールできる。

「普通に」UEFIブートでGPT使ってインストールしたところ、UEFIのブートメニューにmanjaroという項目が登場する。これであとは起動時にブートオプションをつけることを忘れなければ(eキーでeditし、linuxの行にnomodeset,nokmsbootの2項目を追加)普通に起動できる。が、アップデートできない(!)

gnupg cannot locally signのエラーが出るのだ。これは以前と同じ問題。ここで躓いてしまうと諦めるしかない。調べると、答えが載っていた!(以前はなかった)

Manjaroフォーラムの情報に従い

# mv /etc/pacman.d/gnupg /etc/pacman.d/gnupgold # pacman-key --init # pacman-key --populate archlinux manjaro # pacman-key --refresh

とすることで進む(--initはかなり時間がかかる)。が、やはり検証できない鍵があり、アップデートに失敗する。

ネットランナーの記事を参考に

# sudo pacman-key -r 604F8BA2 # sudo pacman-key --lsign-key 604F8BA2 # sudo pacman-key -r AC97B894 # sudo pacman-key --lsign-key AC97B894

とすると通った。

あとは以前の通り、Forumの情報にしたがって

# pacman -Syu # aticonfig --initial # mhwd-kernel -i linux314

でいける。314でなくても良い気もするが、とりあえず314にしておいた。これでCatalystで起動してくれる。

Manjaroは比較的豊富なパッケージを導入している。encfs, ecryptfs, btrfs, LVMなども最初から入れており、比較的難なく継続利用することができる。

ただし、UIDが1000、GID(users)が100を割り当てるため、互換性に乏しい。ここは統一ルールとして

  • 一般ユーザーのUIDは1000から始める
  • usersグループのGIDは500にする

というルールを設けてvipw及びvigrで編集する。

さらにホールディレクトリの設定は不十分だったので、これも改善しておく。基本的に共有される部分が~/shareにマウントされるサブボリュームであり、ホームディレクトリ直下で使われるものについてはシンボリックリンクで対応する。

home-aki-shareサブボリュームはすでに用意されているが、これまでhomeサブボリュームに自身のホームディレクトリが含まれていた。homeサブボリュームを新たに作り、従来のhomeサブボリュームは「Mageiaのhome」と理解する。また、統一ルールのため、従来のshareサブボリュームについては、chown -R aki:users /mnt/4することで修正する。もちろん、「Mageiaのhome」に未整理のまま取り残されているファイルも存在する。だが、ホーム直下に置き去りにすることはあまりないので影響は少ない、はずだ。こういう時のために~/home/share/jumbleディレクトリでも用意しておこうか。(本来はshare直下にそれをする予定だった)

基本的なものは揃っているが、zsh, git, ruby, sox, fetchmail, claws-mailがないためそのままでは動かない(vlcに関してはMageiaで作りこんだ仕様よりも気持ちよく動く)。これらをインストール。また、mikutterのためにはbundlerをインストールした上でbundleする必要がある。また、iron(SRWare iron)はライブラリがないため動かないし、ironはAURにもない。ただし、MaxthonやOpera developerはAURに存在する。

AURにはlvとnkfもあるので、これも導入しておく。

fontconfigに関してはlocal.confもUserconfも反映してくれない。優先度を99にしても反映されない。これについてはわからないのでpending.

次にオーディオ設定だが、デフォルトでpulseaudioに依存したシステムを組んでいるのでなかなかややこしい。pulseaudioを消すことはできるが、そうするとそのままでは鳴らないプログラムもあるかもしれない。

pulseaudioがなぜ嫌かというと、まぁ、強制的に16bit/48Khzにするからであり、音が悪いからなのだ。USBオーディオインターフェイスを使っている(24bit/92kHz)私としては「なんとももったいない」。ただし、実際はハイレゾ音源なんて制作以外で扱うことは滅多にないし、pulseaudioを外したところで快適なプレイヤーで再生する状況ではないので、わざわざpulseaudioをパージしなくても、どうしても聴きたい時だけalsaplayerだと思うが。

pulseaudioとはなにかというと、簡単に言えばオーディオドライバに対する高レベルAPI(サウンドサーバー)だ。pulseaudioを経由してesound, oss, alsaといったサウンドサーバー、サウンドドライバーから音を出すことができ、扱いやすく統一した取り扱いを提供する。つまり、プログラマ的、コンピュータ的な論理化、抽象化を提供するレイヤーというわけだ。もしかしたらpulseaudio-jackなんてものもあるかもしれない。だが、確実に鳴らすために16bit/48kHzに変換するし、そこで遅延が生じるし音も悪くなる、という。

ALSAでがんばってみたのだが、Audio4DJは4chあり、Cahnnel B(Headphone monitor)から出したいのだが、ALSAだとChannel Aから出てしまう。結局諦めて、pulseaudio-managerの設定でデバイスを設定(デバイスごとに出力チャンネルが選べるので、Amarok起動状態でAudio4DJのチャンネルをBにし、Amarokの出力をAudio4DJにする)することでAmarokでスピーカーが鳴らせるようになった。

AmarokはGstreamer backendでPulseaudio経由の設定でビルドされている。Xine backendのほうが音がいいのに…Pulseaudioの音はちょっと平べったいけれど、割とスムーズなのと、従来(AmarokでPhononがAudio4DJを出力デバイスにする)はフォーマットが異なる場合などに音が鳴らないままシークが進み、音がバグるトラブルがあったが、それがない。I doというmp3の音源はまともに再生できなかった、ということも解消された。遅延はあるにせよコントロールはしっかりしているので、必ずしも「音が悪い」とは言えないかもしれない。ちゃんと安定して演奏できることは大事だろう。「いい音で聴きたい音楽のみAmarokを使うことで確実にAudio4DJ+Sonyスピーカーから出て、他の音はlogicoolスピーカーから出る、という扱いの良さや意図した通り環境によらず鳴ってくれる点を含めてもしかしたら結構いいのかもしれない。

Manjaro XFce JPの使い心地

ManjaroはManjaro+Arch+AURのリポジトリを使う。AURのパッケージはかなり多く、UbuntuやopenSUSEに匹敵するパッケージがある。また、AURに集約されているため、レベルの高いユーザーの成果物がダイレクトに利用できるというのが非常に大きな魅力となっている。

ただし、もともとArchは最低限のパッケージを導入して使うものなので、それを色々入れて「初心者向け」にしていることの破綻はある。

まず、パッケージインストーラが「ひとつずつインストールを選択する」ことや、「最低限の依存パッケージをchoiceしようとする」ということがまず多くの、そして完成された高機能なソフトウェアシステムを求める人にとっては環境づくりのハードルが高いし、あまり色々いれるともともとあれもこれも入れて選択するような使い方を推奨していないのでトラブルの原因にもなる。「どのパッケージが必要か」分かっている人が余計なものは入れない方向で使うようにしないと機能しないシステムが出来上がりそうだ。

全体にはパッケージは早いがFedoraほどは早くない。それに、パッチ当てなどにあまり熱心でない(必要なら自分でやれ、というのもある)ので、性能や機能面で劣る場合もある。速さはあまりない。また、日本では人気はそれなりにあるが、日本語環境はかなり悪く(それでもMageiaよりはかなりマシだが)、パッケージやオプションが日本での使用に適さないこともある。Archは必要ならABSを使って調整するものなので、あまり余計なものを入れているといろいろ苦しい。

さらに、Japanese Fontを入れようとしたらAURにあるものはかなりがビルドに失敗する(理由は提示されない)ということもあるし、システムへの理解が足りない初心者には決して易しくない、と思う。それでいえばChakraのほうがいいのではないか。パッケージはかなり少ないし日本語は絶望的だが。

Manjaroの情報は少ないが、Forumに結構情報があるし、ベースのArchのwiki(極めて充実している)がほとんどそのまま適用できるため、総合的には情報はむしろ多い。configuration toolの類は少なく、Manjaroが調整を入れているパッケージはあまり多くない。Ubuntuもその点はあまり変わらないが、openSUSEのような「あまりわからなくてもなんとかなる」要素は希薄。

XFceはかなり進化していて、使い心地は非常に良い。のだが、細かな設定ができず使いにくい面もある。例えば、デスクトップのエッジでは4方向に(コーナーはない)最大化してくれるが、ワークスペースを使っていると、ワークスペースとつながっている部分はそのまま通り抜けてしまうようになっている。この点について、とおりぬけるかどうかの設定はない。Notify-sendの対応も悪くはないのだが、邪魔になることがある。また、KDEのようにテーマを容易に導入することもできない。

ファミリーアプリの貧弱さに関しては、最低限のインストールができるようになっているために、kateやgwenview, amarokなどを使うこともできる。ただし、この場合はkdelibがロードされるためメモリーは必要になる。とはいえパッケージでごちゃごちゃすることは回避できる。

KDEを使うこともできるが、使用するパッケージが多く依存関係も深いため、システムのメンテナンスはおそらくかなり大変になる。KDEは好きだが、そこまでするかどうかは悩みどころ。どちらかといえばAwesomeやXmonadを入れたほうがいいだろう。

XFceは使うことは想定した調整になっているが、システム音がないなど作りこまれているという感じではない。