small-lxde-desktop.shは何をしているか?

beaglebone blackにUbuntuをインストールすると、GUI構成にするためのスクリプトが付属している。
それは何をやっているかを調べて、手動で実行してみた。

  • CPU情報を拾ってAM33XXであることを確認。
  • パッケージリポジトリを最新に更新。
  • 指定パッケージがあるかないか確認してインストール。
  • 実行ユーザーがrootでなければ、~/.xinitrcを作成し実行権限を与える。/etc/slim.confの修正。
  • /etc/X11/xorg.conf作成。
  • 再起動をうながすメッセージ表示。

という感じ。


プロセスを手動で実行してみる。


AM33XXはblackだから間違いない。一応確認。

ubuntu@arm:~$ cat /proc/cpuinfo
processor	: 0
model name	: ARMv7 Processor rev 2 (v7l)
BogoMIPS	: 198.72
Features	: swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x3
CPU part	: 0xc08
CPU revision	: 2

Hardware	: Generic AM33XX (Flattened Device Tree)
Revision	: 0000
Serial		: 0000000000000000

パッケージリポジトリのアップデート。

ubuntu@arm:~$ sudo apt-get update

必要なパッケージのインストール。
ダウンロードだけでなく展開にもとても時間がかかる。

ubuntu@arm:~$ sudo apt-get install lxde-core slim xserver-xorg-video-modesetting xserver-xorg x11-xserver-utils
(snip)
The following NEW packages will be installed:
  acl at-spi2-core colord consolekit dbus dbus-x11 dconf-gsettings-backend
  dconf-service desktop-file-utils dictionaries-common fontconfig fuse
  gconf-service gconf-service-backend gconf2 gconf2-common gcr gksu
  glib-networking glib-networking-common glib-networking-services
  gnome-keyring gsettings-desktop-schemas gvfs gvfs-backends gvfs-common
  gvfs-daemons gvfs-fuse gvfs-libs hicolor-icon-theme libarchive13 libasound2
  libatasmart4 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0
  libavahi-glib1 libbluetooth3 libcairo-gobject2 libcairo2 libcap-ng0
  libcap2-bin libcdio-cdda1 libcdio-paranoia1 libcdio13 libck-connector0
  libcolord1 libcolorhug1 libdatrie1 libdbus-glib-1-2 libdconf1
  libdrm-nouveau2 libdrm-radeon1 libexif12 libfm-data libfm-gtk-bin
  libfm-gtk-data libfm-gtk3 libfm3 libfontenc1 libfuse2 libgck-1-0
  libgconf-2-4 libgcr-3-1 libgcr-3-common libgd2-xpm libgdk-pixbuf2.0-0
  libgdk-pixbuf2.0-common libgee2 libgif4 libgksu2-0 libgl1-mesa-dri
  libgl1-mesa-glx libglade2-0 libglapi-mesa libgnome-keyring-common
  libgnome-keyring0 libgphoto2-2 libgphoto2-l10n libgphoto2-port0 libgtk-3-0
  libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common
  libgtop2-7 libgtop2-common libgudev-1.0-0 libgusb2 libharfbuzz0 libicu48
  libid3tag0 libieee1284-3 libimlib2 libimobiledevice3 libjasper1
  libjpeg-progs libjpeg-turbo-progs libllvm3.2 libltdl7 libmenu-cache2
  libmtdev1 libmtp-common libmtp-runtime libmtp9 libnettle4 libobrender27
  libobt0 libp11-kit-gnome-keyring libpam-cap libpam-ck-connector
  libpam-gnome-keyring libpango1.0-0 libpciaccess0 libpixman-1-0 libplist1
  libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libproxy1
  libsane libsane-common libsecret-1-0 libsecret-common libsmbclient
  libsoup-gnome2.4-1 libsoup2.4-1 libstartup-notification0 libtalloc2 libtdb1
  libthai-data libthai0 libtxc-dxtn-s2tc0 libudisks2-0 libusbmuxd2
  libutempter0 libv4l-0 libv4lconvert0 libwayland0 libwbclient0 libwnck-common
  libwnck22 libx11-xcb1 libxcb-dri2-0 libxcb-glx0 libxcb-render0 libxcb-shape0
  libxcb-shm0 libxcb-util0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3
  libxfont1 libxft2 libxi6 libxinerama1 libxkbcommon0 libxkbfile1 libxrandr2
  libxrender1 libxres1 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 lxde-common
  lxde-core lxde-icon-theme lxmenu-data lxpanel lxsession lxsession-data
  lxshortcut miscfiles ntfs-3g obconf openbox openbox-themes pcmanfm
  policykit-1 policykit-1-gnome psmisc shared-mime-info slim udisks2 usbmuxd
  x11-utils x11-xkb-utils x11-xserver-utils xbitmaps xfonts-base
  xfonts-encodings xfonts-utils xscreensaver xscreensaver-data xserver-common
  xserver-xorg xserver-xorg-core xserver-xorg-input-all
  xserver-xorg-input-evdev xserver-xorg-input-synaptics
  xserver-xorg-input-wacom xserver-xorg-video-modesetting xterm
0 upgraded, 207 newly installed, 0 to remove and 28 not upgraded.
Need to get 52.7 MB of archives.
After this operation, 161 MB of additional disk space will be used.
(snip)

エラーが出ているが気にしない。

Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.11.0-rc6-armv7-x10
grep: /boot/config-3.11.0-rc6-armv7-x10: No such file or directory

~/.xinitrcを作成。

ubuntu@arm:~$ vi ~/.xinitrc
#!/bin/sh
exec startlxde
ubuntu@arm:~$ chmod +x ~/.xinitrc

slim.confの変更。
sessionsの先頭にstartlxdeを追記。
"default_user ubuntu"と、"auto_login yes"を変更。

ubuntu@arm:~$ sudo vi /etc/slim.conf

xorg.confの作成。

ubuntu@arm:~$ sudo vi /etc/X11/xorg.conf
Section "Monitor"
        Identifier      "Builtin Default Monitor"
EndSection

Section "Device"
        Identifier      "Builtin Default fbdev Device 0"
        Driver          "modesetting"
        Option          "HWcursor"      "false"
EndSection

Section "Screen"
        Identifier      "Builtin Default fbdev Screen 0"
        Device          "Builtin Default fbdev Device 0"
        Monitor         "Builtin Default Monitor"
        DefaultDepth    16
EndSection

Section "ServerLayout"
        Identifier      "Builtin Default Layout"
        Screen          "Builtin Default fbdev Screen 0"
EndSection

再起動。

ubuntu@arm:/$ sudo reboot

なーんもおきねーなー。
と、思ったら出た出た。
https://lh6.googleusercontent.com/-UuZdN9eLyfc/UlEfnhSHNzI/AAAAAAAAGjY/yDgkLoN0Ku0/photo.png
でも、マウスカーソルが出てこない...
xorg.confに書いてないので当たり前か。
手生成で追記。

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option "XkbModel" "jp106"
         Option "XkbLayout" "jp"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
EndSection

あれ?有効にならないな。
これじゃダメだったっけ?
あぁ、そうだった、このkernelはUSB Hotplugができないんだった。
後から差し込んでもダメだよな。
再起動したら、カーソルは出ないんだけど、マウスは認識しているみたい。中や右クリックでメニューは出てくる。
マウスとキーボード設定は追記しなくても認識しているようだ。
スクリーンセーバーから復帰すると、カーソルは見えるようになった。よーわからんな。