いやはや、世の中にはクールで変態なハッカー(褒め言葉)がいるものです。
この『jor1k』というプログラムは、完全にJavascriptで実装されたOR1K(OpenRISC 1000)エミュレーターで、ブラウザ上でLinuxを実行することができてしまいます。
ブラウザ上でLinuxを起動してターミナルでコマンドラインの入出力をするだけであれば、これまでにも「Javascript PC Emulator」というJavascriptで実装されたPCエミュレーターがありました。しかし、『jor1k』のスゴイ所はX Window Systemが起動しGUIもちゃんと操作できることです。たとえば、冒頭の画像は、“お決まり”のxeyesを起動してみたところです。ちらつきはあるものの、目玉がマウスカーソルを追う所も完全に再現出来ています。あくまでも実験的なものであり、決して実用的なものではありませんが、これは感動モノですね。
なお、操作上で注意しなければならないのは、Linuxの起動中、左半分の画面に「Please press Enter to activate this console.」と表示されたら、Enterキーを押さなければならないという点です。この操作を行わなければ、一向に次へと進みません。
実際に試してみたところ、最新バージョンのIE、Chrome、Firefoxで実行することができました。Android上のChromeでも起動はしますが、ソフトキーボードが隠れてしまっていたため実際に操作することはできませんでした。
カーネルは、Linux 3.11.0-rc3と、比較的新しいものが使用されているようです。
エミュレーター上で実行出来るディスクイメージには、「Graphic demos, games, and ScummVM (Monkey island) 」「Gnu C Compiler. Compile Frotz to play a text adventure」「Basic X window system running twm, glxgears, xterm and xeyes」「Wayland/Weston running a few demos and a terminal 」という4種類が用意されています。
ディスクイメージによってはgccも使用出来るため、プログラミングやLinuxの学習等にも活用出来るのではないでしょうか。
……。
…………。
それでは、せっかくの仮想環境ですので、一度はやってみたかったこんな遊びをしてみたいと思います。うへへへ。
『jor1k』で起動したLinuxに以下のコマンドを投入します。
rm -rf /
しばらくすると……
lsコマンドすらエラーで実行できなくなるという結末に。
いわゆる、ファイル全削除ですね。
というわけで、みなさん、くれぐれも本番環境で「rm -rf /」コマンドを実行しないようにしましょう。
(結論が明後日の方向に)
参考URL
・実際に動く『jor1k』のデモページ http://s-macke.github.io/jor1k/ (リンク)
・『jor1k』のソースコード https://github.com/s-macke/jor1k/ (リンク)