ThinkPad X1 Carbon
2012年8月末に注文し、9月14日に受け取る。三年半使い続けた WXGA+ なThinkPad X200s の後継機を探していたのだが、何時まで待ってもX200系で高解像度モデルが出ないので、その代わりとして購入。(SSD が汎用でないこと、バッテリ交換ができないことなどがマイナスなんだけどね...)
ThinkPad 20周年にあたるということで力を入れて作られたらしい。また初の ThinkPad の Ultrabook だとか。MacBook Air 13inch とほとんど同じ大きさ(R0010404.JPG )なのに 14inch の高解像度 1600x900 HD+ 液晶を持つ、薄いスタイリッシュな ThinkPad である。天板は人工衛星に使われるクラスのカーボンファイバー、ボディはマグネシウム合金だとか。
もちろん ThinkPad であるから、メンテナンスマニュアルも用意されており、自分である程度のメンテナンスが可能。(いきなり開けた写真→ R0010405.JPG)
いつものように Linux (Plamo Linux) を入れて使います。時間もあまり無いし、少しずつ設定していくことにする。
メモ
- BIOS setup 画面に入るには、起動時に F1 を押下
- 起動デバイスの選択は、F12 を押下
- lspci -v > lspci-v.txt
まずは領域確保
Ubuntu の CD で起動して、gparted を使い、Windoze の入っているパーティションをぶった切る。
本当は Windoze とかは抹消してしまいたいのだが、指紋認証の情報を作成 & 格納するのに必要だったような気がする。(違うかもしれない)
とりあえず、Windows7 の入っている C ドライブを最小限(30GB)残して、未割り当て領域を185GB ほど確保する。あとはこの 185GB の未使用領域中に Linux を入れればよい。 このままでは primary パーティションが足りないので、Lenovo Recovery (Q:) のパーティションを開放して拡張パーティションに。system_drv パーティション、30GB に減らした windows7_os パーティション、多分 Intel Rapid Start 用の休止パーティションの 3つは念のため残しておく。
Ubuntu 12.10
パーティションを幾つか作成したので、一番後ろ(/dev/sda9)に ubuntu を入れておいた。もし面倒なことはしたくないのであれば、ubuntu をお勧めする。(unity は微妙だけど...)インストールしただけで簡単にほぼ全ての機能(すべては確認していない)が使えた。
wireless
Intel Centrino Advanced-N 6205 なので、intellinuxwireless.org から iwlwifi-6000g2a-ucode を取ってきて展開して、/lib/firmware/ の中に。
wpa_supplicant.conf 等を用意して、wireless 接続設定完了
hotkey
輝度調整とかのキーが働かない。電源投入直後は効いているし、ubuntu (12.04) だと問題なく動くので、何らかの設定(acpi?)の問題。
その後、kernel rebuild して fb cosole にしたら、起動調整キーは動作するようになった。
しかし xorg の driver を vesa にしていると、画面全体が上にずれてしまう。(ちなみに console が fb でなければ位置はずれない。) 位置調整なら xvidtune で mode line を調べればいいかなと思ったが、「調整できんよ」と言われたので、xorg の driver を intel にする方向に。
Graphic chip
この X1 carbon の graphic chip は Intel HD Graphics 4000 というチップ。ところがかなり新しい chip なので xorg の最新の intel driver でないと対応していない。
一方、Plamo64-1.0 に入っている intel driver は少し古いのでこの chip には対応していない。そこで、最新の xf86-driver-intel 他、Mesa だとかを自前 build した。( xorg は driver 一つ新しくしようとすると芋づる的にいろんな package をアップデートする必要があるので面倒。)
あれこれ package を入れて出来たと思って、intel driver で起動するように xorg.conf を修正してテストしてみたら、、、あ、キーボードやポインティングでバイスが動かない!!! なんてこった。 input まわりの package もアップデートする必要があることが分かった。
ちょっと面倒だなと横着心を抱き、plamo の ftp download サイトを見てみたら、、、新しい package 群があるじゃないか!そこで wget で関連する package 群(00_base, 01_minimum, 02_x11)を落としてきて更新するとあっさり intel driver が使えるようになった。vesa で生じていたような画面のずれも発生しない。もちろん輝度調整も ok。
touchpad
最近の ThinkPad には trackpoint だけでなく touchpad が付いている。普段の利用時 touchpad は邪魔なだけなので、synclient で止めておく
synclient TouchpadOff=1
使いたい時には
synclient TouchpadOff=0
もちろん xfce などの設定ツールで調整してもよい。
Plamo64_1.1-120912 (test)
package を入れ替えたりしていたら塩梅が悪くなったので、ここから test 段階の Plamo64_1.1-120912 の DVD image を取ってきて入れ替える。xorg の intel driver も問題なし。今のところ特に問題はないので、これをベースに環境設定することにしようかな。
uas module
ある USB 接続のハードディスクが認識しないという問題が発生した。結論から言うと、kernel の uas module(USB Attached SCSI)が原因。この module を disable にすればよい。 (X1 carbon が USB3 に対応していたので xhci module を enable にした kernel を作成したのだが、その際に uas も enable にしてしまったので発覚)
この module を enable にしていると失敗することがある理由は不明(大抵は問題ないのだけど)
East Asian Ambiguous
Xfce の Terminal を使って日本語等を表示した際に、ある種の記号文字の幅が正しく扱われず表示が崩れることがある。(よく知られた East Asian Ambiguous の問題。詳しくはググってね。)
Xfce や Gnome の Terminal では、VTE_CJK_WIDTH という環境変数を 1 にセットすればよい。例えば、~/.xinitrc や ~/.xsession に以下の一行を加えればよい
export VTE_CJK_WIDTH=1
xfce-session が不調
ログアウトパネルを出そうとすると、しばし freeze してしまう。
dbus との通信がうまくいっていない?あるいは upowerd 関連?要調査
解決。解ってしまえばくだらない原因だった。/home の内容を x200s から持ってきたときに、polkit ユーザのホームディレクトリを移し忘れていたため。最近の polkit はホームディレクトリが /dev/null ではダメなので /home/polkituser に作成してあったのだけれど、これが存在しないために polkitd が起動できず、、、という訳。私のミスですね。(参考: Plamo Linux のページよりpolkituser のホームディレクトリを設定する)
pinentry と scim
X200s の時もそうだったが、scim-bridge を使っている状態で pinentry への入力ができない。環境変数 GTK_IM_MODULE を scim にすればよい。
GTK_IM_MODULE=scim emacs -nw hogehoge.gpg
printer setting
職場に置いてある FujiXerox? DocuCentre? III C6500 から印刷できるように設定
手順は、ThinkPad X200s のときと同じく、Fuji Xerox のサイトから fxlinuxprint-1.0.1 のソースを取ってきて、./configure && make && make install して、ゴニョゴニョ。
sleep 時の消費電力
LCDを閉じて、約7時間半後にどれだけバッテリー容量が減っているかテストしてみた(途中で memory suspend 状態から disk suspend 状態に変化しているはず)
スリープ前:
nagato@x1:~$ date 2012年 10月 18日 木曜日 01:37:49 JST nagato@x1:~$ cat /proc/acpi/battery/BAT0/state present: yes capacity state: ok charging state: discharging present rate: 6355 mW remaining capacity: 43080 mWh present voltage: 16507 mV
復帰後:
nagato@x1:~$ date 2012年 10月 18日 木曜日 09:05:08 JST nagato@x1:~$ cat /proc/acpi/battery/BAT0/state present: yes capacity state: ok charging state: discharging present rate: 8962 mW remaining capacity: 41880 mWh present voltage: 16236 mV
evince の日本語フォント
evince で PDF を表示すると、明朝体がゴシック体になるので、ホームディレクトリ上に以下のような .fonts.conf を作成。
<fontconfig> <match target="pattern"> <test name="family" compare="contains"> <string>Ryumin</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>IPAMincho</string> </edit> </match> <match target="pattern"> <test name="family" compare="contains"> <string>GothicBBB</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>IPAGothic</string> </edit> </match> </fontconfig>
同じ事を X200s の設定でやっていたことに後で気付く(記憶力が...^-^;;;)
この辺りの詳しいことは、fontconfig 関連を調べれば ok
fc-list で使えるフォントのリストアップ。fc-match を使うと、どのフォントが優先されるか表示される。例えば、
fc-match Ryumin
とか
fc-match GothicBBB
とかすると、Ryumin や GothicBBB に割り当てられた font が表示される。
SHMConfig
synclient で monitoring するために、xorg.conf に以下を付け加える
Section "InputClass" Identifier "enable synaptics SHMConfig" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "SHMConfig" "on" EndSection
ebview
これまでコマンドラインで使う dic を使い続けていたが library まわりの問題で使えなくなったので、ebview-0.3.6.2 を入れた。これに先だって、eb-4.4.1 を入れた。
串刺し検索もできるみたいで便利ですね。
32bit libraries
別の pc (X200s) から 32bit library 群をまとめて持ってきて、/lib32 や /lib32/usr/lib 以下に配置し、
ln -s /lib32/ld-linux.so.2 /lib/
この後、/etc/ld.so.conf に /lib32 と /lib32/usr/lib を付け加えて
ldconfig
これで大体 32bit アプリが動くようになる。
dic
この binary はかなり古いので libreadline.so.4 とか libhistory.so.4 とか参照していた。この dic バイナリファイルを emacs で開いて、libreadline.so.4 を libreadline.so.5 に、libhistory.so.4 を libhistory.so.5 に書き換えてやった :p
mini DisplayPort
mini Display ポートからの外部モニター出力、Apple の Mini DisplayPort − VGA アダプタが使えることを確認(使えて当たり前ですが)
ACアダプタ
使えるで思い出したのだけれど、NEC Lavie Z の AC アダプタ(PC-VP-BP87)を使うことができます。(メーカーは保証していないので自己責任ということで、、、)
まぁ、NEC と Lenovo は同じ事業グループになったので、互換性があるのは尤もな話ですね。
それはそうと、ThinkPad の旧来の ACアダプタ(丸型コネクタ)を矩形コネクタへ変換するアダプタを出してくれないだろうか。旧来タイプのACアダプタが沢山あるので、それを併用したいのですよね。(電源規格的には問題ないはずなので)サードパーティでもいいから出して欲しい。
powertop-2.1
新しい powertop が出ていることに気付いたので入れる https://01.org/powertop/
gMTP
Nexus7 へ USB 経由でデータを転送するために、gMTP を入れる。その後、 /lib/udev/rules.d/69-libmtp.rules に以下を追加:
# Asus Nexus7 Transformer Prime (tablet) ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
google-chrome
firefox だけではなんなので、検証用に入れた。 rpm package を取ってきて rpm2targz で変換し、適宜配置。
firefox のように自動的にアップデートできないのが面倒なんですよねぇ。(debian/ubuntu や fedora/suse といったディストリビューションなら cron で自動アップデートできるみたいですが)
あ、自分で update 用の script を書けばいいのか。
inkscape-0.48.3.1
inkscape を /usr/local に入れ.... あれ? コンパイルエラー... どうやら これ らしい
exiv2
ufraw を弄っていて偶然気付いたのだけど、exif 情報の処理は jhead よりも exiv2 って奴の方が良さそう。(exiv2 は plamo に default で入っていた)exiv2 は lens 情報なども取得できるみたい
天板の lenovo ロゴに注意!
天板の lenovo ロゴであるが、"lenovo" という薄い金属プレートが貼り付けてある。この金属プレートが浮き上がって、"e" の文字が指に突き刺さった。(他のユーザからも同様の報告あり)
非常に危険。 誰だよ、こんなプレートを付けることに決めたのは。(ThinkPad の開発メンバーではないだろうけどね、多分)
不調
どうもここしばらく調子が悪い。(2014/10末) 以下のように悪化の一途:
指紋認証が右指だと反応しない → 指紋認証が全く効かない → そもそも指紋認証デバイスを認識していない(Windows7でも) → 電源ボタンを押しても反応しない(今日 10/31)
開腹して、バッテリーとバックアップ電池を抜き差しすることで起動するようにはなったものの、何か面倒な問題を抱えていそう。何が悪いのか…
全く関係ないかもしれないけど、とりあえず BIOS を 2.69 に上げた。
Plamo Linux 5.3
glibc のセキュリティホール GHOST 対策で glibc-2.20 を入れようとしたのだけどいろいろ塩梅が良くなかったので、Plamo 5.3 を入れることに。(2015/01/27)
バッテリーの放電
昨年末くらいから、停止時にバッテリーが勝手に放電してしまう現象あり。指紋認証デバイスの不調もあったので、指紋認証デバイスが壊れてリークしている?のかもしれないし、電源制御まわりのトラブルかもしれない。何にせよソフトではなくハード的な問題っぽい。
AC on で落ちた
作業の途中、AC on にしたら、いきなり落ちてしまった。電源投入すると、時計が 2001 年になっていたので、内蔵コイン電池がダメになったのかもしれない。
コイン電池が悪いせいかもしれないが、 VAIO Pro 11 であった upower まわりの問題の可能性もあるので、upower-0.9.23 を --enable-deprecated 無しで rebuild しておく
./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64 --localstatedir=/var --mandir=/usr/share/man --disable-static make && make install
Keyword(s):[Linux] [note PC] [ThinkPad] [X1 Carbon]
References:[Linux] [ThinkPad X200s] [ThinkPad X250]