5年ぶりに圧倒的高性能PCを組んで満足した

動機

  • M75q-1 TinyのCPUパワー不足を解消したい
  • メーカーやショップのBTOで、グッとくるものが見当たらない
  • マネフォで自分の口座残高を見て、多少は散財してよいように思えた

部品を揃える

勢いで揃えた。約23万円。

大枠のところは、

  • わかりやすく高性能なRyzen 9
  • Ryzen 9が乗るMini ITXマザボ
  • Ryzen 9に耐える電源と水冷が納まるMini ITXケース

あたりで組み合わせを模索した。

CPU: わかりやすく高性能

66000円。M75q-1はRyzen 5 3500GE (4コア8スレ)なので、わかりやすく高性能なものを狙ってRyzen 9 3900XT(12コア24スレ) にした。Threadripperも検討したが、Mini ITXなマザボが無さげなので、見送った。

www.amd.com

ケース: めんどくさくなくて、邪魔じゃないやつ

49000円。NZXT H1 にした。電源と水冷がバンドルされているのが「めんどくさくない」。約19cm x 約19cm x 約40cmという、2個の立方体を重ねた外寸というのが「邪魔じゃない」基準でグッと来て選んだ。

nzxt.com

マザボ: ASUSの高いやつ

40000円。そういやマザボに何万円も出したことねえな、どんなもんだろうと。さらに「ASUSのマザボは鉄板」という昔の信仰で選んだ。

www.asus.com

メモリ: crucialの64GB

39000円。今回もcrucial。無邪気にnon-ECC。たっぷりあるのは正義。M75q-1とは規格が違うので、改めて購入した。

www.crucial.jp

GPU: M75q-1のCPU内蔵GPU Vega 11よりは高速高性能なやつ

29000円。Geforce GTX1660 Super。最新最高速ではないけど、M75q-1のCPU内蔵GPU Vega 11よりは、ずっと速い(らしい)。

www.zotac.com

他は、家にあった部品を流用した

組み立て、使えるようにする

部品構成からして、圧倒的高性能は確信していたが、急いて雑に進めたら遠ざかったので、メモしておく。

素直にクリーンインストールしとけばよかった

M75q-1 からSSDをそのまま攫ってきて刺して、なんとかならないか試行錯誤してた。結果は何とかなりそうで、何ともならなかった。

  • M75q-1 からSSDをそのまま攫ってきて刺した。モニタ(A)に映らない。これをモニタ(A)と称することにする。映らないので、何が起きているか、何も起きていないか不明。
  • 何が起きてるか不明なので、バラして、再度組み立てて、まあやっぱりモニタ(A)に映らない。マザボのPOSTのLEDは、電源ONから各色に遷移した後に消灯しており、つまり異常なしと言ってる。イラァ.....初期不良かテメェ....。
  • UbuntuでGRUBからリカバリモードで起動すると、これは映る。映るが、640x480なので、実用ではない。
  • 別のモニタ(B)に刺したら映って、ふつうに使えた。この時点で、初期不良ではなく、見えてないだけで起動はしており、モニタ(A)と自作PCの間の何かがダメなんだな、まで確信した。

モニタ(A)と、今回の自作PCの間には、以下記事のとおり、HDMI中継するサウンドバーと、HDMIタコ足がはさまっているので、どっちのせいか切り分けを行なった。

sasasin.hatenablog.com

  • モニタ(A)に、HDMIで直で刺したら映って、ふつうに使えた。
  • モニタ(A)、HDMIタコ足、自作PCでつないだら、映って、ふつうに使えた。
  • モニタ(A)、サウンドバー、自作PCでつないだら、映らず、応答なし。
  • モニタ(A)、サウンドバー、HDMIタコ足、自作PCでつないだら、映らず、応答なし。

サウンドバーーーーこの野郎まさかと思いサウンドバーのマニュアルを眺めると、HDCPがどーたらとかある。Ubuntu側に入れてあるGPUドライバは、OSSなnouveauなので、よく知らんが何か足りてないのかも。Nvidia謹製GPUドライバにしたら映った。

  • モニタ(A)、サウンドバー、HDMIタコ足、自作PC(Nvidia謹製のGPUドライバ)でつないだら、映って、ふつうに使えた。
  • 映るならもういいかなと思ったのも束の間、電源ON/OFF、再起動すると、映らず応答なしが頻発するようになった。

ここまで5時間くらい粘ったが、いよいよ面倒くさくなった。/home を丸ごとtar.gzに固めたバックアップ取って、SSDをフォーマットした更地にUbuntu20.04を入れなおした。追加のキッティングは、いつもの秘伝のシェルスクリプトとAnsibleで、一瞬で終わった。最後にバックアップから必要なものだけリカバリして、安定動作してくれた。

github.com

M75q-1の内蔵GPUは意外に高性能だった。きちんと比較すべきだった

最初は別の1枚を買ってた。6900円。GeForce GT710。Ubuntuにするし、ゲームもやらないので、マザボのオンボードのGPUか、CPU内蔵のGPUで全然OKだった。しかしRyzen 9はGPUを別で用意する必要がある。しぶしぶ、HDMIで4k出せて、ファンレスで、とにかく安いのを、として選んだ。もっと安価でファンあり空冷のがあったけど、ファンの耐用時間が短かそうな気がしたので、ファンレスがあるならファンレスを選びたかった。

www.asus.com

ウキウキで組んでみたら、SSD横着とサウンドバーのせいで散々で、ようやく映ったと思ったら640x480で、Nvidia謹製ドライバ入れて4kで映ったと思ったら、もっさーカクカク。カクカクするの意味わからんぞと方々調べて、そもそもの性能が足りてないんじゃないかと、ベンチマークの参考値を探した。GeForce GT710は、M75q-1のRyzen 5 3400GEの内蔵GPU Vega 11 と比較して、だいぶ低い。くそっ。

pcfreebook.com

6900円は sunk cost 埋没費用として忘れることにした。ファイナンスで勉強したやつ。

低性能を我慢する意味が皆無なので、ちゃんと性能あるやつを改めて買う。Vega 11と性能で同等以上を探すと、8000円以上になる。15000円くらいで買えるやつを選べば間違いなさそう。ただ、ちょっと待てよ、GPUに自腹で1万円以上を出したことがないのを思い出した。このままでは墓標に「生涯GPUに1万円以上を出さずに終わった男」と書かれかねない。これは道楽である。ここらで3万くらいのを使ってみてもバチは当たらんだろう。というか3万出すとどのくらい変わるのか体感する必要がある。などとGeForce GTX1660 Superの29000円(税込)を選んだ。消費税が入れば30000円越えるだろうと思ったら税込なのは誤算であった。ダサい。

ちゃんとスルスルサクサク動くようになって満足している。

memtest86は営利企業から無料版を落として使える

64GBの4passに、11時間かかった。運よくエラーは見つからず安堵した。

そういえばUbuntuのインストールメディアにmemtest86って同梱されなくなったなとググったら、memtest86の原著者がPassMark社に売却したとかの経緯があって https://www.memtest86.com が、あのような様子になってるらしい。

memtest86はFreeのをダウンロードして、unzipすると、取説PDFとUSBメモリ用のイメージファイルが出てくる。取説PDFを読み、USBメモリに書いて、刺して起動すれば使える。取説PDFを読め。ほっとくとシングルコアで動くので、いったん(C)で設定画面を出して、CPUはパラレルに設定してからmemtestする。

www.memtest86.com

Unifying が不安定「になった」?

Unifyingで接続してるキーボードとマウスが、突如として切れる。頻発する。M75q-1で使って、まったくそんな感じはなかった。どこに原因があるか。よくわからない。

対症療法だが、キーボードもマウスも、UnifyingとBluetoothで接続できるので、Unifyingで切れたら、Bluetoothに切り替えて良しとしている。

設置

段々になるようモニターとPS4の間に置いてみた。黒家電の並びに馴染んでいる。

ゲーム向けを名乗る部品が多いけど、無闇に光らず好感がもてる。M75q-1では冷却ファンが唸っていたような負荷も、静かなまま捌いている。

12コア24スレ、メモリ64GBなタスクマネージャーの様子。暇そうにしている。

参考

部品はツクモとamazonから購入した。

むすび

全部品を不満ない性能で選び、めんどくさいのは適度に金で解決しつつ、PC自作を満喫できた。

RailsでRDBデータをElasticsearchに超高速で全件登録したい気持ち(未検証)

Rails何もわからない民。RDBのデータ件数が猛烈に多く、Elasticsearchへの全件登録にXX時間かかるので、どうにかしようとしている。以下は妄想メモ。そのうち検証する。

現状から書き換えてみる

これがテーブル全件登録。現状これでXX時間かかっている。 __elasticsearch__elasticsearch-rails というgemがモデルクラスに生やしてるオブジェクト。ここに import とか index_document などのメソッドが生えている。 import の実装は https://github.com/elastic/elasticsearch-rails/blob/master/elasticsearch-model/lib/elasticsearch/model/importing.rb#L140-L185

Hoge.__elasticsearch__.import(index: new_index_name)

このような書き換えができる。一件登録の __elasticsearch__.index_document というメソッドが存在してる。 index_document の実装は https://github.com/elastic/elasticsearch-rails/blob/master/elasticsearch-model/lib/elasticsearch/model/indexing.rb#L370-L378

Hoge.find_each do |o|
    o.__elasticsearch__.index_document(index: new_index_name)
end

find_eachfind_in_batch をラップしたメソッドで、このように書き換えできる。

Hoge.find_in_batch do |records|
    records.each do |o|
        o.__elasticsearch__.index_document(index: new_index_name)
    end
end

find_in_batch でレコードを配列として持ってきたことで、Parallel に渡せるようになる。Parallel はマルチスレッド処理を簡易に使えるようにするgem。in_threads は並列数。あまり無茶するとEC2インスタンスが爆散するので控えめにする。

Hoge.find_in_batch do |records|
    Parallel.each(records, in_threads: 4) do |o|
        ActiveRecord::Base.connection_pool.with_connection do
            o.__elasticsearch__.index_document(index: new_index_name)
        end
    end
end

ところで Datadog でインポート中のメモリの動きを見ていると、スワップに手を付けそうになっている。ActiveRecord がメモリにクエリキャッシュを溜めるのをOFFってみる。これが効くかわからないが。

Hoge.uncached do
    Hoge.find_in_batch do |records|
        Parallel.each(records, in_threads: 4) do |o|
            ActiveRecord::Base.connection_pool.with_connection do
                o.__elasticsearch__.index_document(index: new_index_name)
            end
        end
    end
end

という妄想を書き散らしたが、ほんとに効くのかわからない。そもそも動くのか不明。

こうなってほしいな

参考文書

そもそもRailsバッチ処理の最適化ってどうやんの、の概観。

blog.toshimaru.net

elasticsearch-rails と使い方のサンプル。

github.com qiita.com

find_eachfind_in_batch

qiita.com daido.hatenablog.jp

Parallel と使い方サンプル。

github.com www.bokukoko.info

ActiveRecord::QueryCache::uncached と使い方サンプル。

api.rubyonrails.org qiita.com

Sidekiqがメモリ蕩尽するみたいな文脈でも、uncached しろって指南があった。

github.com

Elasticsearch のバルクAPI

www.elastic.co qiita.com

サウンドバーの音声寸断を金で解決した

変更前

SoundCore Infini mini というのを使っていました。

www.amazon.co.jp

音は値段相応、ぜんぜん悪くない。しかし、入力音量が一定以下になると省エネ寸断するらしく、一定以上になって1秒くらいは起動にかかるようで、つまり3秒くらいの寸断がわりと頻繁にありました。映画、アニメ、ゲームなど問わずで、これは厳しいなと。

f:id:sasasin_net:20200622014231p:plain

機材選定

AVコンポとか、7.1chみたいな嵩張るのは見送りました。金額感も合わないし。沼すぎて無理。

やっぱサウンドバー。邪魔くさくない。配線簡単。2万円を超えると各社、わりとマジの製品を並べてます。困ったことにAUX接続が無くて、HDMIが当然だろみたいな圧を放ってます。

kakaku.com

なぜ困るか。手元のモニター I-O DATA LCD-M4K491XDB は、音声出力がAUX接続しかない。HDMIのARCにも対応していない。

www.iodata.jp

じゃあサウンドバーが、HDMI複数入力で、モニターに映像出力してるか。してない。どこもHDMIは1入力だけだったり、1入力1出力だけ。

HDMI切替機のようなものはあるか。ある。AVアンプという機材のうち、4万円以上程度の製品が、HDMI切替機として利用できるようです。ただまあ、AVコンポなどと同じで、金額感が合わない。沼すぎて無理。ということでAVアンプは見送りました。

kakaku.com

すなおにHDMI切替機を探すと、価格帯や製品によって大きく機能が異なります。寡聞にして存じていない中華メーカー製品が大挙して並んでおり圧倒されます。4k60Hzと3入力1出力を必須条件として絞ると、サンワサプライの以下が出てきました。HDMIを束ねてサウンドバーに流し込むのは、これで大丈夫でしょう。

www.amazon.co.jp

じゃあサウンドバーどれにしようかね。手元モニターがARCに対応していないので、HDMIを1本しか刺せないのは除外です。さよならBose。HDMI1入力1出力は多種多様にあります。4k60Hzをパススルーできるやつで絞るとどうか。ぜんぜん絞れないぞ。ここからイチャモンじみてきます。ホコリが絡まって積もりそうなのは無理。ごめんYAMAHA。音に関して好き嫌いが大きく別れてるのはやめておきたい。すみませんDENON

変更後

Sony HT-X8500 というのにしました。消去法だったのは認める。買い替えるならちょっと高いのにしてみよう。ちょっと高いヤツなら寸断とかアホなことにならんだろう、という雑な目論見。

www.sony.jp

HDMI切替機は、サンワサプライの以下にしました。4入力に3台なので、1個あまってます。

www.amazon.co.jp

配線はこのように。

f:id:sasasin_net:20200622015636p:plain

変更してどうか

当初の課題であった音声の頻繁な寸断は皆無になりました。音はキレイです。

Dolbyのなんかすごいやつは全然使えてないです。音のプリセットが10個くらいあるようですが、違いがよくわからないです。Bluetooth入力モードにすると、スマホiPadなどを音源にできますが、HDMI映像中継が切れるのは想定外でした。

HDMI切替機は立ち寄ってポチる必要があり、リモコンの類がほしいなあと早くも思いはじめています。なおオプション機器としてもリモコンは無いので、別のHDMI切替機を購入するしかなく、どのように運用でカバーするか悩ましいです。

ときどき読む記事

仕事の調子の良いとき、迷ったとき、悪いとき、様々なときに読み返す記事。

お仕事を、自分で作る

ameblo.jp

お仕事とは、わからないことを減らすこと

note.com

お仕事とは、最初に案を出すこと

blog.tinect.jp

お仕事とは、自分がいなくても、回る仕組みを作ること

cybozushiki.cybozu.co.jp

お仕事とは、誰もが見向きもしなくなったときに、後片付けを果たすこと

blog.tatsuru.com

お仕事とは、無能にされる場に留まらないこと

anond.hatelabo.jp

2020年版。SKKでGoogle日本語入力の辞書を使う

だいぶ時間経過してるけど、今の状況どうなんだと調べてみた。

SKKGoogle日本語入力

日本語IMEは、連文節変換がフツーである。連文節変換は、文章を頭から文末までばーーーっと入力すると、文字や単語の区切り、「てにおは」や品詞の種類を解析して、単語は適宜で漢字やカタカナに変換してくれる仕組み。連文節変換の精度が、すなわちIMEの評価でもあった。WindwosのMS IMEとか、Google日本語入力ATOKMacことえり、などなど多々ある。

SKKは日本語IMEのひとつ。SKKは、文字や単語の区切り、「てにおは」や品詞の種類の解析は人間にやらせて、ひらがなを漢字に変換する単語変換だけやるという、人と機械の責任分界点をズラしたことに設計上の特色がある。実装の元祖はEmacsのDDSKKで、Emacsの外では使えない制約がある。連文節変換をめちゃめちゃ頑張って変換精度を上げようとする数多のIMEと異なり、キーバーインドや操作性を再現させて、OSやプラットフォームの作法に従うだけで移植ができるため、 *nix, Windows, Mac に移植されている。(簡単に移植できるわけではない)

SKKの多くの実装では、SKK自体がローカルファイルを辞書として読むことによる変換だけでなく、SKK辞書サーバーというものを別途起動させて利用できるようになっている。

qiita.com

ところでGoogle日本語入力は、Google利用規約に則って収集した猛烈な量のデータを活用し、日本語としての行儀の良さとか正しさは放り投げて、インターネッツ的な実用に振り切った連文節変換を実現している。SKKを使っていると、流行り言葉はどうしても変換がダルくて、スパッと出るGoogle日本語入力が羨ましくなることが多々ある。

www.google.co.jp

Googleは、Google日本語入力のために用意しているGoogle側のサーバーAPIを公開している。

www.google.co.jp internet.watch.impress.co.jp

話を繋げてると、SKK辞書サーバーを作り、その中身ではGoogleAPIから変換結果を貰う実装が可能である。これをRubyで実現したのが以下であった。

blog.sushi.money

というのが2011年までの話で、長かったが、2020年の今はどうだろう。

Mac & Windows なら Rubygoogle-ime-skk

そこそこ年月が経過しているのに、今でもRubyインタプリタを手元に入れれば gem install で入るし、起動して利用できる。なので MacWindows では、これ使ったらよいですねという話である。

Ubuntu なら yaskkserv

C++で実装された yaskkserv というSKK辞書サーバーが存在してる。これもGoogleAPIから変換結果を取ってきている。 *nix 向けに実装されてる。根性でmake installしてもよい。Ubuntuならaptに用意されている。他はわからないけど、パッケージマネージャーから簡単にインストールできそうな気がする。

github.com umiushi.org

Ubuntuなら yaskkserv を apt で入れて使うのが、現時点で最も簡単な、SKKGoogle日本語入力の辞書を使う方法である。

$ sudo apt install yaskkserv

設定ファイルは /etc/default/yaskkserv に置かれるので sudo vi などしてイジる。

起動停止は init スクリプト経由で操作できる。

$ sudo /etc/inti.d/yaskkserv status
$ sudo /etc/inti.d/yaskkserv restart
$ sudo /etc/inti.d/yaskkserv status

ansibleならこんな雰囲気でセットアップできる。

github.com

ibus-skk の設定画面で、SKKサーバーとして localhost:1178 を追加したら使えるようになる。

f:id:sasasin_net:20200606184442p:plain

今後はどうなるだろう

  • Googleが、APIを有料にするとか、APIトークン必要にしますよとか、APIに破壊的で非互換な変更を入れたり、APIを停止したら、もう無理でしょう
  • Rubygoogle-ime-skk は、いつの日か、Rubyシンタックスや何か互換性の問題で動かなくなるだろうけど、たぶん誰かが直す、OSSなんだし
  • yaskkserv は、今後も特に何もなく使えそう
  • yaskkserv の作者が、Rustで yaskkserv2 というのを製作中なようで、座して待つ。

github.com

fish shellの何がいいって、デフォが楽だし、ちょっと楽しいんですよ

手元のシェルを快適にするなら、bashを育てるより、fishで育てたほうがいい。

booth.pm fishshell.com fish.rubikitch.com

インストール

シェルまわり整備。

sudo apt install fish peco ripgrep golang micro xclip
sudo snap install starship
ghq get https://github.com/x-motemen/ghq
curl https://git.io/fisher --create-dirs \
    -sLo ~/.config/fish/functions/fisher.fish
fisher add decors/fish-ghq
fisher add oh-my-fish/plugin-peco
fisher add oh-my-fish/plugin-balias

実際aptやsnapのパッケージはansibleで管理しています。fishのconfもちゃんとgithubに上げよう

github.com

設定

ログインシェルはbashのままで、bashrcの末尾からfishを呼んでます。bash側でrbenvとかnvmとか整備させて、fish側は操作性に専念します。

tail -n1  ~/.bashrc
exec fish

たいして育ってない。派手に使い込んではいないので。

function fish_maintenance
    # fishのオートコンプリートの更新
    fish_update_completions
    # fisher自体のアプデ
    fisher self-update
    # fisherで入れたプラグインのアプデ
    fisher
end

function fish_user_key_bindings
    bind \cr peco_select_history
end

set GHQ_SELECTOR peco

# pip3
set PATH $HOME/.local/bin $PATH
# go get
set PATH $HOME/go/bin $PATH
# sasasin origin shell scripts
set PATH $HOME/scripts $PATH

# https://micro-editor.github.io/
# viと比べて micro は長いしダルい、miなら右手だけで打てる
balias mi "micro"
# https://microk8s.io/docs
balias mkctl "microk8s kubectl"

# https://starship.rs/
# starship が面倒なく使えたんで
starship init fish | source

操作

  • ctrl+g でghq get してきたリポジトリを探す
  • ctrl + r でhistory検索
  • めんどくさくなったら fish_maintenance で気分を紛らわせる
  • 補完が、あれこれ設定せずデフォの状態で、強力なのがいい。bash completionをせっせと集めたり、書いたりしなくとも、manpageから補完を生成してるらしい。IDEみたくtabキーでスパスパ出てくるの楽しすぎる

シェルスクリプト

~/.config/fish/functions にいろいろ置くかというと、ぜんぜん置いてなくて、むしろ bash で書いて ~/scripts に散らかしてます。シェルスクリプトにしようと思うのは、いくつかの環境で使いまわす気がする事柄なので、基本入ってないfishよりも、まあ、bashで書きますでしょう。

結論

いろいろ整備したローカルより、bashしか入ってないリモートやDockerコンテナ内で活動してることのほうが多いので、完全に自己満足ですね。だがそれが楽しい

Lenovo ThinkCentre M75q-1 Tinyに浮かれている

Lenovo ThinkCentre M75q-1 Tiny を買った。まさか据え置きPCを再び買うとは思ってなかった。Lenovo直販で 2020/05/10 に発注して、2020/05/21に到着した。

Macbook Pro 15を数年前から買い替えながら使ってて、MBP16にいまいち食指が動かない状況で、この同人誌にプッシュされた。

booth.pm

部品を揃える

Lenovo直販サイトでグレードを上げると、無駄に値上りする。他所で部品を集める前提で、極限まで絞って購入した。

f:id:sasasin_net:20200530012803j:plain

本体, 35000円

アホほど安い。部品構成だけ見ると平凡。だけど、Mac Miniと同じくらい小型で、自作PCとして組むとくっそ面倒くさい、という補助線をひくと、この価格設定はヤバい。

135w ACアダプタ, 5000円

本体付属のACアダプタは 65w で、本気出すと電力不足から貧血みたいな症状を起こすとの記事を目撃していたので、追加購入した。

WIFI & Bluetooth & アンテナ, 4000円

Lenovo直販での購入時に、何を狂ったか付け忘れたので、仕方なくAmazonで追加購入した。ボードにアンテナを付けるのが一番ヤバかった。写真に定規を並べていますが、肉眼でみるともっと小さく見える。なんであんな小さいんだ。Uubntuは18.04だとドライバがカーネルに入ってないとかPPAで入れないととかマジめんどかったようですが、20.04ではカーネルにバンドルされたようで面倒がない。

f:id:sasasin_net:20200530021116j:plain

メモリ 64GB, 40000円

32GBでいいんじゃねという気がした。しかしMacbook Proですら32GBが載るのに、いまさら32GBなんて、何が楽しいんですかね。あればあるほどよい、あればあるだけ使う、それがメモリ。上限積載量は32Gとカタログにあるけど、64GBも動くという情報に賭けた。チキンなので確実そうなCrucialにした。チキンなので99さんの交換保証を付けた。

f:id:sasasin_net:20200530021142j:plain

SSD 1TB, 18000円

VMやDockerをワサワサ動かすつもりで、なんか1TBもあれば足りるだろ。とにかく速いやつにした。

f:id:sasasin_net:20200530021206j:plain

キーボード, 7000円

Ubuntuにすることは決めていたが、Ubuntuに限らずLinuxBluetoothをきちんと動作させられた記憶がなく、そうすると有線キーボードかあ、プラプラして邪魔だなあ。ていうかBIOS画面でBluetoothキーボード使えないでしょ。そんな我々のために、LogicoolがUnifying接続キーボードとマウスを作っている。ぶっちゃけダサいし、誰がこんなの買うんだろと思っていたけど、今このコンテキストに置いたことで、究極のキーボードとなった。

f:id:sasasin_net:20200530014421j:plain

ところでマウスもLogicoolにしたので、どうせならUnifyingレシーバーを1個に集約できる。Windows, MacならLogicoolのアプリがあるが、LinuxならSolaarというOSSで管理できる。

pwr-solaar.github.io

家にあったトラックボールマウス

Logicoolの新型と歓喜して買ったものの、Macbookにはトラックパッドがあり、あまり使ってなかった。

家にあった49インチモニタ

私の眼に合っているのか長時間使える。アサクリをアホほどプレイしたモニタなので、眼は十分に慣らしてある。

Ubuntu 20.04 を入れる準備をする

Ubuntu のISOファイルをどっかから入手しておく。

WindwosでISOファイルをUSBに書き込む方法がパッとわからないので、Fedora Media Writerというのを使う。

getfedora.org

UEFIに入る方法は、Lenovoが簡単なマニュアルを用意している。UEFIに入ったら、Secure Bootをdisableにする、ストレージの起動順序をUSBメモリ優先にするなど、Ubuntuのセットアップの支障になりそうなポイントを変更していく。

support.lenovo.com

Ubuntu 20.04 を入れる

Fedoraも試そうとしたけど、日本語まわりとか、なんかいろいろのノウハウを移植するのダルかったので、Ubuntuを使うことにした。自前のシェルスクリプト & Ansibleをひさびさに動かしつつ調整して、ガッと入った。今般の情勢に鑑みて、SlackやZoomのアプリも入れたりしてみた。最初はsnapから入れてみたけど、ibus-skkが通らなかったり厳しさを感じた。debのは素直にIMEも動いたので、使うことにした。Bluetoothは予想どおり挙動不審である。Wifiは安定している。l2tpVPNにサクッと接続できるようになっていて感動した。サスペンドは復帰が怪しくて電源ボタンでOFFってONすることが多く、めんどくさいのでサスペンドせず電源OFFしている。

github.com github.com github.com

Macで使っていたアプリは概ねそろっている。Firefox, Chrome, Slack, Zoom, VSCode, GitKraken, VirtualBox, Docker,,,,そうDockerがネイティブで本物のDockerが動くので、Docker for Macのファイルのやりとりで重い遅いとかないのが最高に良い。

完成

ThinkCentreは、モニタ左側のPS3PS4の間に挟まっている。完成品をベースに自作PCっぽくイジってUbuntuにするのは大いに楽しかった。しばらくはこれをメインPCとして使ってみる。

f:id:sasasin_net:20200530021400j:plain