Chromebook にLinuxコンテナが搭載されたので “つよいワープロ” に改装してみた

 Google Chromebook がいつのまにか Linuxに対応していた。
 より正確にいうと、Chromebook上で動くLinuxコンテナである「Crostini」というプロジェクトが、安定版(stable)でも動かせるようになっていた。
 以前のChromebookは、Google Chrome以外は動かせず、アプリ利用はすべてGoogle Chrome内にWebアプリを導入してなんとかするという割り切った運用が主軸になっていた。こういう方針を「シンクライアント方式」と言う。
 このシンクライアント方式は、当然ながらWifi環境から離れると、ほとんどガラクタ同然になってしまう。Chromebookの割り切りは、弱点でもあった。
 その弱点をなんとかしようとするため、当時も少なくないパワーユーザたちが、ChromebookにむりやりLinuxを入れてデュアルブートらしき状態に仕立てるハックを披露していた。けれど、その手順はしばしば、ややこしい手段で開発者モードにしなければならなかったり、Croutonというコマンドを使った面倒な作業を経ないとならなかった。さらに、手間がかかるわりには、その状態を維持するのはかなり大変だった。総じて、あまり使いやすくないオプションだったと言える。
 今回のCrostiniは、Debian GNU Linux (version は9.9) が入っている。ただし、X window systemLinuxにおけるデスクトップメタファ)はなく、そっけないターミナルが立ち上がるだけの、CUI入力から始まる。とはいえ、GNOME-terminalやAtomVisual Studio Codeなどの、GUIウィンドウがpopするアプリも、普通に立ち上げることができる。Chrome OSの状態はそのままに、Linux経由で入れたアプリも普通に立ち上がる、という環境を手に入れることができるようになったわけだ。
 これがどういうことをもたらしたか。廉価で知られつつもWifi環境などがなければイマイチ性能を発揮できないと思われていたChromebookが、オンライン環境への接続の有無を気にせずに、正規表現機能やバージョン管理機能をバリバリ使えるワープロマシンに化けた(化けさせられるようになった)、ということだ。しかも以前のCrouton時代と違って、セキュリティの低下や妙な挙動について繊細に構える必要もなくなった。

 要するに、そのへんのChromebookが、「ちょっと強いPomera」としても使えるようになったと考えていいのではないか。
[asin:B01LXQZ4WI:detail]

 今手元にあるAcer Chromebook CB3-532(15インチ型)は、自動更新ポリシーが2022年06月までとなっている。少なくともその時間まではChromebook側のセキュリティは保証されるとのことなので、おおよそ2年半ほどはマシンとして使ってもよさそうだ。

[asin:B079WPYBB1:detail]

ところで、本記事タイトルにある“つよいワープロ”が何を指示しているのかについて、私見を述べておく。以下の条件をより多く満たすものを、私は“つよいワープロ”と呼ぶ。

  • オフライン環境でも、電源さえあればテキストエディタを扱える。
  • 正規表現が使える。
  • バージョン管理機能がある。
  • ファイルサイズや字数の制限がない。
  • 上記を除く機能がほとんど備わっていないか、必要最小限である。
  • 予算3万円未満で入手可能である。

 従来のChromebookは、シンクライアント方式を取るため、オフライン環境でのテキスト編集に難があった。
 単機能ワープロバイスとして著名なPomeraシリーズは、オフライン環境でも仕事ができる魅力があるが、正規表現やバージョン管理がなく、字数制限が限られるなど、ワープロマシンに求められる基礎機能が未だに満たされたことがないという点で弱みがあった。
 Macbookやその他のノートPCは、テキスト編集だけでなくプログラムの実行環境としても十分すぎるほどパワフルだが、どうしても高額になりがちであり、“つよいワープロ”の要件を超えて多機能すぎるという点で対象外となる。
 こうした他のマシンとは違い、Linuxコンテナの恩恵を受けたChromebookは、(Google Chromeやその他のLinuxアプリをどんどん搭載していけばリッチになりすぎるという点はあるが、)上記の“つよいワープロ”の条件を過不足なく満たしうる。すなわち、

  • オンライン環境でもAtomVS Codeが使える。
  • AtomVS Codeが使える以上、当然正規表現も問題なく使える。*1
  • Git を(コマンドラインでもGUIでも、どちらでも)使える。*2
  • ファイルサイズや字数の制限は事実上ない。
  • オフライン環境にいる限りは、Linuxアプリとしてインストール済のものでしか作業を行うことができない→限りなく単機能に近づけられる。*3
  • 新品でも3万円以下のものはありうるし、中古で1万円前後のものも存在する。*4

 つまり、Linuxコンテナをハックすることで、十分に“つよいワープロ” を、安価に手に入れることができる、ということが言える。
「娯楽的利用以外では、正直作文にしかPCを使わない」という人は、もう10万円以上の金を払ってラップトップPCを買う必要はないかもしれない。また、自分の普段遣いのPCが壊れたときの緊急避難として、このハックを知っておくことは、手痛い追加出費を免れるための保険として、使えることもあるかもしれない。
 最小限のLinux知識を即席で身につけさえすれば、格安のChromebookをハックして、“つよいワープロ”だけで作業をすることができる……そういう「別解」を持っておくことは、悪くないと思う。

とはいえ、AtomやVSを使うまでには、多少の苦労があった。以下、その手順をメモっておく。
このハックが多少なりとも魅力的だと思えた人は、ぜひLinuxコンテナがサポートされているバージョンのChromebookを手に入れて、試してみてほしい。

(1) Crostini(ChromebookLinuxコンテナ)のアクティベーション

以下の記事の序盤を参照。
wazalabo.com

(2) Fcitx-mozc(Linuxアプリ内日本語入力環境)の導入

 ここからはいわゆるDebian/Ubuntu系のコマンドライン入力を知っておく必要がある。とはいえ、"$ sudo apt" がわかればなんとかなる程度だ。*5

具体的な導入手順は、以下が頼りになる。
kazblog.hateblo.jp

特にここに書かれている

fcitxが立ち上がってない状態(fcitx start か fcitx-autostart のどちらも一度も実行していない状態)で設定画面を開くと、Input Methodの欄が空っぽになる

は、自分自身ハマってしまった。
fcitx-config-gtk3 を実行する前にかならず一度は

$ fcitx-autostart

を実行しておく必要がある。($ fcitx start でもよいみたいだ)

(3) Atomの導入

 Chromebookは、ディレクトリの表示が他のLinuxマシンと比べて素直でないので、「一度DLしたパッケージを展開して」という普通の手続きをGUI側でやることが面倒である。したがって、徹頭徹尾コマンドラインでダウンロードからインストールまでをこなす必要がある(っぽい)。
 具体的には、wgetコマンドとdpkgコマンドを使うとうまくいった。
 基本的には以下の手順に従って進める。
www.karelie.net

 最後の方でエラーを吐く場合がある。その差異、"apt --fix-broken install" というコマンドを実行してくださいというエラー文が出てくるので、そのとおりに以下のコマンドを入力するといい。

$ sudo apt --fix-broken install

(4) Atomの追加パッケージのインストール

https://pepese.github.io/blog/atom-install-packages/
あたりにおすすめの記述が書いてある。とりあえず「japanese-menu」はどのAtom解説サイトでも推奨されているので、それだけ入れることを目指そう。後は必要が出るまで放置しておいてもなんとでもなる。
日本語フォントがこのときまでインストールされていない場合、「japanese-menu」を入れてもうまく表示されていない(Chromebook側で日本語が表示されていても、Linuxコンテナの内部では未だに日本語フォントがサポートされていないため)。もし(3) の段階でまだ具体的な日本語フォントを入れていなかった場合は、コマンドラインで入れること。*6

結果、快適にAtomが動かせるようになった。
たまにfcitx-Mozcが動作していない時があるが、そのときは"fcitx autostart" と入力すると、またCtrl+Spaceで変換ができるようになる。

【おまけ1】VS Code のインストール

教えてもらったのだが、最近はTypescriptを使った開発にVisual Studio Codeを選ぶ人が多いらしい。もちろん正規表現完備。AtomVS Codeのどちらも動くことは確認できたので、気になる方はこちらを選ぶといいだろう。自分は以下を参考に導入した。
qiita.com

【おまけ2】Firefox安定版のインストール

ブラウザはGoogle Chromeで基本的に問題ないが、たまに「別のGmailアカウントで仕事をしないといけない」ということがある。そういう時、Chromebookは最初にアカウント名として選んだGmailしか開かせてくれない。別のGmailアカウントをChromebookに登録して、そちらのアカウントでログインしなおせば開けるけれど、その間にLinuxアプリまで閉じて移行して、Gmailの確認だけして戻ってくるのでは割りに合わない。
ということで、第2のブラウザとしてFirefoxを入れることになる。aptコマンドを以下のように打つとインストールできた。

$ sudo apt install firefox-esr-l10n-ja/oldstable 

既存のFirefoxアカウントとの同期も、問題なくうまくいくことが確認できた。

*1:正規表現とは https://www.mnet.ne.jp/~nakama/

*2:Git とは Git - バージョン管理に関して

*3:決してNethackなどの楽しいゲームアプリを入れてはならない。

*4:ただし、Chromebookのセキュリティサポートが最長でも6年前後しかなく、中古品に至ってはさらにそれらより消費期限が短くなっている点については、注意が必要だ。詳しくは「Google Chromebook」「自動更新ポリシー」等で検索をかけること。公式ページでは、各Chromebook製品のサポート期限を呈示している。自動更新ポリシー - Chrome Enterprise and Education ヘルプ

*5:sudo は UNIX/Linuxコマンドラインにおける、スーパユーザ権限の宣言のこと。apt はLinuxディストリビューションのうち、Debian系およびUbuntu系に属するLinuxディストリビューションで使用可能な「パッケージ管理システム」用のコマンドのこと。Chromebookに搭載されているLinuxコンテナは、本文にも書いたとおりDebian 9 stable であるため、apt コマンドでインストールしたいパッケージを指定することになるわけだ。これがRedHat系だと dnf、Slackwareだとpacman など、同じ状況で唱えるべき呪文が違ってくる。とはいえChromebookのハックにおいては、とにかく apt から始まるコマンドラインのことさえ調べれば事足りるようになっている。

*6:余談だが、AtomがPCにインストールされた時点で、"$ apm install " と入力することで、ターミナルの方でも任意のAtom関連パッケージをインストールすることができる。紹介記事→ https://www.moongift.jp/2014/05/apm-atom

adidas questar ride B44806

大した話ではないが、こういう細かいのをローカルメモに置いておくのは脳に余計な負荷がかかるので、ブログにメモっておく。

B44806 モデルが足に合う。
NIKE等は幅狭が多いため、しっくりこない。またNew Balanceも悪くないが軽さ、ランニングへの適性という点ではこのクエスターライドは悪くない。今度もおそらくこれを買うことになる。

吐兎モノロブ『ブレイズ・ソー・エッジ』(1)

吐兎モノロブ『ブレイズ・ソー・エッジ 1』を読んだ。

短編漫画集『少女境界線』の各作がどれもまとまりがあり、構図やアクションの絵がその都度美しかったので、連載漫画ではどうか、と思って読んだ。だが、一巻末時点まで読んで、凄く惜しい仕上がりになってる。
 どのへんが惜しいと感じたかについて、まず幾つか論点を出す。

  • 1. 映画的視点の切り出しとキャラクターの行為の不一致(が多いこと):
    • 映画カメラであれば快楽の出るだろう演出が、状況を的確に伝える道具として機能していない。話として理解するためにフキダシとコマ内絵を“並列に”読む時間が多い。そのため、「映画のフレームをコマとしてそのつど切り出してみたが、物語内容を適切に伝える画角を微妙に外した絵」がコマとして出てしまう。構図はメチャカッコいいのだから、これが映画の絵コンテなら100万点である。だが、マンガはコマ内に情報がそのつど提供されていた方が読みやすくなる傾向がある。そうすると、映画的に美しいはずのコマが、マンガとしての打点にいまいち結びつかない。
  • 2. マンガ的快楽と脚本的リズムの不一致。
    • 絵的に大成功していると今回ハッとさせられたところが「四話末から五話中盤の戦闘シーン」だった(この漫画の、漫画としての買いどころ。戦闘シーンが著者にとって高確度で把握されていると思われる)。しかしだからこそ、話としてはここからホットスタートで始めてもよかったのではないか。
    • 連載最初の1話から4話までは「エピソードゼロ」に位置する話である。そこで書き手によって必要だと想定されているドラマ(漫画の様式に依存しない、特定の表現形式により実装される前の“物語的な何か”)と、実際に著者が描いてみせた4話から5話で描かれるマンガ的面白さ(=漫画という特定の表現形式により実装された面白さ)は、特に直結していない。いや、確かに「年代記(クロニクル)」としては妥当な発想なのだが、連載において漫画の快楽を出すためには年代記が常に最適というわけではない。
    • 倒叙をうまく活かして、「著者の得意な漫画的快楽」を毎話ドライブできるようなネーム構成にする、さらにそれを数珠繋ぎにする……その中で「エピソードゼロ」を仄めかし続ける、というふうにすると、第1話時点で4話終盤の速度のロケットスタートを切れたと思われる。
    • そうしてみると、たとえばどんな種類のネーム構成に近づくかというと、おそらくは『ニンジャスレイヤー』になる(単話の事件解決を繰り返す中で、プロットのダシをその都度ちょい出しする仕組み)。必ずしもニンジャスレイヤー式を踏襲する必要はないけど、速度は出続け、アクションは毎回出せるようになる。たとえそれが非−漫画的見地からみたらほとんどストーリーの進捗の助けにならない展開でも、単に純粋にアクション漫画的な快楽を提供するというノルマを果たせるのなら、出してもよいのではないかと思う。そのように得意技をプレゼンせざるを得ないように逆算してネームとプロットとを切ってしまう)というようにしたら、たぶん読者である私は5話前半のような旨い漫画を毎話食わせて貰えた予感がする。
  • 3. 強キャラ出現の早さ。
    • 先述したような読み手として想定したような「単話ごとにコンビ打ちしつつ小事件解決」みたいな方式で仮に同作のプロット消化を始めた場合、たぶんエピソードを最低3、最大7つ消化した時点で漸く新キャラが出るくらいでよかったと思う。物語も絵も主人公バトルガールズの2人に焦点が当たってるのは明白だし、その2人がどうコンビを組むのか(そして組み難さを解消していくか)、バディもののプロットの壁を巧みに踏破するまで、他の話は画面外に退けておいて良かった。

 上記1,2,3に共通する総合的な指摘もしておきたい。
 もし仮に漫画という表現形式を{コマ、キャラクター、フキダシ、背景}等の要素で成り立つ情報伝達(=プレゼンテーション)のいち形式と捉えた場合、この『ブレイズ・ソー・エッジ』第1巻は、「プレゼンとしての」漫画のリズムが、かなりの程度、乱調しているように見受けられる。それはまるで、伝えるべき情報が取り急ぎ詰め込まれて、リアルタイムで口頭説明するための時間配分も十分に検討しきれなかった、PowerPointのスライド発表みたいな感じである。
 だが、描き手の本来の地の力がこれとは、私はまったく思わない。同著者の『少女境界線』は、単話完結ものとしてはどの話もビシッと締まっていて、この種のしくじりパワポスライド的な乱調が(少なくとも自分が読む限りでは)ほとんどなかった。どれも面白い佳作になっていた。

 この二作を比較するに、もしかすると著者は、新作着手にあたり「単話完結漫画」と「連載用の中長編漫画」とを、互いに遠く離れたべつのカテゴリとして区別しすぎたのではないか。
『ブレイズ・ソー・エッジ』と比較するとエッセンスとして面白いのが久保帯人の昨年の読み切り漫画『BURN THE WITCH』 だ。

https://shonenjumpplus.com/episode/10834108156632237436shonenjumpplus.com

 この読み切り漫画は、一言で言えば「マジカルに強い力をもつ久保帯人ガールズが、バディで戦う話」で尽きてしまう(もちろん、面白さを構成する工夫は随所にあるだろう)。
 これがたとえば仮に今後連載化したとして、その時も暫くは単話完結のような短い区切りの話が続くのではないか。

 単話でイイ話を貯めつつ、世界法則とバディの成長についてミニマルにプレゼンを続けながら、数巻目で巨大な連続シナリオをブッこむ、みたいなリズムのとり方は、魔法や超能力やその他の超常的な要素があるほど、有効なやりくちとなる。たとえば、最終的には壮大なサーガを綴ることになった『鋼の錬金術師』も、序盤はそのようなミニマルなプレゼンを繰り返すスタイルを採用していた。「勘のいいガキは嫌いだよ」のくだりも、それ自体長い話でない、一つの街の一遭遇の中で出てきたものだ。
 しかしこうした、悪く言えばぶつ切りのプロット消化のやり方は、映画的カッコよさとは縁遠くなりがちなものでもある。映画の序盤で経験値稼ぎみたいな単話でジャブを撃つ必要はそもそもないのだ。なぜなら映画館に座りにきた人々は、(よほど駄作でない限り)2時間前後座りつづけるシステムを前提に来てるのだから。そこでは例えばカメラワークの洗練されている具合の方が、情報として大事になる。映画的プレゼンのほうが問われるわけだ。

たぶん、『ブレイズ・ソー・エッジ』の難点は、話のわかりづらさそのものではない(むしろ話は、散りばめられたジャーゴンを省いてみれば、極めてわかりやすい)。むしろ映画的プレゼンの技法にかなりヨセて最適化されたカメラワークやプロット消化のリズムが、先に述べたような「漫画的プレゼン」という、連載漫画の序盤にこそ要請される課題にあまり貢献してないから、情報の読解がはかどりづらいようにできてしまっているのではないか。

『ブレイズ・ソー・エッジ』は、第2巻で一旦完結するらしい*1。それはこの構図・キャラクター・アクション・カメラワークを繰り出せる著者の出す結果としては非常に意外な結果である一方で、同作の物語を「連載漫画」という形式に落としこむ過程で、明らかな遠回りを選んでしまっていることも、編集部判断に影響してしまっているのではないかと推測する。
 しかし、ここからの新作での執筆は、意外とうまくいくのではないかとも思う。要するに、単行本3冊ぶんのストーリーが漫画に落とし込まれるまでの間は、ひたすらに単話(長くとも前後編)の単位を保持したうえで、著者の得意分野である{アクション,キャラ同士の感情のもつれ,キメ構図}と言った要素でページをリズミカルに埋め尽くした、「毎回一発勝負の、漫画的プレゼン」をベタに狙ってゆけばよいのではないか。それは映画的カッコよさの文脈からは一時的にやや遠ざかるものの、きっとまるで音ゲーの目押しがぴったり合うかのように、キマる内容になるだろう。
 吐兎デザインのキャラクターがバディを組み、15-30話ぶんくらい、ひたすら短めの戦闘遭遇を繰り返す。その中で、じわじわ世界やキャラのありようが小出しにプレゼンされれば、それで十分、商業作品としての上質な快楽が引き出せるのではないか。
 そのあたりまで連載が続いたら、おそらく容易に実現できるだろうことが二つある。第一に、作品の序盤でほのめかされていた背景設定に、主人公ないしバディがまっこうから挑むだけの準備が揃うこと。そのあたりまでついてこられた読者なら、数話またがった複雑な、シナリオも、大した辛抱もせずに待ち続けられるようになるはずだ。そして第二に、漫画的プレゼンがある程度済んだ段階でこそ著者の元々得意とする映画的カメラワークが、著者の目指すバトルアクションの快楽をうまく引き出す方向に作用するだろうこと。これはおそらく、ケレン味のあるアクションアニメを作ろうとするアニメータの絵コンテにとって、動かす手がかりの多い、魅力的な素材になっていることだろう。

連載作としての『ブレイズ・ソー・エッジ』は、おそらくは「2時間強の、状況を時間軸どおりベタに追っていく実写アクション映画」としてネームを切ってゆく方向になってる(そのように見える)。しかし、「断片的な回想を織り交ぜつつ、基本的には単話ごとに戦闘遭遇が解決されてゆく変身ヒーローもの(ライダーやプリキュア等)のようなシリーズ構成」の方で序盤のドラマ進行を制御したら、同作はまた違ったリズム感を伴って読者に映ったのではないか。同作の、映画的/漫画的のアプローチの齟齬が紙面上でギチギチと拮抗している様を読んでいて、そのように考えていた。

私は同作者の『少女境界線』、特に「Paper man」序盤の通夜シーンのカメラワークにヤラれた。だから、いつか同作者の漫画が良いアクションアニメ監督によってアニメ化されて欲しいと願っている。「映画的」と「漫画的」の淡いを上手く捏ね上げて、ヒットするだけのポテンシャルを、この著者のカメラアイは備えているように思えるからだ。
http://shonengahosha.net/works/paperman_001.htmlshonengahosha.net

*1: