テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

LXDコンテナ内でFirefox(X11ソフト)を動かす

2020-08-02 13:50:21 | LXC/LXD,コンテナ,snaps
ドンキNANOTEにwubi使ってUbuntu20.04を入れた際UbuntuStudioにも対応だったので、遊び用として考えてるデスクトップPCにwubiを使ってホビー用途なUbuntu Studioを入れて使うことにした。昔EeePC(と110Gc)にKXStudioは入れたことがあるが、Ubuntu Studioは初めてなのでwubiを使ってお試し気味に。
LMMSにデモソングが入ってないんだなと思ったが、今のKXStudioってそもそもLMMS入ってないのか?それともライブCDの部屋版KXStudioだったからかな。

wubiでUbuntuStudioということは、ルートがループバックマウントで、カーネルがLowLatencyな状況なんだが、LXDがちゃんと使えるかやや気になる。
host$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 31G 15G 15G 51% /
host$ uname -a
Linux ubuntu 5.4.0-42-lowlatency #46-Ubuntu SMP PREEMPT Fri Jul 10 01:43:58 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

そんな環境でLXDコンテナ使ってFirefox(X11ソフト)を動かそうかとやってみた。snap版LXDは普通にインストールできた。
LXDコンテナでX11ソフトを使うやり方は、ずっとこっちのguiプロファイルでやってたが、改良されたらしいこっちのx11プロファイルを使って見ようとしたら見事ハマってしまうという、やはりという展開だった・・・。

(※プロファイル中のX1はX0に変更)
host$ lxc launch ubuntu:18.04 --profile default --profile x11 u18g
起動しなくてlxc info --show-log local:u18gとメッセージが出るので確認したが、さっぱり要領を得ないメッセージ。
wubiでUbuntuStudioなだけに、そもそもコンテナが動くのか動かないかもよくわからないのでx11プロファイルなしで作成すると起動はできた。

ということで、そういえば最近コンテナでGUIアプリを動かす記事見たなと、プロファイルを使わずにコマンド入力でやると動いた。
動くんだということでx11プロファイルをよく確認するとnvidia.〜なんて設定が記述されているではないか。IntelCPUのGPU使ってるんで不要なのでlxc profile edit x11でコメントアウト。
host$ lxc start u18g
Error: Error occurred when starting proxy device: Error: Failed to listen on /home/ubuntu/pulse-native: listen unix /home/ubuntu/pulse-native: bind: no such file or directory
Try `lxc info --show-log u18g` for more info
またエラーが出たが、今度は /home/ubuntu/pulse-nativeが無いとわかりやすいメッセージ。
しかしどういうこと?と思いつつググったら、ここに回答があった。
「ubuntu:18.04イメージは初回起動時に/home/ubuntuが存在しない」から「images:ubuntu/bionicを使え」と。
えー、別の同じようなイメージをまたダウンロードしたくないからどうしよう。
なんて思ってたが、再びlxc start u18gして見たら起動するではないか。初回起動時にエラー出したけど/home/ubuntuは作成されてたようだ。ちゃんちゃん。

host$ lxc shell u18g
mesg: ttyname failed: No such device
root@u18g:~# su - ubuntu
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@u18g:~$ ls
pulse-native
ubuntu@u18g:~$ xlogo
xlogoがちゃんと表示された。

次にfirefoxを使えるようにする。
host$ lxc exec u18g -- sudo -iu ubuntu bash
ubuntu@u18g:~$ sudo apt install firefox
漢字が表示されないのでフォントをインストール(※文字化け修正のみで日本語化したわけではない)
ubuntu@u18g:~$ apt install fonts-noto
YouTubeで音が鳴らなかったので環境変数を登録
ubuntu@u18g:~$ export PULSE_SERVER=unix:/home/ubuntu/pulse-native
ubuntu@u18g:~$ echo export PULSE_SERVER=unix:/home/ubuntu/pulse-native >> .profile
後はfirefoxでデフォルトブラウザ設定をした。
ubuntu@u18g:~$ firefox
使えるようになった。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする