【挑戦】学校のパソコンで何でもできてしまう方法
こんにちは、パソプロです。
約半年越しの投稿になります。
というのも、一度「投票するだけの人」になったんですが、
面白いことに気がついたので発表しようと思い、再び投稿しました。
今回の記事は私の半年分が詰まっているので、かなりの長文になりますが、ぜひとも最後まで読んでいってください。オネガイシマスm(__)m
ちなみに最近体育のマット運動で調子に乗って肩痛めました。皆さん気をつけまsy((殴 どうでもよいわ!
それではどうぞっ!(^O^)/
経緯
まず今年(2025年)の3月ごろです。
私がクラスメイトの家に突撃(訪問)したときのことでした。
彼の家にあるものがおいてあるのを発見しました。
そう、OrangePiです。
オレンジパイっておいしそうやな...と思った人、食べ物じゃありません。
このOrangePi 5 Pro(以下opi5と呼びます)、わかりやすく言うとマザーボード、いわゆる「パソコンの本体だけ」です。
http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-Pro.html
(OrangePi の公式サイト)
それを使って何ができるのか...?
ざっくりとした答えですが、可能性は無限大です。
機能的にはパソコンと変わらず、wifiを適切に繋げばインターネット接続もできます。
パソコン好きの方はわかると思いますが、CPUもGPUもありますし、メモリだってちゃんとあります。
しかし、このopi5、文字通り本当に「本体だけ」なんです。
OS(Windows、Macなどのこと)は出荷状態では入っていませんし、当然見慣れたマウスカーソルとアプリアイコン(以下GUIと呼びます)もありません。
ただ、私の友人(以下Sくんと呼びましょう)はすでに自分であるOSをopi5に書き込んでいました。
Linuxです。
ご存知でしょうか。あらゆる企業が開発段階の商品をテストしたり、パソコン好きが実験がてら遊んだりする(私の偏見もありますが)、
何より完全無料(一部有料もある)、登録すらいらない誰でもダウンロードできてしまう素晴らしいOSです。
皆さんもたまにソフトのダウンロードのときに、「Linux版 64bit」というような、
座ったペンギンのマークといっしょに候補が出てくる場面を見たことがあるのではないでしょうか?
そのLinuxの最大の長所が、自分でOSをいくらでもカスタマイズ(実質改造)できる、というところです。
そしてもちろんサポートセンターなんてありません。ただ、手厚いコミュニティーサポート(githubやarch wikiなど)があります。
例えば、他のOSならセキュリティや対応状況のせいで絶対に入らないようなパッケージ(ゲームで言う追加コンテンツのようなものでしょうか)が
簡単なコマンドとパスワードを打ったらすんなり入れられる、なんていう例があります。
他にも、時代の最先端をゆく斬新なGUIやシステムを導入したりと、現実世界の「DIY秘密基地」のような感じです。(あくまで個人の感覚です)
気になる方は「Hyprland」や「Linuxディストリビューション」と調べてみてください。
私は以前からLinuxに興味があり、そういった類の「自分だけのパソコン」を作るのが夢だったので、早速Sくんが別のマシンに乗り換えた時期に貸してくれと頼んだわけです。
CUI時代、そしてVNC
上の画像が見出しにもある「CUI」です(私のものではありません)。
CUIってなんぞや?(´・ω・`)という人もいるでしょう。
CUIとは、Character User Interfaceの略で、まあ、簡単に言うと「キーボードをカタカタしてコンピューターを操る場所」です。
こんな場所を自由に操れるというのは、なんだか楽しいですよね...(同意しなくていいです)
それで、私がSくんからopi5を借りるとなると、彼の所有物ですし物理的にお借りするわけにはいきません。
そこで考えついたのがSSH。以前から学校の休み時間にプログラミングをしたいときなんかにVScodeをSSHやトンネリング(気になる方は調べてみてください)で接続して使っていたので、この方法にさほど抵抗はありませんでした。
SSHとは、要するに遠隔で他の端末に簡単なターミナル(CUIを使える場所)やCUIの情報などを読み書きできるようにする技術です。
そして、私の「どこでもCUI」での地道だが楽しい作業が始まったのです。
場所は学校や家、自由時間は楽しくエラーログと向き合っていました。(共感しなくていいです)
まず私がやりたかったのはCUIからの脱出、つまりGUI(Graphical User Interface)での直感的でクリエイティブな作業をしたかったんです。
そこでまずはじめに考えたのはVNC(この方法はSくんが教えてくれました)。
VNC(Virtual Network Computing)とは、その名の通り、実際のパソコンの画面をネットワークでユーザーの端末に飛ばしてリアルタイムで表示させ、そこでの入力を受け取って画面に反映する技術です。わかりやすく言うと、SSHのGUI版といったところでしょうか。
つまり、遠隔で皆さんが普段見ているようなパソコンの画面を操作できる、ということです。
そしてそのために三ヶ月ほど隙間時間を使って格闘し、なんとかLinux 6.13(そもそもの安定して動くOS)、Sway(GUIでの操作領域)、
wayvnc(VNCの発信する側)、NoVNC(VNCのwebブラウザで受け取って入力を送る側)という構成にたどりつきました。
(気になる方は調べてみてください)
さて、これで何ができるか。
まず、「様々な端末でリンクを開いて接続先の番号をポチポチ入れるだけで自由にSくん宅にあるパソコン(opi5)の画面を操作できる」ということができます。
そして、とあるブログサイトがいつものようにchromebookでブロックされ、それをVNCで開いたとき、私は気が付きました。
「あれ、これって完全に自由なパソコンじゃん」、と。
そう、Linuxに対応していれば何でもアプリを入れられるし、接続が続くかぎりネットサーフィンも無制限...
と、私も思ってしまった時期がありましたとさ。
このVNC、欠点がありました。
重たい (ノ∀`)アチャー
GUI時代、そして改良
ということで、ここからの2.5ヶ月は改良です。
(ちなみに上の画像は私のものではありませんが、全く同じサービスを使ったSSHの様子です。)
ここからはさらに作業も熱を帯び(共感しなくても以下略)、かなりのことをやったので詳しくは書きませんが、
wayvncはSelkies-Gstreamerという高速webストリーミング専用サービスに、SwayはダミーHDMIプラグという道具を経てHyprlandという最先端のGUIに、Linuxカーネルのバージョンは6.13から6.17というAIに特化した最新のbeta版に進化したわけです。
そして現在、Hyprlandの最適化を図っています。
歴史は繰り返す
ここで疑問が浮かんだ人もいるのでは無いでしょうか?(いないと思います。)
なぜ私がさらに作業に熱中している只中、こんなに長ったらしい記事を書いているのか?
数日前に肝心のGUI情報を受け取るリンクがブロックされましたぁ!
(;´д`)トホホ…
そしてさらなる疑問が湧きます。(湧かな以下略)
なぜ私は「そして現在、Hyprlandの最適化を図っています。」と言ったのでしょうか?
ブロックが解除できるからです。(本職がそっちなので)
というわけで自己アピールはこの辺にしておいて、今回は
「私が意図せずに完全なる自由を手に入れてしまった」
という話でした。
最後までこんな長い記事を読んでくれた皆さん(そんなにいるわけ以下略)、本当にありがとうございました。
気になったこと、質問したいことがあればどんどんコメ欄にどうぞ!
それでは、そのうちまた別の記事でお会いしましょう。
BYE! (^^ゞ

