2015/01/14

ThinkPad X1 Carbon 2nd Gen (20A7)にGentooを入れる

一通り動くのに2週間もかかるとは・・・完全に脳が腐っている。

15年程前までは「家ではWindowsなんて使わねーゼ」とばかりに当時持ってたDOS/VなPC(九十九電気オリジナルのデスクトップ、Dynabook SS-R575)にはLinux(多分、SlackwareとかPlamo?)、PC-98にはFreeBSD(98)とかそんなんばっか使ってた。(まぁ、厨二病的な部分もなくはない。中古のSPARCstation LXにRedHat入れたりもしたなぁ・・・ナツカシス)

特にここ6~7年は家でPC-UNIX系を使う機会がめっきり減って、ディストリビューションやシステムの変化についていけなくなってたんだけど、去年の春10年ぶりぐらいに「今時スペック」なPCを買って「さぁLinux入れてやるか!」と思いつつ早半年以上・・・

去年の年末休みに入ってようやく本格的に着手した(おせーよ(笑))。

いや、まぁ、Windowsでもそこそこの環境ができてたし、QippisとかもWindows上のSailfishOS SDKで開発したしね。←と言い訳してみる。

つー訳で、今時はとりあえず「サクっと」Linux Desktopが使えれば良いって話であればUbuntu辺りなのかとも思ったけど、思い切って(?)Gentooにしてみた。
2000年~2005年ぐらいにお世話になっていたディストリビューションで、もはやあの頃どうやって使っていたかあまり良く覚えてない部分も多かったんだけど、幸いにも身近にGentooウィザードがいらっしゃったりしたので随分と助けて頂いた。とてもありがたいことなのであった。

とりあえず、細かい手順は省略(ぉぃ
概ね以下のサイトを参考に、systemdな環境を作ってみた。
他にもたくさんのWebサイトの助けを得た。先人の記録に感謝。
インストール対象は、ThinkPad X1 Carbonの第2世代(20A7)。恥ずかしながら今回これを買うまでUEFI(Unified Extensible Firmware Interface)なんていうものの存在を認知してなくて、購入後1か月ぐらいの頃に「ちょっくらやってみるかー」ってLiveDVDやBootableUSBからインストーラを起動させようとするも、結局起動できるようになるまでに1週間ぐらいかかった(まぁ、仕事忙しかったのもあるけど)。まさに浦島太郎状態!

んでもって、最近の流行はsystemdってことで、まぁ、systemd化するだけならドキュメントに沿って作業すればいいんだけど、OpenRCと勝手が随分違うからその後のセットアップに手間取った。でも、まぁ、基本的には起動用のファイルがあって登録するのは同じなのかな。OpenRCより依存関係(起動の順序的なものとか)がしっかりしてるみたいな感じ?

一通り足回りの設定が済んだらxorg-serverを導入。最近のxorgは手間かかんないねー(と言いつつ結構ハマった)。素のXを起動した時、以前なら白黒ザラザラな背景だったんだけど、真っ黒になる。最初やった時マウスもキーボードも効かなくなってちょっと大変だったw
ともかく、videoのドライバはintelでOK。ポインタ周りはsynapticsを入れないとダメっぽい。

デスクトップ環境はKDE5にしたくて、"layman -a kde"でKDE関係のOverlayを適用して、"@kde-frameworks"、"@kde-plasma"、"sddm-kmc"辺りを導入。

Overlayとかは特に依存関係とかmaskの関係が大変だけど、最近はemergeに"--autounmask-write"なんてオプションを付ければ必要なkeyword、unmask、useを提案してくれる。すげー便利になったもんだ。
ただ、これ、「今まさに入れようとしてる」パッケージに対してバージョン指定で提案されるので、例えばunmaskして入れたパッケージがバージョンアップされる度に調整が必要になる。
入れる時はオプション使って追記すればいいけど、後から"/etc/portage/package.*"の中身を確認・調整しておいた方が良さそうだ。
あと、当然ながらoverlayのパッケージはビルドが通らないケースもままある。自分で調整するとか、入れるバージョンを見直すとか細かいフォローが必要だ。
(しかも最近はUSEフラグにmask/unmaskがあるんだと・・・全然知らんかったwww)

一通り入れて、"systemctl enable sddm.service"とかしとけばとりあえずグラフィカルなログイン画面が起動するようになる。←説明ざっくりし過ぎだろ!www

んでもって日本語入力にはqimsysを導入。
変換エンジンにはanthyを。(他にもGoogle日本語入力のヤツとかが使えるらしい。個人的にはSKKが使いたかったりしなくもないw)
ebuildも公開されてなくはないんだけど作者の人曰く「腐ってる」そうなので、とりあえずソースを取り寄せて自分でbuild&install。
$ git clone git://git.qtquick.me/qimsys.git
$ mkdir qimsys_build
$ cd qimsys_build
$ ../qimsys/configure.rb
$ make
$ su
# make install
# env-update
rubyがインストール済みでない場合「configure.rb」が動かない。「qmake ../qimsys」でもビルドできるけど、バイナリが/binにインストールされたり、本来/usr/shareにあるべきファイルが/shareに置かれたりするので適宜調整が必要かも。(とりあえず、動くんだけどね。)→最新のソースで、一応「qmake ../qimsys」→「make」でも良くなったはず。

あとは、「KDE システム設定」→「起動と終了」→「自動起動」→「プログラムを追加」でqimsysを追加する。それから"~/.bash_profile"辺りに以下の環境変数をセット。
export XMODIFIERS=@im=qimsys
export GTK_IM_MODULE=qimsys
export QT_IM_MODULE=qimsys
これで行けるはずだったんだけど、どうにもブラウザとかで日本語入力ができない。twitterでぼやいてたら以下のコマンドで使えるのでは?とアドバイスを受けた
$ gtk-query-immodule --update-cache
・・・バッチリだった!
IMEの起動は「Alt + `」らしいんだけどちょっとうまくいかず、結局「半角/全角」キーでtoggleしている。

あと、QtCreatorの3.2.2をebuildから入れようとしたんだけどビルドでコケるので、これもソースを取ってきて手動で入れた(Qtライブラリ自体は5.4系をemergeしてある)。

SailfishOS SDKに必要なVirtualBoxはここを参考にさせていただいた。
prototype020.info: SailfishOS SDKをGentoo Linux x64にインストールする
ありがたや。

っつー訳で、そこそこ最低限は使えるものになったが、あともうひとつ。せっかくのノートPCなワケだから、好きな時に使えて好きな時に中断(suspend)したいワケなんだけど、何故かSuspend to RAMがうまくいかない・・・
もともと20A7のタイプにはこれがうまくいかないバグがあったっぽいんだけど、大抵どこのサイトを見ても「BIOSを1.13以上にすればOK」みたいな話にもかかわらず、最終的に1.19まで上げてもちゃんと動く気配がない・・・

動作としては、どうもsuspendはちゃんとしてるみたいで、でも蓋をあけても電源キー押しても他のキーボードを操作してもresumeしない・・・帰ってこれないのである。

とりあえず思い立ってここを参考にSuspend to Diskを動かしてみたら、あらフツーに使えるじゃない・・・???

ってことで、to RAMと比べるとレジュームに時間がかかるのが難点ではあるけど、「シャットダウンするよりはマシ」っていうことで、「蓋を閉じるとHibernateする」設定に変更し、めでたく多少外に持ち出しても大丈夫そうな状態になったとさ(笑)

というワケで去年の年末から作業をスターとして、それなりに動くようになったのは1/12と、なんと2週間もかかってしまったのだ。もともとタコっぽいユーザだったのが輪をかけてタコっぽくなってしまったが、とりあえずWindowsの時と比べてアプリのビルドが早くなったりSailfishOS Emulatorとか機敏になったりしてる気がして、なかなかに快適な気がしてる。
開発環境としてもスタートラインには立ったので、さてこれから何に挑戦しようかな・・・
・・・もちろん、決してはりきったりはしないよ!(ぉ

0 件のコメント: