スマートフォンでLinuxデスクトップ環境を作れるか否か―やはりオタクにしかできないと思う―

今日の記事は特に前振り無し、タイトル通りでスマホにLinux環境をインストールできるか否かについて試した話。

世の中で「OS」といえばWindows、MAC、Android等の知名度が高いと思う。でもパソコン、というかコンピューターに関わる人間であれば他にも多くを知っている人が多いはず。

windowsやMACなんかは有名な企業がリリースする有料なOSなわけだが、Linuxはオープンソースで開発され続けている歴史ある無料なOSである。

で、本来市場に普及しているスマートフォンはandroidかiOSしかないのだが、最近はアプリを通してLinuxをエミュレートできるという事で早速試した。



とりあえず結論だけいうと筆者は「無理」だった。挑戦期間は3日ほどだったが、惜しいところまで行けたものの挫折した。

これでもFE持ちだしパソコン歴は長い。Linux歴は皆無だったが自分である程度調べて模倣する程度の事は筆者のスキルでもできる。
※基本的にCUIから操作して設定を始めていくため、この時点であきらめる人が多いと思う。

・スマホ側が悪いのかアプリ側が悪いのか釈然としない点。
・所詮はエミュレーターであるため正規のLinux環境ではない点。
・仮にスマートフォンにLinux環境を構築できたところでやはり今のwindows環境には及ばない(現実的ではない)点。

以上から「こんなのはそもそも趣味とか自己満足の世界で、実用性には程遠い」とすっかり冷静になってしまった。



とりあえず筆者がやったことをまとめる。

使用したのは「UserLAnd」。
グーグルプレイストア、あるいはF-Droidの2ルートからインストールできる。

ただし両者は同じアプリであってもバージョンが違うようで
1,グーグルプレイストア版:アプリ上でターミナルとGUIを切り替えられる。
2,F-Droid版:アプリ本体の他に自分でVNCビューアをインストールしないとGUIを使用できない(bVNCを進めてくるのでインストールするだけ)。

ここで本記事の結論を判断した最大の理由が【VNCが頻繁にエラーを吐いて落ちる事】。つまり使用中にしょっちゅうセッションが切れるのでデスクトップ環境で落ち着いて作業できない。
※エラー内容として予想できるのは
・接続切れ(エラー内容にもテキストで出てくるが理由が不明)
・アプリの負荷でandroid側がタスクキルしてくる
・アプリのエミュレート上のエラー

この辺、いくらWebで調べても出てこないため、恐らくandroidのバージョンが更新されたことによる必然的なバグで、故に誰もわからないので情報をあげていないのではないか?

ネット上での記事は2023年時点までしか出てこないのでそんなに古い情報ではないのだが、グーグルのandroid仕様は見えない所でしょっちゅう変わるだろうからアプリ開発者でもない限りわからないところだろう。



とりあえず作業内容をまとめる。
・使用端末:Sharp Aquos R5G
・使用アプリ:グーグルプレイストア版
・ディストリビューション:ubuntu
※debianでも試したがどちらも特に違いはなさそうで頻繁にエラーで落ちた。

■初期設定(ターミナル)

sudo apt install update
sudo apt install upgrade
sudo apt install dialog
sudo apt install vim

この辺からロケール設定、日本語化を進めている情報があるがまだ要らないし後からでもいいと思う。

とりあえずデスクトップGUIを入れたほうがファイルの追記とかしやすいだろう。ところでグーグルプレイストアの公式説明にも「lxde」を例にしているのだが、ほかにもXfce(実際に導入できたのはXfce4)をインストールする情報もあった。

正直なところ、今までLinuxを触った事がない人間からするとまだこだわりとか全くないのでとりあえずwindowsライクなlxdeでいいと思う(メニューバーが画面下部にあるのでなじみやすい)。どちらも軽量という話だが、そもそも動作自体が不安定なのでそれどころじゃない。尚、筆者の体感ではXfce4だとアプリがエラーを吐きやすい感じだった。

というわけでlxdeをインストールしている。

sudo apt -y install lxde
exit

インストールしただけではダメで、このあとターミナルをExitで終了。アプリ側でセッションを終了→Stopapp。再度ubuntuを起動するが、ターミナルではなくGUIで起動し、Landscope(横長)画面に設定。

■デスクトップ起動(GUI)

この時点でlxdeは起動しておらず、ターミナル画面だけ表示されている。ここで

startlxde

をコマンドすればlxdeが立ち上がりデスクトップUIが表示される。
これは、ubuntu起動時に毎回ターミナルからコマンドしないとlxdeが立ち上がらない。
※コマンド後、このターミナルがlxdeを実行している都合上、消すとlxdeも終了するので以降はlxdeから更にLXターミナルを起動してコマンドしていく。

これは面倒だろうという事で、ホームディレクトリ(コマンド「pwd」で確認できるが「/home/userland/」になっている)に 「.Xinitrc」 というファイルを作成し、

exec /usr/bin/startlxde

を追記する・・・との情報があるが、これはlxdeを起動時に自動で実行するを意味しているのだがlxdeのファイルマネージャーから該当ディレクトリを覗いてもlxdeの実行ファイルが存在しないという意味不明なことになっている。

当然、指示通りにファイルを作って追記してもlxdeの実行ファイルがないので自動起動することはない。多分別のディレクトリにあると思うのだが見つけられなかった。
※尚、筆者が初めて挑戦した時にはわざわざ追記しなくても自動起動したし、Xfce4なんかはターミナルでインストールしただけで以降勝手に起動していた。この辺りもインストールの問題か、アプリの不具合なのか釈然としない。

■日本語化(ターミナル、あるいはGUI→LXターミナル)

sudo apt install fonts-noto-cjk-extra
sudo apt install -y language-pack-ja-base
sudo apt install -y language-pack-ja
apt install task-japanese-desktop
apt -y install task-japanese-desktop
apt -y install locales

dpkg-reconfigure locales

ここで、ja_JP.UTF8を2回選ぶ。また、.profileにロケール設定を追記する。
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8

sudo apt install fcitx fcitx-anthy fcitx-mozc
sodo apt install whiptail
sudo im-config -c

あとは ~/.Xinitrc に以下のコマンドを追記する。
exec /usr/bin/fcitx-autostart
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx

日本語化についてはここまで指示があるのだが、これが情報元によっては一番最初にやっていたり、やっている内容が違ったりと滅茶苦茶である。誰か綺麗にまとめてほしい。

■Office系のインストール
lxdeをインストールすれば最初からLibreOfficeというMSWordやExcelの互換ソフトが入っていたり入っていなかったり・・・(?)なのでインストールする。

sudo apt install libreoffice-help-ja
sudo apt install libreoffice-l10n-ja

sudo apt install libreoffice-calc
sudo apt install libreoffice-writer
sudo apt install libreoffice-impress

元々Linuxではメジャーなソフトなのでインストールは難しくないはず。ただ、日本語化に躓いていると日本語入力できない。

■グラフィックス系

一番最初に挑戦した時には、このあとGimpやKritaのようなレイヤーを弄れるソフトを入れたり、Basiliskというブラウザソフトまで導入、使用できた。知名度の高いFireFoxはインストールだけは.debを落としてできたのだがアプリケーションとしてlxdeに出てこないので実行できなかった(実行ファイルも見つけられなかった)。

とりあえず筆者はMedibangのようなレイヤーソフトを弄りたかったのだが、Kritaは動作が重かった。Gimpは普段Windowsで弄っていないのもあって操作が分からなかった。

とりあえずスマホでデスクトップ用のレイヤー編集ソフトの導入は「可能」ではあるが、実現するには知識以外に運も必要なようだ。
※運だけはどうにもならない



というわけで、3日間挑戦してみたのだが時間がたてばたつほどうまく進められなくなり、スマホ端末に変なキャッシュがたまっているのかと思ったがUserLAndはアンインストールすれば全ての関連データも削除される、という事だったのでそれはないと思う。

思えば初回導入時点ではVNCがエラーを吐いて落ちることはなかった気がする。何度かアプリのインストールを繰り返す内に変になっていった感じだ。ということはやはりスマホのどこかにまだ変なデータが残っているのか・・・端末の再起動もなんどか試したが、やはり運が良かっただけなのか。

オカルトの話になってしまうが、ITの現場では再現可能なエラーと再現不可能なエラーの2種類があり、再現不可能なエラーは時を待つか忘れるしかない。

従って、UserLAndを使ってスマートフォンにLinuxデスクトップ環境を構築してみるという試みは【一度だけ成功したものの以後は謎の理由によって不可能】になってしまった。

スマホはもう一台あるのでファーストチャンスもあと一回残っているが、そもそもスマホでデスクトップ環境を要するのはやはり無理かもしれない。

特にGUI環境で通常のパソコンのように使用するためには外部ディスプレイが必須だ。Alternate mode対応機種ならケーブルで可能だがそれ以外は無線接続するしかない。そうなると遅延や手間が増える。

また、いくらスマホのストレージが大きくなったとはいえ本格的な作業環境とするにはTB単位の容量が欲しい。
※特に映像系、画像系の処理

ただ、筆者の経験上androidでドキュメント編集は結構苦しかった記憶がある。Linux環境ならデスクトップ用のLibreOfficeが使える分大きな画面が確保できるならとても実用的である。
※筆者はそれで高評価なのだが、如何せんVNCがしょっちゅうエラーを吐いて作業に集中できないというのは論外

何度も出てくるVNCについてだが、そもそもLinux自体がGUI表示をしているのではなくVNCサーバーの画面を通してGUIを実現している。そのVNCはグーグルプレイストア版だとアプリの中に含まれており、自前でサーバーを自動で立てて、サーバー越しにGUIを見ているだけに過ぎない(と思う)。

だからWindowsパソコンからスマホのUserLAndに接続してリモートデスクトップ(本来はこれが正しい使い方)ができると思うのだが、どうもこれがまた鬼門らしい(UserLAnd側の問題)。




この記事が気に入ったらサポートをしてみませんか?