ejoneco's devlog

ejo090がなんかやったときにまとめるブログ

X220 に Debian 9 "stretch" をインストールしてやったことをまとめた

先日、メインのブログで X220 を手に入れた旨を書きましたが、いつも通り Debian をインストールしていたのでやったこと・とりあえず入れたものとかを書いていきます。
ついでに dotfiles 的サムシングも用意してセットアップを容易にしていく(ここはダジャレです)という試みもある。
これが dotfiles です。
えじょねこ / dotfiles · GitLab

モノはどれ

まず手に入れた X220 はモデルナンバーが 42912WJ です。
もう8年近く前のラップトップなんですね。まあ今の ThinkPad の X シリーズが 12 インチは X280 、 13 インチは X390 とそこまで数字が進んでしまったんだなあと考えるとポンコツだと言われても仕方がなさそうですが、すきだから仕方ないね。
詳細スペックはなんかインバースに転がってたので URL を貼っておきます。→ ThinkPad X220 43912WJ

なにをした

とりあえず Debian の netinst イメージを USB メモリに焼いてインスコしていきます。
参考→ Debian – 最小の CD を使って、ネットワークインストールする
特にこれといってアレはないですが、 X 環境あたりのインストールにチェックを入れた気がします。
あ、あとインスコ中に iwlwifi 系のドライバがみつからんと言われたので LAN ケーブルをブッ挿してました。

インストールしていったもの

基本的に apt でなんとかしてるけど、バイナリ持ってきたりみたいなのをしたりもしてる。

  • sudo nvim curl build-essensials git unar

    • なんか使いそうなやつ諸々
    • unar は圧縮ファイルを展開するときに大体のをよしなにやってくれる便利くん
  • firmware-iwlwifi

  • blueman

  • fish

    • シェルはいつからかずっと fish を使ってるのでまあなんか手癖的に
    • 参考→fish shell
  • lightdm

  • light-locker

  • i3

    • ウィンドウマネージャとしてよしなにやるためのやつ
    • i3 のコンフィグファイルとかは移行元であるところの X260 から適当にもってくる
    • コンフィグファイルによっては追加でインスコする必要があるものもあるかも
    • i3 - improved tiling wm
  • qalc

    • 突然計算機がほしくなったときに rofi 経由で計算させたりしたいとき用
    • 一回は普通に起動して通貨データの更新するかどうかみたいなのを決定する必要がある
    • Qalculate! - the ultimate desktop calculator
  • rofi

  • conky

    • i3wm を使ってるときに時間とかバッテリの状態とかを出してくれるステータスラインをやってくれる i3status の代替になるやつ
    • i3status でもまあ事足りるけど使ってみたかったから入れた
    • GitHub - brndnmtthws/conky: Light-weight system monitor for X.
  • maim

  • rxvt-unicode-256color

  • uim-skk

    • 入力は完全に SKK 慣れしてしまっているのでなにかしらの SKK を
    • fcitx (読み方は覚えてるけど綴りをいつまでたっても覚えられない) の SKK を使ってたりもしたけどなんだったかで uim にしたので uim-skk を入れた
    • 個人辞書とかも持ってくる必要がある
      • 辞書サーバとかどうだろうねみたいな気持ちもある
    • UimSkk · uim/uim-doc-ja Wiki · GitHub
  • tlp tlp-rdw tp-smapi-dkms acpi-call

    • 省電力化系のサムシングとかバッテリー周り用のやつ

    • 省電力化をうまいことやってくれるっぽいから入れた

    • 設定ファイルは /etc/default/tlp にあるのでよしなに設定する

      • 充電サイクルをよしなにやるための設定はこんなかんじでやる
      1
      2
      START_CHARGE_THRESH_BAT0=30
      STOP_CHARGE_THRESH_BAT0=80
  • ranger

    • テキストベースのファイラ
    • デフォルトで GUI の nautilus が入っているが、わざわざ起動しなくても ranger で事足りることも多いため入れる
      • 使い方はちゃんと分かってないのでおいおいおぼえる
    • ranger.github.io/
  • Firefox Developer Edition

    • メインブラウザなので入れる
      • にしてもブラウザ、どれもメモリもぐもぐするし重いしやってらんないね
    • Firefox Developer Edition
  • keybase

    • いわゆる公開鍵基盤であるところのイケイケなサービス
    • 他の端末にも入れてるのでここにも入れる
    • Keybase
  • w3m

    • よくわからんけど気分で入れた
    • テキストベースのWWWブラウザです
    • W3M Homepage
  • steam

    • Steam です。やるかどうかはわからないけどとりあえず入れておくことにした
    • dpkg --add-architecture i386 とかをやった気がする
    • テストで Mountain とかを動かしてみたけどバカ重かった
    • SuperHexagon は軽かったので暇なときは SuperHexagon をやるかもしれない
  • zathura

    • vim 的なキーバインドの軽量(?) PDF ビューア
    • これいる?って感じだけどまあ PDF はまあまあ機会あるでしょってカンジ
    • Zathura - ArchWiki
      • 公式サイト死んでそうなので ArchWiki の方をぺたり
  • cmus

    • テキストベースの音楽プレイヤ
    • 一時期は実家の NAS をマウントしてネットワーク越しに音楽を聞いていた
    • 慣れるまでが使いづらいけどまあご愛嬌
    • C* Music Player
  • Rambox

    • なんか流行ってた Franz みたいなやつ
    • Slack とか Mattermost とか Mastodon とかメールとかなんか色々あるやつをここにまとめたりしてたけど中で動いてんのはブラウザみたいなもんだしまあまあ CPU パワーを食う気がしたので各々に分離してもいい気がしてきた
    • 分離する気になったらお役御免になるとは思うけどそれまでは適当に使う
    • Rambox - Boost your productivity
  • Cica

  • sl

どうなった

とりあえずこれで外出時のモバイル環境ができあがった。
多分ここまでやればあとは適当に追加していくだけでよさそうなので、X260 はポーンとアンインスコしちゃってもよさそうです。
とはいえ、これといって移行しないといけないな、というのは i3wm と urxvt くらいなもので、 vim は最近ほとんど使ってなかったりして vimrc も大して…みたいなところがあったり。
また使いはじめそうなので整備をちゃんとしないとなと思っていますがやる気があるかというとないので、なんともという感じ。

純正 9 セルバッテリの交換後新品もきたのでバリバリイケイケになれるようになった。
ちょうどいいので 9 セルの交換前交換後のステータスものせておくことにする。

これが交換前

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
+++ ThinkPad Extended Battery Functions
tp-smapi = active
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/devices/platform/smapi/BAT0/manufacturer = SANYO
/sys/devices/platform/smapi/BAT0/model = 42T4940
/sys/devices/platform/smapi/BAT0/manufacture_date = 2012-01-10
/sys/devices/platform/smapi/BAT0/first_use_date = 2012-03-20
/sys/devices/platform/smapi/BAT0/cycle_count = 182
/sys/devices/platform/smapi/BAT0/design_capacity = 86580 [mWh]
/sys/devices/platform/smapi/BAT0/last_full_capacity = 37480 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_capacity = 2710 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_percent = 7 [%]
/sys/devices/platform/smapi/BAT0/remaining_running_time_now = 15 [min]
/sys/devices/platform/smapi/BAT0/remaining_charging_time = not_charging [min]
/sys/devices/platform/smapi/BAT0/power_now = -6826 [mW]
/sys/devices/platform/smapi/BAT0/power_avg = -8221 [mW]
/sys/devices/platform/smapi/BAT0/state = discharging

tpacpi-bat.BAT0.startThreshold = 96 [%]
tpacpi-bat.BAT0.stopThreshold = 100 [%]
tpacpi-bat.BAT0.forceDischarge = 0

Charge = 7.2 [%]
Capacity = 43.3 [%]

バッテリのキャパシティが半分以下とつらみのある状況になっていますね。
そしてこれが交換後。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
+++ ThinkPad Extended Battery Functions
tp-smapi = active
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/devices/platform/smapi/BAT0/manufacturer = SANYO
/sys/devices/platform/smapi/BAT0/model = 45N1175
/sys/devices/platform/smapi/BAT0/manufacture_date = 2015-01-09
/sys/devices/platform/smapi/BAT0/first_use_date = 2019-06-20
/sys/devices/platform/smapi/BAT0/cycle_count = 1
/sys/devices/platform/smapi/BAT0/design_capacity = 93960 [mWh]
/sys/devices/platform/smapi/BAT0/last_full_capacity = 94570 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_capacity = 0 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_percent = 0 [%]
/sys/devices/platform/smapi/BAT0/remaining_running_time_now = not_discharging [min]
/sys/devices/platform/smapi/BAT0/remaining_charging_time = 2880 [min]
/sys/devices/platform/smapi/BAT0/power_now = 1305 [mW]
/sys/devices/platform/smapi/BAT0/power_avg = 1297 [mW]
/sys/devices/platform/smapi/BAT0/state = charging

tpacpi-bat.BAT0.startThreshold = 96 [%]
tpacpi-bat.BAT0.stopThreshold = 100 [%]
tpacpi-bat.BAT0.forceDischarge = 0

Charge = 0.0 [%]
Capacity = 100.6 [%]

完全に最高になりました。
なるべく劣化させないようにおでかけ前のフルチャージ以外では 80% を充電上限にするようにしました。
バッテリーサイクルについて Lenovo の見解をみつつ、 TLP で設定しています。→ThinkPad のバッテリーを長持ちさせる方法について - JP
AC アダプタをつけてる場合は充電をしないとか、ウルトラベイを装着しているときは完全に AC からのみの給電になるとかそういう設定をしたいですが TLP だとできるんですかね。
よく調べてないのでわからないですが、できるとイケイケになりそうです。
それはそれとして、互換 9 セルも導入したいところですね。 4000 円くらいなので、気が向いたら買ってみようかなみたいな気持ちがあります。

発生している問題

それはそれとして、発生している問題が一つあります。
もしかしたら一つだけじゃないかもしれないけど、目についているのは一つなので一つだけ。多分。
とりあえず現状は バックライト制御コマンドのybacklight – matoken’s meme の通りのことをやって動かした。(たぶん)
(めっちゃ眠い中やっていたのでやっていたことをちゃんと覚えていない)
uname はこれ

1
Linux megumi 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) x86_64 GNU/Linux

前に xbacklightが動かなかったのでlightを使った | ejoneco’s devlog でちょっと詰まっていたんですが、そういう系がちょっとあってご面倒ですね。
とりあえず Debian のインスコ直後くらいはなにもイジらなくても輝度調節ができてたような気がするんですが、なんか気がついたらできなくなっていました。
i3wm にしたけどなんか普通に調節できんじゃ〜〜んみたいな感じで i3wm の輝度変更の設定をコメントアウトした覚えがあります。
よくわからないので、まあ上のエントリみたいにやればなんとかなるっしょwみたいな気持ちで light を入れてみたんですが、残念ながらなんもできず。
ls -al /sys/class/backlight とかを叩いてみると

1
2
lrwxrwxrwx  1 root root 0  6月 22 10:56 acpi_video0 -> ../../devices/pci0000:00/0000:00:02.0/backlight/acpi_video0/
lrwxrwxrwx 1 root root 0 6月 22 10:56 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/intel_backlight/

というのがあるものの、例えば /sys/class/backlight/acpi_video0/brightness に直接値をブン投げてもパーミッションの問題なのか権限がありませんみたいに言われてしまい、ウーンみたいな感じ。
バックライト - ArchWiki を見つつ色々やってみたりもした。
例えば video.use_native_backlight=1 をカーネルコマンドラインオプションとして設定してみたりすると、まあ確かに動くようにはなったのだが別な問題も発生したりした。
ログアウトしてログインセッションする画面とか、[Ctrl]+[Alt]+[F2]とかで別コンソールを開こうとしたりすると [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [CRTC:37:pipe A] flip_done timed out みたいなエラーがよく出るようになった。
ただこれはちゃんとした切り分けをしているわけではないので(昨日無限に眠くなりながら格闘していたためよく覚えていない)、このオプションだから発生しているかどうかはわからない。
今書きながら思ったが カーネル 3.13 で Intel チップセットでバックライトが調整できない で書かれているファイルを当該箇所に入れていたから発生していたような気がしてきた。
これは追い追いどの条件で発生するのか検証したい。(やる気があれば…)

おわり

というわけで長々とやっていったがこれからもよろしく ThinkPad X220 くん。

Proudly powered by Hexo and Theme by Hacker
© 2019 ejo090