思い立った時の記録

日々の生活で得た情報をお届け

スマホやタブレットをLinux化して開発環境を入れる

手持ちのAndroidスマホタブレットLinux化して、

PCの様にデスクトップや開発環境を入れて本来の性能を使い倒します。

一見、難しそうですが PlayストアTermuxと言うアプリを入れ、

後は本サイトのコマンドをコピペするだけなので特に難しい事はありません。

play.google.com

[Termux]

Termuxアプリをインストールし、起動したら最初に以下のコマンドでアップデートを行います。

apt update
apt upgrade -y

 ※途中、3回ほど質問されますが全て「Enter」を押して続行します。

次にTermuxからスマホのストレージにアクセスできる様に権限を付与します。

termux-setup-storage

 ※確認ダイアログが表示されたら「許可」を押す。 f:id:ashx:20210724201224j:plain

[SSH]

基本的にTermuxに関する情報は公式のWikiを参考にしましょう。

(結構、Termux関連で誤った情報を発信しているサイトがある為)

https://wiki.termux.com/wiki/Remote_Access#Using_the_SSH_server

まずはsshのインストールおよび起動まで行います。

apt install openssh -y
sshd

ここでTermuxのパスワードを設定します。

passwd

 ※設定するパスワードを聞かれるので、パスワードを入力する。

 ※再度、確認のパスワードを聞かれるので、同じく入力する。


スマホIPアドレスを確認しておく。

ifconfig

[リモート操作]

ここから先はsshクライアント側の操作になり、

スマホに接続したいPC等の他デバイスから以降は行います。

まずはssh接続する為の設定です。

ssh-copy-id -p 8022 -i ~/.ssh/id_rsa スマホのIPアドレス
  • 質問されたら「yes」を入力してEnter
  • パスワードを聞かれるので、先ほど設定したパスワードを入力

ではクライアントからssh接続してみましょう。

ssh -p '8022' 'スマホのIPアドレス'

* パスワードを聞かれるので、先ほど設定したパスワードを入力

起動時にSSH自動起動する様に設定

echo 'sshd' >> ~/.bashrc

[PRoot]

通常のTermuxだとフォルダ構成などが独特で使用する環境によって障害が出ます。

そこで PRoot を使用し、Ubuntu化する事でトラブルを防ぎます。

https://wiki.termux.com/wiki/PRoot

ここでは Ubuntu 18.04 をインストールします。

(スムーズにvscode等を導入する為)

早速、PRootを入れて行きましょう。

pkg install proot -y
pkg install proot-distro -y
proot-distro install ubuntu-18.04

起動時に自動ログインする様に設定

echo 'proot-distro login ubuntu-18.04' >> ~/.bashrc

ではUbuntu 18.04を起動します。

proot-distro login ubuntu-18.04

 ※終了するときは「exit」で元のTermuxに戻ります。

[Ubuntu]

Ubuntuにログインしたら最初にアップデートする。

apt update
apt upgrade -y

[XFCE]

お次はXFCEデスクトップをインストール

pkg install xfce4 -y
  • インストール中にタイムゾーン設定画面が出たら、上下キーで「Asia」を選択してEnter
  • 次の画面で「Tokyo」を選択してEnter
  • キーボードレイアウト設定画面が出たら、上下キーで「Japanese」を選択してEnter
  • 次の画面で「「Japanese」」を選択してEnter

[VNC]

リモートデスクトップ接続する為にVNCをインストール。

apt install tigervnc-standalone-server -y

VNCログインパスワードを設定。

vncpasswd
  • 設定するパスワードを聞かれるので二度入力する。
  • 質問されたら「n」を入力してEnter

VNC接続時にXFCEデスクトップを自動起動する設定を追加。

echo 'xfce4-session &' >> ~/.vnc/xstartup

ではVNCサーバーを起動。

vncserver -localhost no -geometry 1366x768 -depth 24

 ※geometryの解像度はお好みで

VNCサーバーの起動を確認する。

vncserver -list

[日本語環境]

日本語の言語パックをインストールします。

apt install language-pack-ja-base language-pack-ja -y

言語を日本語に設定する。

echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LANGUAGE=ja_JP:ja' >> ~/.bashrc

日本語のフォントをインストール。

apt install fonts-noto-cjk -y

日本語入力メソッドをインストール。

apt install fcitx fcitx-mozc dbus-x11 -y

日本語入力の設定。

sh -c "dbus-uuidgen > /var/lib/dbus/machine-id"
im-config -n fcitx

起動時に日本語入力が有効になる様に設定します。

echo 'export XMODIFIERS=@im=fcitx' >> ~/.bashrc
echo 'export QT_IM_MODULE=fcitx' >> ~/.bashrc
echo 'export QT4_IM_MODULE=fcitx' >> ~/.bashrc
echo 'export GTK_IM_MODULE=fcitx' >> ~/.bashrc
echo 'export CLUTTER_IM_MODULE=fcitx' >> ~/.bashrc
echo 'export DefaultIMModule=fcitx' >> ~/.bashrc

[リモートデスクトップ]

PC等の他デバイスからVNCクライアントを使用して接続しましょう。

接続が完了し、デスクトップが立ち上がったらターミナルを起動して以下のコマンドを入力します。

fcitx-autostart
fcitx-configtool

f:id:ashx:20210724202031p:plain

 ※fcitxおよびmozcの設定は有名なので割愛します。

[VIVALDI]

次はブラウザのインストールです。

何でも良いのですがARM64ビット版は数少ないのと、 普段からvivaldiを愛用しているので使用します。

PC等で以下のダウンロードサイトからARM64ビット版のURLを取得します。 https://vivaldi.com/ja/download/

ダウンロードボタンの右側をプルダウンして「Linux DEB ARM」を右クリックし「リンクのアドレスをコピー」します。 f:id:ashx:20210724202135p:plain

コピーしたURLを一旦、エディタ等に貼ります。

すると末尾が「armhf.deb」となってますね、これはARM32ビット版です。

https://downloads.vivaldi.com/stable/vivaldi-stable_4.0.2312.41-1_armhf.deb

欲しいのはARM64ビット版なので「armhf.deb」の箇所を「arm64.deb」に置き換えます。

https://downloads.vivaldi.com/stable/vivaldi-stable_4.0.2312.41-1_arm64.deb

置き換えたURLを使用し、スマホssh接続している端末で以下を入力。

curl -O https://downloads.vivaldi.com/stable/vivaldi-stable_4.0.2312.41-1_arm64.deb

スマホvivaldiインストーラーがダウンロードされたらインストールする。

pkg install ./vivaldi-stable_4.0.2312.41-1_arm64.deb -y

そのままだと起動できないので、サンドボックスのオプションを付与する。

(使用するユーザーがrootのままなので)

nanoエディタで設定ファイルを開き、

nano /usr/share/applications/vivaldi-stable.desktop 

以下の部分に

Exec=/usr/bin/vivaldi-snapshot %U

--no-sandboxを追加する。

Exec=/usr/bin/vivaldi-snapshot --no-sandbox %U

[Visual Studio Code]

最後にVSCodeを導入します。

VNCクライアントを使用して、スマホリモートデスクトップ接続するのが楽です。

先ほどインストールしたvivaldiを立ち上げ、以下のダウンロードサイトへアクセスします。

https://code.visualstudio.com/download

f:id:ashx:20210724202216p:plain

「ARM 64」をクリックしてダウンロードします。

f:id:ashx:20210724202257p:plain

ダウンロードできたら、ターミナルを立ち上げてフォルダ移動します。

cd Downloads/

vscodeをインストール。

pkg install ./code_1.56.2-1620837933_arm64.deb -y

後は起動して普段通りに使うだけです。

f:id:ashx:20210724204515p:plain

[スマホ単体で使用する場合]

もし別の端末からリモート接続を行わず、スマホ単体もしくは外部ディスプレイに繋いで行う場合は以下のアプリを使用します。

play.google.com

XServer XSDLをインストールし立ち上げる。

Termuxを起動して以下のコマンドを打つ。

export DISPLAY=localhost:0.0
startxfce4 &

再度、XServer XSDLの画面に戻るとデスクトップが起動する。

f:id:ashx:20210724201423j:plain