2026/03/31(火)ARM版ノートPCはUbuntuの夢を見ないが、Windowsには光明あり
投稿日:
以前、ARMとCore UltraのWindowsノートPCを軽く見て、バッテリー持ちと熱周りを比較してみたところ、かなりいい結果になったのでUbuntuを入れたいが、これができるのかどうかという話。結論から言うと無理らしい。
ラズパイで動くんだから動くんじゃね?と思っていたのだが、そんな都合のいい話はなかった。
x86やAMD64であれば、今時のLinuxは基本的に動作する。これは、これらのアーキテクチャがACPIをサポートしているからだ。ACPIと聞くと自作PC的には電源管理のイメージがあるが、Advanced Configuration and Power Interfaceの略であり、電源だけでなくハードウェアの攻勢も管理できる仕組みになっている。そしてARMにはこれが存在せず、標準化されたハードウェア管理方法がないというわけだ。
ではARMベースのPCではどうしているかというと、今のところOS側でハードウェア情報を持っておき、これを基に起動しているようだ。この情報のことはデバイスツリーと呼ばれているらしい。
例えば、gihyo.jpのそのSnapdragon X搭載PCでUbuntuを使えますか?によると、ARM版UbuntuではSMBIOSというものから端末情報を読み取って、あらかじめUbuntu側で決め打ちしているデバイスツリーを利用してOSを起動するといった手法がとられているようだった。ラズパイの場合も専用イメージがあるため、おそらくデバイスツリーが組み込まれているのだろう。
恐らくこれはARMの場合、基本的にSoCにすべて集約されているため、x86やAMD64のようにメモリやGPUなどが独立したCPUのように管理できないところがあり、ACPIで解決できず、デバイスツリーが必要という事態になっているのだと思われる。
ではWindowsはどうしているかというと、先ほどの記事にもあったがPlatform Extension Plug-ins(PEPs)を使っているとのことだ。これはLinuxでは今のところサポートされておらず、やっているプロジェクトもないようだ。
ならデバイスツリーを書けばよいとも思えてくるが、これは非常に忍耐が必要な作業で、ACPIコードやWindowsドライバのリバースエンジニアリングを行い、カーネルパッケージをビルドし、各ハードウェアが正しく動くかどうかを根気強くテスト、デバッグする作業になるようで、おいそれと気軽にできるものではないらしい。
つまり、ARM版ノートPCでUbuntuを動かすのは、公式にサポートされているもの以外は難しいだろうし、それさえきっちり動く保証はないだろうから今のところ難しそうだ。つまり、ARM版ノートPCを買う場合、重量やキーボードにこだわりのある私の場合、Windowsで運用する必要がありそうだ。何故なら日本のノートPCがサポートされる気がしないからである。
バッテリー持ちがいいのは魅力だが、Windowsにするとなるとメモリやストレージを多めにしないと厳しいので端末価格が上がってしまうのがネックだ。ただソフトウェアの互換性はよくなってきているらしく、出先で使うサブマシンとしてみた場合の実用性は十分にありそうにも思える。
マイクロソフトの案内でも、デバイスドライバやアンチウィルス、アンチチートソフトウェア以外の一般的なアプリケーションは動作するとあるため、この辺りは安心してもよいだろう。一部のソフトウェアの互換性についてはLinaroのWoA対応アプリ検索で確認することができ、例えばXnViewは動作することがわかる。XnVew MPは出てこないが、恐らく動くのではなかろうか?国産のソフトの動作状況はPC Watchの記事でも一部を確認できる。なおエミュレーションで単に動くだけなのか、パフォーマンスがいいかどうかは不明だ。
2026/01/31(土)Xubuntu環境でThunarを使ってSSHをマウントする
2025/10/21(火)Ubuntu 24.04.3 LTSにApache2を入れる
確認時のApache2のバージョンはApache/2.4.58 (Ubuntu)
Apache2のインストール
sudo apt -y install apache2
公開ディレクトリを触りやすくする
公開ディレクトリの所有者はデフォルトだとroot:rootで、そのままでは扱いづらいため自分自身でも手軽に扱えるように権限を調整する。
# 公開ディレクトリを見たりいじる為に自分をwww-dataに入れる
sudo usermod -aG www-data <自分のユーザー名>
# 公開ディレクトリを扱いやすくするためwww-data:www-dataに変える
sudo chown -R www-data:www-data /var/www
# 公開ディレクトリを扱いやすくするためにグループに全権限を付与する
sudo chmod -R g+rwx /var/www
mod_rewriteやmod_cgiを使えるようにする
CGIの実行に必要なPerlなどのランタイムは必要に応じて別途入れておく。PHPは一般的にCGIとして実行しないため、次項の方法で動かせるようにする。
sudo a2enmod rewrite
sudo a2enmod cgi
sudo service apache2 restart
PHPを使えるようにする
バージョンの部分は適宜書き換える。PHP本体をインストールしていない場合は別途インストールしておく(依存解決で勝手にインストールされるかもしれないが)
sudo apt install -y libapache2-mod-php8.3
sudo a2enmod php8.3
sudo service apache2 restart
2025/09/30(火)GitHubのリポジトリをSSH認証経由で扱えるようにする
投稿日:
なんか突如としてGitHubにHTTP経由で繋ぐのが面倒くさくなったのでSSHで繋げるようにしたときのメモ。
確認環境
- Windows 11 Pro 25H2
- Ubuntu 24.04.3 LTS
- RLogin 2.30.8
やり方
SSH鍵の作成
- RLoginを開き、サーバーに接続→新規→サーバー→プロトコルを開く
- 認証キーボタンを押しED25519辺りで適当な名前で鍵を作成する
- 適当な場所に秘密鍵をエクスポートする。ここでは便宜上
github.secとする - 鍵を右クリックし、公開鍵をコピーして、どっかにメモっておく
GitHubへの登録
- GitHubを開き、アカウント設定に移動、SSH and GPG keysを開く
- SSH keys→New SSH Keyを開く
- Titleに適当な名前を設定
- Key typeはAuthentication Keyにする
- RLoginで作った
- コピーした公開鍵をKeyに貼り付ける
- Add SSH keyボタンを押す
鍵束へのSSH鍵の登録
Windowsの場合
忘れた。
Ubuntuの場合
正攻法では以下だが、keychainを使ったほうが運用が楽。
# 鍵束への登録
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/github.sec
# 接続確認
ssh -T git@github.com
SSH Configを書く
Windowsの場合
ここではWindowsのSSHクライアントを利用する。
- Gitに利用するSSHクライアントの設定をする
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe" - 作成したSSH鍵を
C:/Users/<ユーザー名>/.ssh/に置く C:/Users/<ユーザー名>/.ssh/configを開き、次の内容を記述
パス表現にHost github.com User <ユーザーID> Hostname github.com IdentityFile C:/Users/<ユーザー名>/.ssh/github.sec%USERPROFILE%は通用しないので注意
Ubuntuの場合
- 作成したSSH鍵を
~/.ssh/github.secに置く chmod 600 ~/.ssh/github.secとかして自分しか見れないようにする~/.ssh/configを開き、次の内容を記述Host github.com User <ユーザーID> Hostname github.com IdentityFile ~/.ssh/github.sec
既存のリポジトリをSSH対応にする
ここではoriginがリモートであるとして進める。
git remote -vでリモートリポジトリの状況を確認git remote remove originでHTTP通信になってるのを消すgit remote add origin git@github.com:Hoge/piyo.gitでSSH通信に書き換えるgit fetchが通ればOK
トラブルシューティング
Permission Denied (publickey)が出る
- 鍵のパーミッションが600、
.ssh/のパーミッションが700なのを確認する ssh -T git@github.comで繋がるか確認する。繋がらなければこれまでの手順が何か漏れないか確認する- ユーザー名が間違っていても出る
2025/09/17(水)UbuntuでIbus + Mozcが使えなくなった問題を解消した
完全には解消していないが、とりあえず日本語が打てるようになったので記す。
確認環境
Ubuntu 24.04.3 LTS
起きていた事象
Ubuntu Serverとして導入した環境をUbuntu Desktop(GNOME)に置き換え、Xubuntu Desktopにマイグレーションしたところ、Ubuntu Desktopでは問題なかった日本語入力ができなくなった。
状況
IbusとMozcが自動起動せず、手動で起動させても日本語が打てず、systemctl --user show-environmentを叩いたときに以下の内容が出る状況だった。
HOME=/home/hoge
LANG=ja_JP.UTF-8
LOGNAME=hoge
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
SHELL=/usr/bin/zsh
USER=hoge
XDG_RUNTIME_DIR=/run/user/1000
GTK_MODULES=gail:atk-bridge
QT_ACCESSIBILITY=1
XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DISPLAY=:10.0
GSM_SKIP_SSH_AGENT_WORKAROUND=true
SSH_AUTH_SOCK=/tmp/ssh-80h84ldKtdNU/agent.2702
XAUTHLOCALHOSTNAME=
参考までに正常に動作する環境では以下の出力となる。こちらはUbuntu Desktop→Xubuntu Desktopと辿ってきており、Server由来要素がない環境だ。
HOME=/home/hoge
LANG=ja_JP.UTF-8
LOGNAME=hoge
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
SHELL=/usr/bin/zsh
USER=hoge
XDG_RUNTIME_DIR=/run/user/1000
GTK_MODULES=gail:atk-bridge
QT_ACCESSIBILITY=1
XDG_DATA_DIRS=/usr/share/xfce4:/usr/share/xubuntu:/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop
CLUTTER_BACKEND=x11
CLUTTER_IM_MODULE=ibus
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DEBUGINFOD_URLS=$'https://debuginfod.ubuntu.com '
DESKTOP_SESSION=xubuntu
DISPLAY=:0
GDMSESSION=xubuntu
GDM_LANG=ja_JP
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GSM_SKIP_SSH_AGENT_WORKAROUND=true
GTK_IM_MODULE=ibus
GTK_OVERLAY_SCROLLING=0
IM_CONFIG_PHASE=1
LANGUAGE=ja_JP
PWD=/home/hoge
QT_IM_MODULE=ibus
QT_QPA_PLATFORMTHEME=gtk2
SHLVL=0
SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh
XAUTHLOCALHOSTNAME=
XAUTHORITY=/home/hoge/.Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-xubuntu:/etc/xdg
XDG_CURRENT_DESKTOP=XFCE
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/hoge
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=xubuntu
XDG_SESSION_TYPE=x11
XMODIFIERS=@im=ibus
_=/usr/bin/dbus-update-activation-environment
対処法
/etc/environmentに以下の内容を追記し、OS起動ごとにWhinsker MenuからIbusの設定を叩いて起動させることにした。自動起動の実現は結構面倒そうだったので試していない。
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
あとがき
本来あるべき姿で起動させたいが方法が全くわかっていないのが厳しい…。何より環境変数が圧倒的に足りていないので、色々不都合が起きてそうだ。
まぁ当該端末をデスクトップユースで使うことは滅多にないのでいいっちゃいいのだが…。
