(参考)インタフェースとUnixの設計思想
◆デスクトップ環境は着せかえ人形
教科書第 1 章の1-1-3( p.15 )には「UNIXは文字中心」と書いてある.
それは間違いではないが,最近のUnixはウィンドウシステム( X Window )が普及し, ほとんどの場合インストールした直後からGUI環境をフルに利用することができる.
つまり,Unixも,WindowsやMacOSと同じような操作ができるということだ.
さらに,Unixのウィンドウシステム( デスクトップ環境 )は非常にフレキシブルで, Windowsよりも選択の幅がはるかに大きい.
デスクトップ環境を切り替えると'Look & Feel' ---見た目も使い勝手も,まったく別物のOSのようになる.( Windows風やMac風にもできる )
※ただし,WSL環境はあくまでもWindowsの上で稼働しているので,ウィンドウサーバを別途導入・起動するなど,少々面倒くさい.
以下にデスクトップ環境の例を挙げておく.
https://gyazo.com/d3fca87cbdb47a4b205c51ffa25e7a2b https://gyazo.com/b64c29a94ca67f6b30527e766be1ddb2https://gyazo.com/44993bf07fc7643c498d31d349b4b6fb
左:GNOME(Ubuntu標準),中:Xfce,右:KDE Plazma
※参照:
※これらの記事ではディストロごと変更のように書いてあるが,デイストロ固定(例:Ubuntu)してデスクトップ環境だけ変更は可能
※ちなみに藤井はfvwm派(太古のウィンドウマネジャ)
◆シェルも着せ替え出来ます
また,コマンド入力を受け付けるシステムである「シェル」も変更可能.
標準は"bash"
追加インストールすれば"zsh""tcsh"
などを切り替えて利用できる
ちなみに藤井はtcsh派
これらインタフェースやシェルといった周辺部分を大幅に変更しても, システムの中核部分( カーネル )は同じなので,同じOSだといえるのである.※ちなみに藤井はtcsh派(BSD系Unixで育ったので)
◆カスタマイズはUnixの真骨頂
与えられた環境の中で言われた通りに限定的な作業をするだけならば, UnixもWindowsもさして変わりはないし,どちらが優れているわけでもない.
しかしUnixはツールやインタフェースの選択の余地が大きく, さらにひとつひとつのツールの設定を細かく変更できるようになっている .
※ これをカスタマイジング:customizing という
自分の入力スタイル,業務スタイルに合った設定を徹底的にカスタマイズすれば,そのユーザにとって理想的なインタフェースを構築できる.
ユーザの学習が進んだり,利用環境や用途が変化すれば,それに伴って インタフェースを変更することも可能である.
◆"small tools"の思想
これらの機能の多くは,沢山の小さなプログラムからなっている.
これは"small tools"と呼ばれ,"simplicity"や"KISSの法則"といった「UNIX哲学」の具現でもある.
すなわち,単機能の小さなプログラムを沢山用意しておいて,それらを柔軟に組み合わせることで,さまざまなタスクに対応しようという設計思想である.
これこそが,巨大なアプリケーションを動かす基盤としてのWindowsやMacOSに対するUnixの強みであり, 1960年代の開発当初から受け継がれてきている「設計思想」の現れだとも言えるだろう.
このように,GUIでもCUIでも選択肢の広いUnixだが, 本実習ではすでに進めている通り,もっぱらターミナルでのコマンド入力で学習を進める.
しかし,ぜひ時間を作り,ネイティブなUnix/Linuxをインストールし, 自分好みにカスタマイズしてみることをお勧めする.Windows/Macでしかできないことって案外少ないんだということに気づくとともに,自分でしっかりカスタマイズした環境は,手放せなくなるだろう.
Unixの柔軟な設計思想に触れることによって, 皆さんにはインタフェースの大切さと, ソフトウェアデザインの面白さを発見してもらいたい.
以上.
2023/6/14