Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

SGI IRIXのデスクトップをLinux上に再現する試み MaXX Interactive Desktop ver 2.1のインストール、日本語入力、そして日本語化

f:id:espio999:20200705233751p:plain
今の時代、パーソナル・コンピュータ(以下PC)は、学生でもアルバイトすれば十分なスペックの環境が入手できるほど一般的なものになった。同時に、PCに対して、手の届かないものに対する憧れのようなものは失われてしまったように思う。
いわゆるWindows機に対して、ブランド・イメージやUNIXと言う観点からMacが憧れの対象という人もいるかもしれないが、それにしても、とても手の届かないという製品でもない。

私が学生時代、Indy、IndigoなどのSGI (Silicon Graphics International) 製ワークステーションが、手の届かない憧れの製品だった。搭載されていたOSである、IRIXのデスクトップをLinux上に再現しようというプロジェクトがある。今回取り上げるMID (Maxx Interactive Desktop)だ。
Hyper-V上に構築した最小構成のubuntu上にインストールしてみた。

この投稿で使用している環境は、以下の通り。

Ubuntu 20.04 LTSでもインストール可能だが、インストール作業前に一手間必要だ。この作業についても、併せて紹介する。

2020年7月12日追記

この投稿に記載の手順は次のサイトで公開されている情報に従っている。7月7日の2.1.0リリース以後、その内容が頻繁に更新されている。更新の都度、新しい情報をこの投稿へ反映していくのは難しい。
MIDをインストールしようとするユーザーには、この投稿に記載されている情報を、何も考えずに適用するのではなく、公式サイトに記載されている情報を確認しながら、この投稿に反映されていない情報や、不足分を自ら補うことのできる能力と努力が求められる。
何も考えずに投稿に記載された手順を追いかけることしかできないユーザーに、MIDのインストールは難しいだろう。
maxxinteractive.com

apt repositoryの登録

この作業はUbuntu 20.04 LTSの場合にだけ必要な作業だ。次の項目で触れるstep1で、次の2つのパッケージをインストールすることになる。

  • llib64ncurses5
  • lib64tinfo5

この2つはUbuntu 20.04のapt repositoryでは提供されていないため、提供しているrepositoryを追加登録しなければならない。Ubuntu 18.04 LTSのrepositoryでは提供しているため、このmain repositoryを登録することにする。コマンドを用いる場合は

apt edit-sources

ファイルを直接編集する場合は

/etc/apt/sources.list

そして末尾に次のrepositoryを登録する。

deb http://archive.ubuntu.com/ubuntu bionic main

この作業はGUIでも対応可能だ。次のように操作して、目的のrepositoryを登録する。

Software & Updates > Other Software > Add...

f:id:espio999:20200708235249p:plain

登録方法は公式サイトでも紹介されている。
help.ubuntu.com

MIDのインストール

MIDのインストールは、そのダウンロードも含めてスクリプトとして自動化されている。インストールしようとするユーザーは、スクリプトを手入力するか、シェル・スクリプトとして実行する必要がある。いずれにしても、それほど手間はかからない。公開されているステップに従うだけで、問題なく終了した。
手順は、次のサイトで公開されている。私はUbuntu用の手順に従っている。
maxxinteractive.com

初インストールであれば3ステップ、旧バージョンを上書きしてインストールするならば4ステップ存在する。仮にシェル・スクリプトを作成するならば、次の箇所ごとにファイルを分けることになるだろう。

step1 Software Package Requirementsをスクリプトにする。 sudoでスクリプトを実行する。
step2 Installationの1~3行目、5~6行目を合わせて、単一のスクリプトにする。 sudoでスクリプトを実行する。
step3 Post Installation Tasksの手順1、1~3行目、手順2の2行目を単一のスクリプトにする。 ログイン中のユーザーでスクリプトを実行する。
step4 Post Installation Taksの手順3をスクリプトにする。 sudoでスクリプトを実行する。

スクリプトをstep1.sh、step2.sh...としてログイン中のユーザーのホーム・フォルダに保存していたならば、実行コマンドは、次のようになるだろう。step3だけはローカル・ユーザーで実行するため、sudoを用いない。

sudo chmod 777 step*.sh

sudo ./step1.sh
sudo ./step2.sh

./step3.sh

sudo ./step4.sh

インストールが完了したら、ubuntuからログアウトする。再ログインの際に、デスクトップを選択するアイコンから「MaXX Interactive Desktop」を選択する。
f:id:espio999:20190929202232p:plain

日本語入力設定

ubuntuにインストールされているibus、mozcを利用して、MID上でも日本語を入力することができる。MIDが起動したら、ターミナルからコマンドを実行すればよい。例えばデスクトップ上にあるwintermからコマンドを実行する。
まずibusを起動する。すでにubuntu上でibus、mozcの日本語設定を完了しているのであれば、ibus-daemonを起動するだけでよい。実行するコマンドは、

ibus-daemon -d -r

画面右上角にmozcのバーが現れる。ユーザーは、バーをドラッグすることで任意の場所へ移動することができる。
f:id:espio999:20200705234256p:plain

念のため日本語設定を確認の上で起動するならば、ibus-setupを起動する。コマンド実行時にibusの起動を問われるので、起動を承認すればよい。
次の画面が起動するので、該当のタブから"Preferences"ボタン押下でmozcの設定に移る。

ibus-setup

f:id:espio999:20200705234355p:plain

mozcの標準入力が直接入力「Direct inpurt」(変換のない英語入力)なので、ひらがな入力ローマ字変換入力)に切り替えるにはひと手間必要だ。
私は入力方法の切り替えに、手近なショートカットを設定することで、その手間を軽減している。例えば、ショートカット・キーの組み合わせを「Ctrl + Insert」とする。この設定を、Mozc Keymap editorの次の箇所に設定する。

Mode Key Command
Direct input Ctrl Insert Activate IME
Composition Ctrl Insert Deactivate IME
Conversion Ctrl Insert Deactivate IME
Precomposition Ctrl Insert Deactivate IME

ここまで設定すれば、対応しているアプリケーションでの日本語入力が可能となる。例えば、ChromiumVSCodeだ。

f:id:espio999:20200705234518p:plain
f:id:espio999:20200705234548p:plain
f:id:espio999:20200705234754p:plain

システム・フォントの日本語化

MIDに限らず、英語版のインタフェイスであったとしても、日本語の入出力が出来さえすれば、私は困らない。特にWindowsのタイトルなど、システム周りのフォントに日本語が表示される場合、デフォルトのフォントが英字のみで構成されていれば、日本語が正常に描画されない。
f:id:espio999:20200705234956p:plain
こだわる人、神経質なユーザーならば、このような箇所も日本語対応したいことだろう。MIDでは、次のファイルを書き換えることによって対応可能だ。

$HOME/.maxxdesktop/Xdefaults.d/Xdefaults.modern

デフォルト・フォント・ファミリーとして"Sans"や"Roman"が指定されている。特に赤で囲んでいる3行について、これらを特定のフォント・ファミリー、あるいは特定のフォント名に置き換えればよい。
f:id:espio999:20200705234925p:plain

例えばセリフ付きのフォントに置き換えるならば、該当箇所の記述は次のようになる。

*windowTitleFont:   Serif:size=10
*feedbackFont:      Serif:style=Bold:size=12
*iconTitleFont:     Serif:size=8

特定のフォント、例えばubuntuのデフォルト日本語フォントに置き換えるならば、やはり該当箇所をフォント名で置換することになる。注意したいのはフォントのファイル名ではなく、フォント名を記述することだ。
フォント名の確認にはコマンド"fc-match"を用いると便利だ。

*windowTitleFont:   Noto Sans CJK JP:size=10
*feedbackFont:      Noto Sans CJK JP:style=Bold:size=12
*iconTitleFont:     Noto Sans CJK JP:size=8

どのようなフォントでも、フォント・ファミリーでも構わない、とにかく日本語が表示されて、汎用的に機能してくれればよい、と言うことであればフォント・ファミリーと日本語を指定すればよい。例えば、このような具合だ。

*windowTitleFont:   Sans:lang=ja:size=10
*feedbackFont:      Sans:lang=ja:style=Bold:size=12
*iconTitleFont:     Sans:lang=ja:size=8

適当な設定内容に更新したら、ファイルを保存して、次のコマンドを実行する。Windowタイトルのフォントが動的に変更され、日本語が正常に表示される。

update-desktop
tellwm restart

f:id:espio999:20200705235154p:plain
ちなみにサイズの値を変更することで、フォントの表示サイズを変えることもできる。試行錯誤してカスタマイズしてみてほしい。

余談

ubuntuの標準デスクトップに不足はないが、不満はある。タブレットとデスクトップのインタフェイスを統合しようとして、MicrosoftWindows 8をリリースしたが、ユーザーには受け入れられなかった。Canonicalも同じ轍を踏んでいる気がする。デスクトップだけ見れば、そのGUIはデスクトップOSとしてのそれなのだが、設定画面やその他のWindowを参照すれば、あちこちにタブレット的な要素が感じられる。
目には優しいのかもしれないが、不必要に大きなアイコンや文字が不満なのだ。不必要に文字が大きいと、子供向けのように感じられるのだ。

またフラット・デザインと呼ばれる趣向のデザインも気に入らない。闇雲に流行を追いかけるデザイナーの自己満足にすら感じられる。説明抜きに見たら分かる、理解できるアフォーダンスをユーザーに生じさせるデザインであれば良いのだが、実際に目にするものは、どこが操作可能なのかが分からないものが多い。

CDE (Common Desktop Environment)的なデザインの見た目は地味で、操作も今時の流儀とは異なるのだが、どこが操作できる部分で、ユーザーは何をすればよいのか、いくらかでもアフォーダンスを生じさせるデザインとして優れていると思う。

関連リンク

MIDの活動は次のwebサイトで公開されており、コミュニケーションにはslackが活用されている。
maxxinteractive.com
app.slack.com