勝間家電!Google Pixelのちょっとマニアックな使い方:Androidブラウザと純正Linuxターミナルで楽しむ実用的なPythonプログラミング環境の構築について

AI

ついに勝間家電を買ってしまいました^_^
なので、ちょっとマニアックな使い方について紹介したいと思います。といっても、私のブログ観点ではど真ん中の内容ですが^_^;

具体的には、Pixel 10 pro foldを用いたAndroid純正Linuxターミナルのインストールと、JupyterlabによるAndroidブラウザを用いたPythonプログラミン環境の構築方法の紹介になります。

私は単体でもLinux環境を使い倒したく、、折り畳み機種を選択しましたが、ストレートタイプの機種でも外付けキーボードがあれば十分楽しめると考えています。昨今ではデスクトップモードもあるので、かなりより良い感じの環境もセットアップしやすいですね^_^

キッカケとモチベーション

ずっと知ってはいたのですが、勝間家電を初めて観ました^_^

キッカケはReHacQで観た勝間家電!Pixel推し

その中でやはり一番刺さったのは、勝間さんの言葉
勝間「私はPixelを持ち歩いているのではありません。Geminiを持ち歩いているのです。」
でした。
確かにGoogleの「クラウドサービス×Gemini」は、可能性しかありませんよね。

勝間家電の書籍はKindle買いました^_^

Android純正のLinux環境の存在と、持ち歩くGeminiを体験したい

勝間家電に感化され、別のスイッチも入りました^_^;
ずっと気になっていたAndroid純正の「Linux開発環境」を試したい気持ちがとても強くなったのです。
「Linux開発環境」は、2025年3月のアップデート以降、Pixel(Android 15 QPR2以降)に標準搭載されたAVF技術(Android Virtualization Framework)を用いた仮想マシン(VM)上で動作する、公式のDebianベースのLinuxターミナルです。

「Geminiを持ち歩く」+「Linuxを持ち歩ける」

現時点での使い倒し方についても勝間さんがしっかり語ってくれているので、失敗のない実りの多い挑戦に感じました^_^

機種選びの注意点とPixelの選定

機種選びですが、実はAndroid OS 16以降、Pixel以外の機種へ徐々に解放されて始めているようです。とはいえ、「Linux開発環境」に対応していないAndroid機種の方が多いため、整理が必要です。

機種選びの注意点

  • Android OS 15 QPR2以降に対応している機種
  • チップセットのAVFサポート:保護されていない VM(unprotected VMs)を実行できる機能の実装している機種

現時点では、Galaxy Tab S11(MediaTek チップ)の対応を確認されていますが、まだまだPixelから機種を選択するのが無難ではありますね。

参考リンク

AVF関連の参考リンクは以下となります。

Android 仮想化フレームワーク(AVF)の概要  |  Android Open Source Project
Galaxy Tab S11 シリーズ、Linux アプリの実行に対応。MediaTek チップで初 | HelenTech
Samsung の新型タブレット Galaxy Tab S11 シリーズが、Android 上で Linux アプリを実行できる新機能をサポートしていることが明らかになりました。 この機能は、Gala...

すでにPixel以外のAndroidを所有しているが、スマートフォンのLinux対応に興味のある方は、Google Playストアではない、F-DroidアプリになりますがTermuxという選択肢もあります。

Termux | F-Droid - 自由かつオープンソースのAndroidアプリ・リポジトリ
パッケージを伴ったターミナル・エミュレーター

私もブログで紹介していますので、もしご興味が沸いたら、ご覧ください^_^;

Pixelの機種選定

そしてPixelの機種選びですが、Google純正ブランド、OSの長期サポート(7年)ということもあり、どの機種もiPhoneの機能的な競合機種と、それほど変わらない価格帯です^_^;

Pixel 10 pro fold

ずっと気になっていた折り畳みスマートフォンが、Pixelには在ります^_^;
スマートフォンでLinuxプログラミング環境を念頭に置いているのであれば、広い画面はクリティカルな要素といえます。しかし、、お、お値段が、、、と思っていたら!!!

価格

Googleストアで新品購入する際の価格は約26.7万円(ストレージ256GB)が、、詳細な事情は理解していないがAmazonや楽天市場では、新品でも20万円を切る価格で売っており、お!と身を乗り出し、真剣に探しはじめたところ、ポイント還元含めて新品で約18.4万円の販売店を見つけ、即座にお気に入りにしました。iPhone 17 proが約18万円、iPhone 17 pro maxが約19.5万円なので、ハイエンドスマートフォンとしては、特別に高額ということでもないと思いました。

現在も、そこまでの安値は少ないかもしれないですが、新品で約20万円の価格帯は、かなり見受けられ、セール時のポイント還元増を合わせると、今後も18万円の価格帯はあり得るのかな?と推測しています。

スペック

冷静にスペックをもう一度確認しました。

  • CPU:Google Tensor G5
  • OS:Android 16
  • メモリ:16GB
  • ストレージ:256GB
  • ディスプレイ(外側):6.4インチ(1,080 x 2,364 OLED、408 PPI)
  • ディスプレイ(内側):8インチ(2,076 x 2,152 OLED、373 PPI)
  • ギミック:折り畳み機構
  • ソフト:Gemini、Google AI、Linux開発環境、デスクトップモード
  • サポート:7年間
  • カメラ、その他機能:割愛・・・

CPUはGoogle AIに特化したCPUとのことです。ゲーム性能は高くはないものの想定用途ではあまり関係無く、今後数年はメモリ高騰が予想される中で、スマートフォントップクラスの16GBに加え、8インチ大画面の折り畳み機構を持ち、長期サポート(7年)の機種であり、それが18.4万円となれば、かなりの割安と判断できると感じました。

先日、Gemini対応がアナウンスされたiPhoneについても、今年iPhone fold発表の噂もありますが、、30-50万円の価格帯予想もあり、、またiosのままにlinux環境を使えるわけでもないので、そちらは別途、異なる観点で期待したい気持ちです^_^;

最後の一押し:三苫薫選手も使っている^_^

というわけでPixel 10 pro foldを購入しました!

これは、自分との闘いに勝ったのか?負けたのか?
は、わかりません^_^;
しかし、勝間家電の観点は素晴らしく、たくさん使えば事後でも正当化が可能です!
(なんか誤った解釈なら、、ごめんなさい。)

Linux開発環境のセットアップ

早速、Linux環境をセットアップしていきたいと思います。
まず、「設定」→「システム」→「ソフトウェアアップデート」から「システムアップデート」を実施し、2026年3月のアップデートを反映させます。これによりデスクトップモードが使えるようにもなりますが、なによりLinux環境にも影響がありますので、必ず実施してください。

Linux開発環境のセットアップとインストール

「開発者向けオプション」をアクティブにします。
「設定」から「デバイス情報」を選択し「ビルド番号」を数回タップすると「開発者向けオプション」がアクティブになります。タップを続けると途中、その旨のメッセージがあります^_^;

設定に戻り、「設定」→「システム」→「開発者オプション」

「Linux環境」を選択します。

「Linuxターミナルを実行する」をアクティブにします。

通知許諾を回答後、インストールします。

ターミナルのアイコンが生成されるので、タップすると、

こんな感じでLinuxターミナルが立ち上がります^_^

Linuxのコマンドなど、わからないことは?

せっかくのPixelですし、口頭でGeminiにLinuxについて質問すると、いろいろ答えてくれます。ぜひ聞いてみましょう!
説明を読み聞きしながらのコピペでも、ある程度やっていけます^_^

ターミナルから純正Linuxスキームの確認

OSバージョン、メモリ、ストレージを確認するコマンドです。

droid$ cat /etc/os-release
droid$ df -h
droid$ free -h

私の環境では以下となりました。Pixel 10 pro fold全体としてはメモリ16GBあるけれど、、Linuxへの割り当てはメモリ4GB固定のようです。。ここはちょっと残念ですね。。今後のアップデートに期待です^_^;
そのため、メモリの容量対策としてスワップ設定も後で実施します。

一方で、ストレージは約200GBと、内部ストレージ全体と共有されているようで、これはとても良い部分だと感じています^_^

  • OS:Debian 13
  • メモリ:約4GB
  • ストレージ:約200GB

ここからは、8インチのメインディスプレイとBluetoothキーボード・マウスで作業を進めています^_^

すでにお手持ちの品があればそのまま使ってもらって問題ありませんが、参考までにリンクを付けておきます。
とはいえ、私のキーボードについては古く、、類似品のリンクであり、マウスはちょっとしたDIYで極小マウス化してますが^_^;

尚、Pixel側の支えは、リングストラップを少し角度を変えつつ用いています。

ケースなど含め、周辺アクセサリーなどは最後に改めてリンクさせていただこうと思います。

Linux環境の留意事項と簡単な設定など

はじめに留意事項

PixelのLinux開発環境は、まだ試用版ですので、少しだけ不安定です。これから設定を進めますが、稀にクラッシュすることがありますので、その場合は設定で「Linuxターミナルを実行する」を再アクティブしてやり直してください。
ですので、設定はなるべく内部ストレージ(/mnt/shared/Docments/)下にshスクリプト化して置くと再設定時の手間が省けます。
実は再セットアップが素早くできることは、何度も再挑戦できるので、界隈ではかなりプラスの評価といえます^_^;

パスワード設定

一応、設定しなくてもPixelにおいては、以降の全作業は可能です。しかし、sshなど外部とアクセスするツールも扱えるので「Linuxはパスワードを設定するものだ」と認識しておいてもらった方がよいと考えています。

droid$ sudo passwd

メンテナンス

通常のメンテナンスや、ライブラリをインストールする前に状態を最新にしておく意図で実行します。

droid$ sudo apt update
droid$ sudo apt -y upgrade

ある程度長く使っている場合は、定期的に以下のコマンドも有益です。ディストリビューションの更新や、依存関係解決後の処理、aptキャッシュを削除などのコマンドです。

droid$ sudo apt -y dist-upgrade
droid$ apt -y autoremove 
droid$ apt -y autoclean

メモリ対策:スワップの設定

先ほど調べた通りLinux環境のメモリ割り当ては4GB固定なので、対策としてメモリスワップを設定します。
通常はメモリ等倍の4GBくらいの設定が目安ですが、私の使い方だと5GB使っていた時があったので、ここでは8GBで設定しています。
以下がスワップ設定時のコマンド推移です。

droid$ sudo swapon --show
droid$ sudo fallocate -l 8G /swapfile
droid$ sudo chmod 600 /swapfile
droid$ sudo mkswap /swapfile
droid$ sudo swapon /swapfile
droid$ sudo cp /etc/fstab /etc/fstab.bak
droid$ sudo sh -c "echo /swapfile none swap sw 0 0 >> /etc/fstab"
参考リンク:スワップ設定

各コマンドの意味や意図、特に再度設定したい時の処理などもわかりやすく記載されています。

Ubuntu22.04/メモリ不足対応のためスワップ領域を追加する - Qiita
Ubuntu22.04/メモリ不足対応のためスワップ領域を追加する はじめに 以前使っていたPCにUbuntuを入れてみました。 ブラウザやIDEなどを開いているとちょいちょい固まるので、メモリ不足が...

ライブラリのインストール

必要なものは適宜インストールしますが、一旦、gitとcurlをインストールします。

droid$ sudo apt install git curl

ちょっとした遊び心も必要なので寄り道します。とりあえずcmatrixをインストールし、コマンド実行してマトリックス体験してみましょう^_^
「q」を押すと終了します。

droid$ sudo apt install cmatrix -y
droid$ cmatrix

もう一つ、定番のDebianのロゴやシステムステータスなどを表示するコマンドをインストールしてみましょう。

droid$ sudo apt install fastfetch -y
droid$ fastfetch

余談ですが、もしライブラリをアンインストールするときは、uninstallではなく、removeまたはpurgeというコマンドを使用します。

droid$ sudo apt remove <ライブラリ名>
droid$ sudo apt purge <ライブラリ名>

Python仮想環境の構築

個人的には、pyenvでバージョン設定を柔軟できる方が好みですが、簡単にスタートするなら以下のコマンドでpythonインストールしても大丈夫です。また、「python3」だとpython仮想環境が上手く設定できないので、必ず「python3-full」でインストールしてください。

droid$ sudo apt install python3-full -y

私の環境ではv3.13.5でした。

droid$ which python3
droid$ python3 -V

続いて、仮想環境を作成します。ここでは「pylab」という名前の仮想環境を作成しました。

droid$ python3 -m venv ~/pylab

次のコマンドで仮想環境をアクティブにします。

droid$ source ~/pylab/bin/activate
pylab$

bashの設定ファイルにエイリアスを以下のように追記すると、今後は「pylab」と入力するだけでpython仮想環境を起動できるようになります。

droid$ echo 'alias pylab="source ~/pylab/bin/activate"' >> ~/.bashrc
droid$ source ~/.bashrc
droid$ pylab
pylab$

python仮想環境の構築ができたら、pipコマンドでよく使う各種pythonライブラリをインストールします。

pylab$ python -m pip install -U pip
pylab$ pip install setuptools
pylab$ pip install numpy
pylab$ pip install pandas
pylab$ pip install matplotlib
pylab$ pip install scipy
pylab$ pip install scikit-learn
pylab$ pip install pypdf

jupyterlabのインストールと設定

はじめにjupyterlabとは

JupyterLabは、PythonなどのプログラムをWebブラウザ上で対話的に記述・実行できる、データ分析や機械学習に最適なオープンソースのローカル統合開発環境(IDE)です。Pythonプロブラムを逐次実行できるファイル形式をNotebook形式と呼びます。GoogleのクラウドサービスであるGoogle colabratoryで実装されていることでも有名です。
また、複数ファイルのノートブック、ファイルブラウザ、ターミナルなどを一つの画面で操作でき、ドラッグ&ドロップ: セルやファイルをドラッグして配置を自由に変更できます。

Jupyterlabのインストール

Jupyterlabをインストールします。その後、日本語化の機能拡張(jupyterlab-language-pack-ja-JP)もインストールします。

pylab$ pip install jupyterlab
pylab$ pip install jupyterlab-language-pack-ja-JP

また、個人的にエディタにvimを使いたいのでjupyterlab上でvimを使えるようにする機能拡張もインストールしました。尚、vimについては、初見の方はインストールを控えてください^_^;

pylab$ pip install jupyterlab-vim

インストールできたらJupyterlabを起動しますが、起動場所がjupyterlabのルートディレクトリになるので、今回は、Androidの内部ストレージをルート(/mnt/shared/)として起動したいと思います。

pylab$ cd /mnt/shared
pylab$ jupyter lab --no-browser --ip=127.0.0.1

ポート8888を許可し、緑枠のURL「http://127.0.0.1:8888/lab?~」をコピーして、ブラウザに貼り付けます。注意点としてはURLをクリックしてしまうと、ブラウザ起動時にブロックされてしまうので、かならずコピーしてブラウザにURLを張り付けてください。

クリックするとブラウザが立ち上がり、jupyterlabを使用できるようになります。

また、初回以降、ポートがロックされている場合があるので、その際はターミナルの赤枠の設定をクリックして、ポート8888を再アクティブしてからURLをブラウザにコピーすれば立ち上がります。

Jupyterlabの簡単な設定、使い方

テーマ:ダークモード

目に優しいダークモードへ変更します^_^;

機能拡張:日本語化

終了方法

主な機能の起動方法

既存のファイルは、エクスプローラ上でクリックすれば起動できます。ちなみにエクスプローラのメニューをクリックすると表示と最小化を切り替えることができます。作業する際は、最小化しておいたほうがよいでしょう。
新規の起動については、主には以下のようになります。

  • Notebook(.ipynb)の新規起動:緑色輪をクリック
  • Terminalの起動:青色輪をクリック
  • Text(.txt or .py)の新規起動:黄色輪をクリック
  • フォルダ新規作成:赤色輪をクリック
動作が重くなったとき

以下の緑色輪を選択して、起動しているNotebookのプロセスなどを削除してください。

参考リンク:Jupyterlabについて

JupyterLab Documentation — JupyterLab 4.6.0a3 documentation

Notebook作業事例:GeminiとPythonプログラミング

Pythonプログラミング自体も、Geminiと相談し、提案されたプログラムをNotebookのセルブロックにコピペして実行確認しながら作業を進められます。ぜひGeminiと一緒にやってみたいことを考えてみてください!
Notebookのセルブロックにコードをペースト後、該当セルにカーソルを合わせ「Shift + Enter」で実行することができます。お手軽ですよね^_^

参考リンク:Jupyterlabユーザーガイド ノートブック機能

Notebooks — JupyterLab 4.6.0a3 documentation

作業事例:Pythonファイルの実行

本作業例では、pyファイル(hello_world.py)を編集し、ターミナルで実行確認しています。Jupyterlabは、各タスクのウィンドウをドラック&ドロップで自由にタブやレイアウトを設計でき、とても便利です^_^

まとめ:プログラミングを身近にする意義

AIエージェントをソウゾウする

AIが実際に身近になる、よりプロアクティブになっていくとしたら、どのような情報を共有することになるのか想像し、実際に思考実験と実装検証を通じて、その在り方自体を創造することができるのではないでしょうか。

もちろん、AIエージェントならではの処理もあると思いますが、タスクによっては、均一処理の観点でAIエージェントにプロセスをプロブラムとして残すよう指示することになるかなと思っています。そうすると、身近にプログラムの実行環境があることは、かなり有益ではないかと感じています^_^;

DIYとしてのプログラミング

ある程度、Androidの内部ストレージ(/mnt/shared/)にアクセスできるので「ちょっとこんなことできないかな?」をAIの力を借りながら実現していくのは、とても有意義な体験になるのではと考えています。

ここまでPixel Linuxターミナルを扱ってきましたが、その感想としては、とても楽しく興味深く、高いポテンシャルを感じさせてくれる体験でした^_^
ただし、試用版ということもあり少し動作が不安定な部分や制約もあるようです。今後のアップデートの状況推移などによっては、既存のTermuxも試してみようかなともちょっと考えています。

ではでは!
引き続き、勝間家電と共にプログラミングも楽しんでいこうと思います!!

今後、noteの方でもPixel 10 pro foldの記事を書きますが、もっとライトなトピックにしようと思います^_^;

silhouette|note
物事に潜むシルエットを捉えて、日々を少しずつ豊かにしていくサイトです。

補足:アクセサリー関連・周辺機器など

Pixel 10 pro fold関連アクセサリ、またプログラミング用途やデスクトップモードでの周辺機器について、さらりと紹介したいと思います。

Pixel 10 pro foldケース、保護フィルム、リングストラップ

Foldタイプのスマートフォンで最も難関なのは、ケースとフィルムは相性選びだと思います。ケースに合わない保護フィルムも多数あるので最も注意が必要です。Sisyphyのアラミド繊維ケースには、PDA工房の保護フィルムが調べた限り最も無難でしたが、、それでも少々浮きが出てしまいました。。かなりシビアです^_^;

メーカーは違えど多くの方々が絶賛しているようにスマホリングはストラップ付が正義です^_^
これがあると、たとえ手の小さい左利きでもFoldタイプや大型スマートフォンの大部分の操作を片手ででき、指一本で支えられるようになります。

私が購入した以外のケース、保護フィルム、リングストラップの組み合わせを探すのも、楽しみの一つですね。私ももう少し探してみたいと思っています^_^

Bluetoothキーボード、マウス

文字の入力に関しては勝間さんの言う通り、口頭文字起こしが最強だと認めていますが、ターミナルコマンドやプログラムについては、キーボードとマウスは必要だと考えております。もちろん、Geminiは超頼りになりますが^_^;
Jupyterlabについても、かなりグラフィカルな操作系が強みですので用意いただいた方がよいと感じております。

タッチパッド付キーボード

タッチパッドとの一体型も多種多様で選ぶのも楽しいですね^_^

モニター付きキーボードという選択肢

実は過去にマイコン操作目的でDIYしたことあるのですが、、最近はとてもリーズナブルで、いくつか有力な選択肢もありそうですね^_^

その他:HDMIポート付USB-Cハブ、HDMI切替器など

デスクトップモードも、アクセサリがあるとより身近になると思います。モニターがHDMIしか対応していない場合でも、HDMIポート付きのUSB-Cハブがあれば、特に何の設定もせずにつなげることができました^_^
一点、注意点があるとすれば、デスクトップモードを使う際は、一旦すべてのアプリを閉じ、デスクトップモードにしてから、改めてアプリを起動する必要があることくらいでしょうか^_^;

デスクトップモード用に購入したわけではないですが、そのまま流用できました^_^

もちろんHDMI変換アダプターでも問題無いと思います。その際は、給電可能なUSB-Cポート付きのものがよいと考えています。

また、モニターを別のPCで利用している場合、わざわざHDMIを抜き差しして切り替えるのは面倒だと思います。そのような状況では、以下のようなHDMI切替器があると、その手間が省け、スムーズになります。

コメント

タイトルとURLをコピーしました