エンジニアのしっぽ

PC関係のあれこれを書き残していく予定です。 ちょっとずつ体裁を整えていけるといいなぁ

Linux

ThinkPad X1 Carbon (Gen3) の中クリックをUbuntu以外でもスクロールにする

注意 : ここで言う、中クリックでスクロールとは、中クリック=PageDownではなく、中クリック+トラックポイント 上下=スクロールという、Windows環境下の動作と同じもの、という意味です。

てっきり、Ubuntu15.04でThinkPadの中クリックのスクロールが動作するのは、kernelにドライバが含まれているからだと思ってたんだけど、それならDebian(sid)のlinux-kernel4.0.2とかなら動くはず、だけどクリックは認識されるがスクロールにならない、というのが前回の話。

解決しました!!(たぶん)
kernelのバージョンとかの関係はわからないので、多分、kernelが新しければ...でありますが。


用意するもの

  • Ubuntu15.04(UNetbootinで可)
  • データ用USBメモリ
中クリックのスクロールを有効にしたいLinux以外にはこれだけで良い。USBメモリでなくてもいいけど

僕は、Arch Linux環境でxf86-input-synapticsを追加して行いましたが、多分、中クリックが認識されていれば可能ではないかと思う方法です。


ずばり、Ubuntuから設定ファイルをコピペしてくるです。ちょろっ!ありがとうUbuntu...
なのでUSBメモリでなく、メールで送ったり、DropBoxでもなんでもいいのです。

具体的には、まず、Ubuntuの/usr/share/X11/xorg.conf.dフォルダ内の、.confファイルを頂戴します。10-evdev.conf、10-quirks.confはデフォルトのままのようなので、なくてもいいです。また、外部にコピーする分には、コマンドラインで潜らずとも、ファイルマネージャーで構いません。

ここまでくれば分かると思いますが、この.confファイルを、対象のLinuxの/usr/share/X11/xorg.conf.dフォルダにコピーします。僕は一度~/documentにコピーしてから管理者モードのコマンドラインでコピーしました。
sudo cp 「それぞれのパス」/*.conf /usr/share/X11/xorg.conf.d/
でいいでしょう。

なお、Arch Linuxでsynapticsを入れた段階では、もともとの*.confファイルは3種類で、10-evdev.conf、10-quirks.confは同一、50-synaptics.confはUbuntuでは追記されていたもの、でした。そのため、10-evdev.conf、10-quirks.conf以外を使いました。

直後では試してなかったのですが、再起動した時には中クリックの動作はスクロールボタンになってました。

ただ、どのファイル/記述がこうしたのかわからなかった。ちゃんとチェックしたわけではないけど、grepでは10-quirks.confで"ThinkPad"が引っかかったが、これはデフォルトのまま...



ちなみに、私めの"Cinnamonすきー"は、電源ボタンの位置が好きだからというのが大きな理由です

Debian8.1で改善?

Ubuntu15.04のCinnamonDesktopって、14.10以降非公式含めサポートしないって言ってた分を無理矢理ひっぱってきただけなのかな?

未だに諦めきれてないCinnamon環境。というか、なんとなくUbuntu15.04が14.04より不安定なような(たぶん気のせい)。


そして、結局、何度目かのDebian8インストール。
よく考えたら依存関係が大変だというxorgのアップデートくらいやればいいじゃん、と。フルサイズキーボードのプラス面とバッテリー交換不可のマイナス面に悩んだものの、X250ではなくX1Carbonにしたのと同じく、「使う」こととか「期間」とか考えたら、今の手間だけですよね。

するとなんと...

クリックパッドが使える!(左右クリックのみ)ようになってた!
どうやら、Debianが6/6に8.1にアップデートされた模様。そこで、なんとなくアップデートされたパッケージをみてたんだけど、Source Package linux(https://packages.debian.org/search?searchon=sourcenames&keywords=linux)stretch (kernel): 4.0.2-1 の文字が。

つまり、Debian(testing)の最新版なら新しいデバドラがつかえる!かもしれないということか!?

よし、方針転換だ!!さっそくtestingしたいと思います...

追記 : 結論は失敗というか試すことすらかなわず

追記 : Ubuntu15.04以外で、中クリックをスクロールにできました。kernelやsynapticsのバージョンの影響もあると思いますが、よろしければ「ThinkPad X1 Carbon (Gen3) の中クリックをスクロールにする」をご覧ください


現在のDebian(ほとんど手をつけてないので)からアップグレードすればいいので、/etc/apt/sources.listの「jessie」を「stretch」に置換します。そしてapt-getでupdate&upgrade後、apt-get dist-upgradeします。
ちゃんとした手順はDebianのサイト(https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.ja.html)などをご覧ください。
そして忘れちゃいけないupdate-grub。EFIブートでも有効かは分かりませんが、昔、デュアルブートのDebian7からアップグレードしてこれをせずにシステムに(レスキュー使っても)入れず、入れ直すはめになったので、しとかないかんのでしょう。きっと。

そしてstretchに入ってkernelのアップデートが必要か。どうなんだろう。


Q.Debian8のデスクトップ環境というかCinnamonは使えるのでしょうか?

クラッシュして無理でした。まあこれは知らん現象ではない。Ubuntu14.04ではaptによるアップデートだけでなくOSが提供する(?)ソフトウェアアップデート(セキュリティアップデート)もしないといけなかった。とりあえずgnomeで入ると、

something wrong

の文字が。どっか変らしいが、とりあえず放置。kernelをアップデートしようと試みるが、
apt-chache search linux-image-
で確認したところ3.16までしか出ないぞ?
uname -rv で確認すると、kernel releaseとkernel versionが表示される。後ろに表示されたものは3.16の強化版みたいなカーネル(3.16.7-ckt11-1 )なんだけど、期待してたものと違う。4.0.2-1を求めていたのですよ。
linux-imageとlinux-sourcesは偶然3.16、4.0とかが一致してただけで別物なのか?そんなはずはないと思うけど。

らちが明かんということで、testing(netinst)をクリーンインストールしようと思って、いつも通り進めて(インストーラーはDebian8とロゴが入ってて気になったけど無関係な模様)、ダウンロードミラーを選んで待ってたら、
リポジトリにアクセスできません
と。国内外どこを選んでも無理なので、インストールディスクが壊れているのか、CD-Rに焼き損ねたか?



後日、stretchをとばしてsid(unstable)で作成したところ、kernelがlinux-image-4.0.2-1も提供されていたのでアップデートしました。
kernelは上がったけど...うん、中クリックはスクロールになってくれない。これはしょうがないかもしれない、んだけど...

Cinnamonはソフトウェアレンダリングモードでしか起動してくれない。なんで?
カーネルは4.0台だから、含まれるxf86-video-intelはintel HD Graphics 5500(intel第5世代コアiシリーズのGPU)に対応してるはずなんだけど?
中クリックはともかく、こっちはどうにもできないのか?

X1Carbon Gen.3とLinux (2015.5.31現在)のGUI環境

先日の「Ubuntu15.04onX1Carbon」の実質続きです。

Intel HD Graphics 5500(Intel第5世代core iシリーズのGPU)自体はxorg-video-intelの新しいドライバか、あるいはLinux-kernel-4.0以上で利用できるみたい?(Debian support on Thinkpad X250 "http://www.corsac.net/X250/")
また、クリックパッドはボタンとして認識させて云々...と、熟練者でも苦戦されたようで、PPAを用いた方法を公開なされていた(雑記-ThinkPadX250 "http://ult.riise.hiroshima-u.ac.jp/~nagato/?ThinkPad+X250")のですが、依存関係であれこれ要求されるので断念。

話が長いので、結論を先に述べておきますと、現在、ThinkPad X1Carbon(Gen.3 : 2015)やX250などThinkPad2015年モデルでは、GPU・クリックパッド(中ボタンのスクロールも)に標準で対応するのはUbuntu15.04・Fedora22です。(他のIntel第5世代core iシリーズのパソコンもグラフィックスに関しては同様ですが、デバドラしだいだと思います。)ただし、GUIからの設定でいいので、タッチパッドの無効化をしないと、biosでdisableに設定しただけではタッチパッドは使えてしまいます。


前回、Ubuntu15.04 (linux-kernel-3.19)でGPU、クリックパッドが使えるようになっていたので、それ以上のkernelでなら使えるのでは?、ということで実験。

  • linux-kernel-3.16からアップデートできるか
  • linux-kernel-3.19のUbuntu15.04では動く
  • linux-kernel-4.0のFedora22

この3つくらいが現在では対象でしょうか。


まず、linux-kernelのアップデートができるか確認しました。
apt-cache search kernel-source-
アップデートできるなら、このコマンドで3.19とか、4.0とかが表示されると思うのですが、Debian8やUbuntu14.04LTSでは出ませんでした。最新ではないので仕方がないですが。
なので、kernelのアップデートとなると、ソースコードからコンパイルしないと行けない模様。

けれど、カーネルの手動?アップデートをするとOSとしては何になるのだろうか?未経験者としては、自作機でSSDをいくつか用意して試してからかなぁ、と思ってしまう。

追記:現在、Debianはstable(jessie)、testing(stretch)ではカーネルは3.16.7-ckt11-1になり、unstable(sid)では4.0.2でした。このとき、左右クリックは可能に、中クリックは「Webページでは新しいタブで開く」という動作をしました。


Ubuntu15.04は使えます。中クリック+トラックポイントでスクロールできます。

ただCinnamonDesktopが使えない。
apt-get install cinnamon-desktop-environment
で、入るけれど一部のアイコンが表示されない。英語環境で入れてもみたけど同じ消え方をします。アップデートしてくれるといいんだけど...現状、されることはない。
(ちなみにPPAから入れる場合では、表示されないアイコンがちょっと違いました。)

なので、「使えない」ってことは全然ないけど、Unityは好かんけどな人は乗り換えるには様子見が必要な状況というところ。Unityでも何でもいいよって人はUbuntuがベスト。まあ、Ubuntuは他にもフレーバーがありますし。


Fedoraはもともと使わなかったのでyumやらリポジトリ周りはよく知らないのですが、GPUもクリックパッドも問題なく使えました。

Cinnamonに関しては、
yum -y groupinstall "Cinnamon Desktop"
もしくは
yum -y install cinnamon
でインストールできるようですが、一度ログアウトしたものの、選択肢に出ず。DebianやUbuntuとデスクトップ画面周りの扱いが違うのか、最新版に未対応だったのかは分かりませんでしたが確認できませんでした。

UbuntuかFedoraかは使い慣れている方をどうぞ。インストール時の感想を下の方で書いてあるので、そちらは参考してくださってもいいかも。


結果、当分はWindows8.1とUbuntu15.04のマルチブートで使いたいと思います。
変えるとしたらWindows10へアップデートできるようになってから、と考えています。ひょっとすると、そのときにSSDの換装も...したい、かな?(未定)



おまけ1

Debian、Ubuntu、Fedoraとインストールをあれこれ試した結果、すでに削除したOS名もブートマネージャーの表示に残って邪魔くさい状況になってしまったので、これらブートマネージャーからのエントリ削除をメモします。

管理者モードでWindowsのコマンドプロンプトを開き、
bcdedit /enum
bcdedit /enum firmware
と打ち込むことで、エントリを確認します。
X1Carbon(2015)では後者(firmware)にDebianやらのエントリが残っていましたので消しておきます。
bcdedit /delete {ID}
IDには先の/enumで確認した消したい対象のidentifier(8-4-4-4-12桁の16進数)を打ち込みます。間違えて別のを消さないよう、細心の注意を払いましょう。(本当は一度バックアップをとってするべきだとは思います。すみませんが略。)

このbcdeditを使えばエントリ名の変更なども出来ます。


おまけ2

Ubuntu15.04とFedora22のUEFIインストール批評

Ubuntu

  • 特に難しい印象はない
  • Linux環境をUSBにインストールして作るとき、Ubuntuをインストールすれば、他のOSではなぜかブータブルになってくれなかったUSBでもブータブルにしてくれたので、結構強力?かもしれない
  • EFIブートはEFIブートパーティションを作ればGPTと判断してくれるのか、インストールイメージ起動時にEFIにすることをきめているのか不明
  • ブートローダーのインストール先が不明(どこを選んでもEFIブートパーティションにブート情報を書き加えている?)
  • GPTなのに論理・物理パーティションとか項目がある。意味不明。GPTだって。
  • EFIブータブルUSBの作成は控えたほうがいいかもしれません
    EFIブートローダーのインストール先が曖昧なので、インストールしたいUSB(sdbやsdc...)でなく、パソコンの内蔵ディスク(sda)にインストールしてしまうかもしれません。どうしてもという場合は、内蔵ディスクを外してからにすることをお勧めします

Fedora

  • UbuntuとかDebianとかSUSEとか、順を追って設定する項目を表示するインストール方法よりなんか斬新でびっくりする
  • Netinstall版では、ネットワークにつながっていれば標準で接続先を設定するが、デバイス中のisoを参照することも出来る
  • パーティションニングのUIが分かりにくすぎる。というのも、パーティションがどういう並びになってるのか全然分からない。この説明では分からないと思いますが、実際やれば分かります。本当にひどい
  • けれど、EFIの考え方は(Ubuntuやらと比較して)分かりやすいと思います。オートでパーティションを作らせると、ブートローダーというか/bootが(あれば)既存のEFIパーティションを指します。EFIはlegacyと異なり、EFIブートパーティションに各ブート情報を保存・読み込みしているので、理に適っていると思いました

結局は好きな方・慣れてる方を使えばいいと思いますが、インストールしやすいのはUbuntuだと思います。未だにEFIについてははっきりしていないのか、インストール時のブートローダーの扱いには困りますが。インストール手順が載っている本でも、このあたりの説明は(インストールできればいいみたいなで)ほとんど見かけません...ArchLinuxはまともなのでArch Wikiのブートローダーの項目が参考になりましたが、なおさらUbuntuやDebianがEFIブートパーティション情報の書き込み時にどこを指定したいのかよくわからなくて怖い。

Ubuntu15.04 in X1 Carbon

なんて...なんて、楽なんだ、Ubuntuは!

どうも。Debianではクリックパッドが機能しません。泣けます。
どーにもおかしなことに、(中ボタンは未確認だけれど、)左右クリックはExpertGraphicalInstall時には機能するというミステリー。
多少時間が経っているので、ググればぽつぽつ出てきますがね、うん....

し、かーし。Ubuntu15.04なら(14.04LTSは未確認)何もせずに使えます。リリース 時期は一週間も違わないのに。こやつ、デキル!!

とはいえ、Ubuntuは14.10以降でCinnamonデスクトップはサポートされな、できんの?
まあ、失敗しますが。Ubuntuに入れなくなりました。aptやaptitudeのupdateもしておいてんけどなぁ。やっぱDebianにするしかないか。

だが、このCinnamonデスクトップ、GPUがあればそちらで描画するんですが、X1ではsoftware renderingになってしまいます。Intel HD Graphics 5500入ってるんだけど、Linux向けにはまだ使えない(調整中?)様子。Ubuntuでは使えていたのだろうか?

追記
Cinnamon化はアップデートしたのが悪かった模様。確かに14.04でも、aptのアップデートと、Ubuntuのソフトウェアアップデートの両方をしていないとUnityしか使えなくなったりもしました。とはいえ、使い物にならないのも事実。server-worldを参考にしましたがこのページの画像のように、メニューの一部画像が消えたまま。こちら(は英語ですが)のようにはいかない。こちらのページのようにPPAでならうまくいくか(Ans.いきませんでした)?


Ubuntu15.04はLinuxKernelは3.19と、Debianの3.16より新しい。これかな?
ドライバを個別で探してこずとも、これで解決出来る場合、現在使えるのはUbuntu15.04のみか。(LinuxMintは(最大で)、Ubuntu14.10・Debian8.0は3.16のよう。Debianを使いたいならunstableの10になってまうのか?)
当面はUbuntuで使うと致しましょう


後の更新で情報を追加してます。よろしければ。

ついに。

ついに、ThinkPad購入しました。そしてそろそろ届く予定。
(ちょい遅れで頼んだACアダプターだけ先に来てるんですが...)

そもそもThinkPadを検討し始めたのは今年の1月ごろ。2015年モデルが発表されたあたりですね。
それまで(いくらbiosで入れ替えられるとはいえ)FnキーとCtrキーの配置が逆になっている、Lenovo・NEC・Panasonicは購入検討外だったのですが、紆余曲折ありまして。


今回選んだ構成は、

  • Model:X1 Carbon 2015年モデル (Gen3)
  • CPU:i5-5200U
  • Memory:8GB
  • Display:WQHD
  • M.2 SSD:128GB
  • 無線LAN:DualBand Wireless-AC 7265
JapanLimitedEditionほどの性能は不要なのでこのような具合。
SSDは128GBなので、爆速というPCIe接続ではなく、普通のM.2 SSDだろうと予想しています。
しばらく解像度比較なんてしてたのはこのためでした。ああ、WQHDでもいけるな、と。

現在考えている予定は、

  1. secure boot 解除
  2. Fn、Ctrキー入れ替え
  3. バックアップ(リカバリーディスク)の作成
  4. バラす
  5. USBブートで動作確認
  6. Debianインストール
  7. デバドラ、ソフトなどインストール
の順で用意するつもり。

「バラす」予定というのはSSDを確認するためです。M.2はサイズだけでなく、端子の形状も種類があるので交換を視野に入れる上で確認は必須。2、3月頃は確認した画像がちらほら出てましたが、今はあまり見かけません。それも516GBモデルばかりだったので、128GBやOPALタイプならなら、まさか違ったりするのか気になります。ないと思うけど。

で、Debianをインストールする前に周辺機能を十分に使えるか確認する必要があるので、とりあえずUSBブートを利用します。無線LAN(はiwlwifiで大丈夫だと思いますが)、トラックポイント、クリックパッド、Bluetooth、有線LANポート、HDMI出力をまず確認。指紋認証は後回し(気が向いたら)です。


いずれにせよ、届くのが待ち遠しくて落ち着かないです。今日は急いで帰ろっと。

P.S. チャッピー見に行きたい今日この頃



届きましたので、報告はまた後日。
トラックポイントは慣れるまでカーソルが震えているみたいにうまく扱えませんが、新鮮で楽しいです。