2024年4月29日月曜日

Termux on Debian(GUI)でibusが落ちる問題の解決策

ことのはじまり

前回の記事でKindleFireHD10(13世代)にUbuntuのGUIを構築したが日本語入力がうまく起動しなかった。
ブラウザも使いたかったし、Ubuntuを捨ててDebianに切り替えることにした。
以下その手順のまとめ。

状況整理(環境と症状)

環境は次の通り
  • KindleFireHD10(13世代)
  • Termux上にUbuntuをインストールし、xfce4でGUIを利用
  • 日本語入力はibusとAquaMozcを利用
発生した症状
  • AquaMozcの設定画面をGUIで開くとどこかをクリックした瞬間落ちる
  • 最初は起動していてくれたibus-daemonが途中から起動しなくなる(手動起動も不可)

日本語環境の設定はこの記事を参考にした。

debianの構築

そもそも論として、ubuntuの入れ方とubuntuが相性が悪いのではと疑い始めprootを経由してdebianを構築することにした。
手順としては以下の記事のubuntuをdebianに読み替えて手順を進めればよい。 debianのインストールが完了したら以下のコマンドを実行して必要なものをインストール
apt-get update && apt-get upgrade -y
apt-get install sudo-y
apt-get install xfce4
apt-get install ibus-mozc

xfce4は前回の記事通り数時間かかるのでしばらく待つ。

日本語環境の設定と問題とソリューション

上記の記事に従って日本語環境設定しても上記の症状は改善しなかった。
そこで、以下の方針で解決することにした
  • ibusを手動で起動する
  • 手動起動に伴いibus-daemonの自動起動設定は削除する
ソリューションとしては以下のコマンドを起動時毎回ターミナルから実行すれば解決する.
ibus start

これでとりあえず安定して日本語入力ができるようにはなる。
しかし結果としてAquaMozcのGUI問題は解決できなかった。
結論としてはとりあず使えるのでヨシッ

2024年3月3日日曜日

Kindle FireHD10(13世代)でUbuntu GUIを使おう

ことのはじまり


FireHD10(13世代)が安かったので買ってみたが使い道がなかったので、 Ubuntu on TermuxでLinuxタブレットにしようとした際の作業を備忘として残す。

設定手順

    手順一覧

  1. F-DroidのダウンロードとTermuxのインストール
  2. TermuxへのUbuntu導入(CLI)
  3. Ubuntu初期設定
  4. GUIの導入

F-DroidのダウンロードとTermuxのインストール

TermuxはGoogle Play上にもあるが、こちらは最早アップデートされていないため、 F-Droidからダウンロードする。 Silk Browserで開いて不明なアプリの許可->インストールで導入は終了。 あとはリポジトリとパッケージを更新するので、
pkg update && pkg upgrade -y

TermuxへのUbuntu導入(CLI)

TermuxへUbuntuを導入する方法は、Prootを使ったものやユーザーによるものなどいくつかあるが、 今回は比較的オーソドックスなユーザーによるスクリプトを使って行う。 今回はこれを使う installation stepsに従って上から順に以下のコードを実行していく。
#上から順にひとつずつ
apt-get install wget -y
apt-get install proot -y
apt-get install git -y
cd ~
git clone https://github.com/MFDGaming/ubuntu-in-termux.git
cd ubuntu-in-termux
chmod +x ubuntu.sh
./ubuntu.sh -y
./startubuntu.sh
終わったら次のようにUbuntuが起動してRootユーザーでログインしている。 とりあえず更新をして、sudoとvimを入れる。
#上から順にひとつずつ
apt-get update && apt-get upgrade -y
apt-get install vim -y
apt-get install sudo -y
ずっとルートユーザーでやるわけにはいかないので、ユーザーを追加する。
#ユーザーの追加
adduser [ユーザー名]
echo "[ユーザ名] ALL=(ALL:ALL) ALL" > /etc/sudoers
ユーザーを切り替えたり再度ログインしたりすると
#出るエラー
groups: cannot find name for group[メッセージ]
みたいなエラーが出る。
ユーザーをグループに入れて解決する。
ここではtermuxのユーザー名を使用するのでメモの準備をしておき次のコマンドを実行する。
#グループエラーの解消
exit //ubuntuから抜ける
whoami //termuxのユーザー名を確認しメモする
./startubuntu.sh
addgroup --system --gid 3003 inet
addgroup --system --gid 9997 everybody
addgroup --system --gid 20237 [termuxのユーザー名]_cache
addgroup --system --gid 50237 all_[termuxのユーザー名(u_を除いた部分)]
addgroup --system --gid 99909997 u999_everybody
reset
ここまででCLIのセットアップは完了

GUIの導入

クライアントにはこれを使う とりあえずxfce4のインストール
#xfce4のインストール
sudo apt-get install xfce4

ここに10時間ぐらいかかる。
キーボード選択画面が出るので自由に選択する。
XSDLのアプリを起動し、画面のIPアドレスとポートをメモ接続用に以下の設定を.bashrcに記入する。
#.bashrcに記載
export DIPLASY=:127.0.0.1:0
export PULSE_SEVER=tcp:127.0.0.1:[ポート番号]

これでデスクトップが表示される。
中のアプリのアップデート等はまた今度

参考にさせてもらった記事

Termux Ubuntuにログインとユーザ設定
https://www.lisz-works.com/entry/termux-ubuntu-adduser
Android でもとりあえず Ubuntu のデスクトップ環境を使いたい(Termux 版)
https://qiita.com/tacchi/items/a532aafd9c05fdf7be45
magadan/Ubuntu-Focal-20.04-LTS-for-Termux
https://github.com/magadan/Ubuntu-Focal-20.04-LTS-for-Termux
groups: cannot find name for group ID #2
https://github.com/Neo-Oli/termux-ubuntu/issues/2