0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AndroidスマホをPCみたいに使いたいメモ1

Last updated at Posted at 2025-04-03

はじめに

※ PixelにはLinuxターミナルが追加され、Dockerも使用できます。本記事の手法は必要ありません。

やりたいこと

  • スマホPCのように使うため、Linux環境を作成したい
  • すべてローカルで動かしたい
  • Dockerを使用したい

→ proot-distroのUbuntuでデスクトップ環境作成、QEMUでDocker起動

使いたいソフト

  • VS Code
  • Docker (ここが一番の問題)
  • ブラウザ
  • Wordみたいなもの
  • AviUtl (おまけ。Windows用ソフトも動けばハッピー)

※ 自分の勉強も兼ねて、Linux初心者向けに書いています。もし間違い等がございましたら、ご指摘いただけますと幸いです。

0. 使用するアプリのインストール

ターミナルエミュレータのTermuxを使用します。
Termuxのページ からapkをダウンロードしてアプリをインストールします。

インストール方法 Termuxページ下部、任意のバージョンのapkファイルをダウンロードします(F-DROIDは必要ありません)。

01.png

ファイルアプリからダウンロードしたapkファイルをタップし、インストールを押します。
"安全でないアプリ"と出るので、"詳細" → "インストールする"を押してインストールします。
02.jpg


次に、GUI(デスクトップとかの画面)を表示するためのTermux:x11アプリをインストールします。

リリースページから、app-XXX-debug.apkをダウンロードします。
XXXは自分のCPUのアーキテクチャのものを選択します。わからない場合はuniversalをインストールします。

03.png

ダウンロードしたapkを上のtermuxと同じ方法でインストールします。

1. Termuxの初期設定

内部ストレージへのアクセス権限を許可します(内部ストレージを使わない場合は不要です)。

termux-setup-storage

必要なパッケージをインストールします。

pkg update
pkg upgrade -y
pkg install -y termux-services vim openssh
コマンドの説明
  • pkg update パッケージ(プログラム)のリストを更新
  • pkg upgrade パッケージを更新(-y:yesオプション、更新に同意)
  • pkg install パッケージ名 パッケージをインストール
  • termux-services サービスを管理する
  • vim ファイルを編集するテキストエディタ
  • openssh SSH接続する

root(管理者)のパスワードを設定します(SSH接続するときなどに必要です)。
passwdを実行するとパスワード入力を求められます。文字が表示されませんが入力できています。

passwd

SSH接続できるように~/.bashrcに以下を追記します。

~/.bashrc
if ! pgrep -x "sshd" > /dev/null; then
    sshd
fi
ファイル編集の方法

vimというテキストエディタを例に説明します。まず、下記のコマンドで.bashrcファイルの編集画面を開きます。
~/はファイルの場所、ユーザーのホームディレクトリ(フォルダ)を示しています。

vim ~/.bashrc

キーボードのiを押すと文字が入力できるようになります(INSERT: 挿入モード)。
その状態で下記の内容を入力します。

~/.bashrc
if ! pgrep -x "sshd" > /dev/null; then
    sshd
fi

キーボードのESCキーを押して挿入モードを終了します。
その状態で、:wqを入力した後Enterを押すことで保存して終了します。

  • : これからvimのコマンドを入力するよって合図
  • w 保存コマンド
  • q 終了コマンド

termux-servicesを起動しなおすため、exitコマンドで一度アプリを終了します(タスクキルしただけでは終了しないので注意)。

exit

2. GUIの設定

必要なパッケージをインストールします。

pkg install x11-repo
pkg install termux-x11-nightly
コマンドの説明
  • x11-repo X11をインストールできるようにする
  • termux-x11-nightly GUIを表示する

X11が自動的に起動するよう設定します。
まずtermux-x11サービス用ディレクトリを作成します。

mkdir -p $SVDIR/termux-x11/log
コマンドの説明
  • mkdir ディレクトリを作成する(-p:複数階層のディレクトリを作成する)

自動起動スクリプト$SVDIR/termux-x11/runを作成します。

$SVDIR/termux-x11/run
#!/data/data/com.termux/files/usr/bin/sh
exec termux-x11 2>&1
スクリプトの説明

このスクリプトが実行されるとtermux-x11が起動する。

  • スクリプト:コマンドを書いてまとめて実行できるようにしたもの
  • #! :シェバン。1行目に記述する。スクリプトを何で実行するかを記述する
  • exec:現在のプロセスでコマンドを実行する

ログ用スクリプト$SVDIR/termux-x11/log/runを作成します。

$SVDIR/termux-x11/log/run
#!/data/data/com.termux/files/usr/bin/sh
svlogger="/data/data/com.termux/files/usr/share/termux-services/svlogger"
exec "${svlogger}" "$@"
コマンドの説明

ログファイルを作成する。

  • OOO=XXX:XXXをOOOという名前(変数)で呼ぶね、という意味
  • ${OOO}:変数を呼ぶ
  • $@:すべての引数
  • 引数:コマンドを実行するときのオプションやデータのこと

上2つのファイルに実行権限を付与し、自動起動の設定します。

chmod u+x $SVDIR/termux-x11/run
chmod u+x $SVDIR/termux-x11/log/run
sv-enable termux-x11
コマンドの説明

先ほど作成したスクリプトを実行できるよう、権限を変更し、自動起動するように設定する。
chmod:ファイルの権限を変更するコマンド(u+x:ユーザー(u)に実行権限(x)を付与する)
sv-enable:サービスを有効にする(今回は先ほど作成したtermux-x11サービスを有効にする)

サービスを起動するため、exitコマンドで一度アプリを終了し、タスクキルをします。

exit

再度termuxアプリを起動するとtermux-x11が自動で実行されます。
termuxアプリを起動したままX11アプリを開き、下のような真っ黒な画面と×印カーソルが表示されればX11の自動起動は成功です。

08.jpg

うまくいかない場合

09.jpg
この画面が表示されている場合、termux-x11の起動ができていません。
termuxを開き、termux-x11と入力し、その状態のままX11アプリを開いてください。

  • 真っ黒な画面になり、カーソルが表示されている場合
    自動起動設定が間違っている可能性があります。もう一度起動スクリプトの作成からやり直してください。

  • カーソルが表示されない場合
    termux-x11のインストールがうまくいっていない可能性があります。

pkg install x11-repo
pkg install termux-x11-nightly

からやり直してください。

3. Ubuntuの設定

TermuxだけではできないことがあるのでUbuntuをインストールします。

pkg install proot-distro
proot-distro install ubuntu
proot-distro login ubuntu
コマンドの説明
  • proot-distro Linuxの仮想環境
  • proot-distro install ubuntu Ubuntuをインストールする
  • proot-distro login ubuntu Ubuntuにログインする

proot-distro login ubuntuを実行すると、ubuntuにログインできます。
このままだとrootなので、一般ユーザーを作成します。
Ubuntuにログインした状態で下のコマンドを実行します("ユーザー名"のところは好きな名前を英語で入力してください)。

apt-get update
apt-get upgrade -y
apt-get install -y sudo
useradd -m ユーザー名
passwd ユーザー名
usermod -aG sudo ユーザー名
echo "ユーザー名 ALL=(ALL:ALL) ALL" >> /etc/sudoers
exit

最後のexitをするとUbuntuからログアウトし、termuxに戻ります。

コマンドの説明
  • apt-get update パッケージのリストを更新する
  • apt-get upgrade 更新できるパッケージを更新する(-y:yesオプション、更新に同意)
  • apt-get install パッケージをインストールする。今回はsudoをインストール
  • sudo パッケージをインストールする際など、権限が必要なときに使うコマンド
  • useradd ユーザーを追加する(-m:ユーザーのディレクトリを作成)
  • passwd ユーザー名 ユーザーのパスワードを設定する
  • usermod -aG sudo ユーザー名 ユーザーをグループに追加する(sudoグループはsudoコマンドを使えるグループ)
  • echo "ユーザー名 ALL=(ALL:ALL) ALL" >> /etc/sudoers sudoを使えるように設定を追記

4. UbuntuのGUIの設定

先ほど作成したユーザーでUbuntuにログインします。

proot-distro login --isolated --shared-tmp --user ユーザー名 ubuntu
コマンドの説明

--isolated termuxのディレクトリをマウントしない(ubuntuからtermuxのディレクトリにアクセスしないように設定。被るコマンド等で困ることがあるため)
--shared-tmp termuxの一時ディレクトリを共有する(termuxで起動したX11に接続するため)

GUIで使用するパッケージをインストールします。

sudo apt install -y dbus-x11 openbox xterm tint2
sudo update-alternatives --config x-session-manager
コマンドの説明
  • dbus-x11:X11でアプリケーション間のやりとりをする
  • openbox:アプリケーションのウインドウを表示する
  • xterm:コマンドを実行するターミナル
  • tint2:タスクバー

X11に接続し、画面を表示します。

DISPLAY=:0 dbus-launch --exit-with-session openbox-session

一度ホームに戻り、X11アプリを開きます。うまくいっていれば真っ黒な画面にマウスカーソルが表示されているはずです。

動作確認

二本指でタップするとopenboxのメニューが表示されます。
メニューから"Terminal emulator"を選択します。

04.jpg

ターミナルが開くので、tint2コマンドを実行します。
スマホのキーボードを使用する場合、戻るボタンを押すとキーボードが表示されます。
05.jpg
実行すると画面下部にタスクバーが現れます。
06.jpg
GUIを終了するときはメニューから"Exit"を選択し、ダイアログの"Exit"を押します。
07.jpg

次回

キーボード、音声などの設定を行います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?