LoginSignup
18
17

More than 3 years have passed since last update.

Debian / Ubuntu上のwaylandとwestonで最小限のGUIを構築する

Last updated at Posted at 2018-08-25

概要

X.Orgは古臭いということになり最近のGNOMEやKDEではwaylandがデフォルトになっています。ただGNOMEやKDEは余計なものが多く入っています。最小限(firefoxで日本語入力して音楽を聞く)ためのdebian最小インストールをメモします。以下の記述は/etc/apt/apt.confAPT::Install-Recommends 0; と設定して推奨パッケージを入れない設定でもうまくいくようになっています。Ubuntuでもbionic (18.04 LTS)の場合以下の「インストール作業」の部分で、ubuntu serverをインストールするためのalternative installer (debian installer)で最初にF6を押してエキスパートモードを選び、現れるブートコマンドラインのubuntu-server.seedをubuntu-server-minimal.seedに変えればインストールされるパッケージを最小にしてほぼ同様のことが出来るはずです。NVIDIAのドライバ入れるとwayland/westonが使えないので注意

インストール作業(Debian)

エキスパートインストールを選んで、パッケージの選択で何も選択しない。インストーラー言語は日本語を選び、システムデフォルトロカールはja_JP.UTF-8を選んでおく。
ファームウェアを含むインストーラーは https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/ にある

ネットワークの設定(debian busterで無線LANを使う場合)

Debian Busterで無線LANを用いてインストールすると起動後まったくネットワークが使えず新規パッケージのインストールが何も出来ないから以下の作業を行いネットワークが使えるようにする。

  • ip l などを実行し無線LANのインターフェース名を確認し、以下のファイルを作成する
/etc/wpa_supplicant/wpa_supplicant-無線IF名.conf
country=JP  # crda パッケージインストールが必要
network={
    ssid="SSID名"
    scan_ssid=1
    key_mgmt=WPA-PSK
    psk="パスワード"
}
  • systemctl enable wpa_supplicant@無線IF名 を実行する
  • 以下のファイルを作成する
/etc/systemd/network/適当な名前.network
[Match]
Name=wl*

[Network]
DHCP=true
MulticastDNS=true
  • systemctl enable systemd-networkd.service systemd-resolved.service を実行する
  • ifupdown, avahi-autoipd パッケージは不要なので apt-get --purge remove ifupdown avahi-autoipd で削除する
  • Ubuntuの場合netplan.ionplan がDebianのifupdownに対応するため削除してよい。また、もしwhiptail, apt-utilsが入っていない場合なるべく作業のなるべく早い段階で入れておく。dpkg-reconfigure locales を行いja_JP.UTF-8ロカールを入れると共にシステムのデフォルトロカールを(再)設定しておく。

kernel command lineの設定(そうしたい場合のみ)

GRUB_CMDLINE_LINUX_DEFAULT="i8042.reset=1 cgroup_no_v1=all systemd.unified_cgroup_hierarchy=1"/etc/default/grub に書いて update-grub する

どういう用途でも必要そうなパッケージのインストール

apt-get install libnss-resolve libnss-systemd dbus-user-session policykit-1
またCPUのバグを直すためにintel-microcodeまたはamd-microcodeをインストールする。必要なfirmware、例えばfirmware-intel-soundなど

mozcとibusによる日本語入力のためのパッケージインストール

apt-get install ibus-gtk3 ibus-gtk ibus-mozc mozc-utils-gui

音を鳴らすためのPulseAudio関係パッケージのインストール

apt-get install pulseaudio rtkit pavucontrol
音量のコントロールは後述のwayland-terminalからpavucontrol を実行する。

emacs関係パッケージ

apt-get install emacs emacs-el emacs-common-non-dfsg

Wayland/Weston関連のほぼ最低限のパッケージインストール

apt-get install weston xwayland xfonts-base fonts-vlgothic fonts-ipafont poppler-data

Firefoxのインストール

firefox-esr-l10n-ja または firefox-l10n-ja をインストールする。後者のほうがバージョンが高いがunstableからしかインストール出来ない

Wayland/Westonで日本語入力する手順(結構コツがいる)

weston.ini の設定

例えばホームディレクトリに以下を置く。レイアウトを指定しないとアメリカ配列になりキートップと入力文字が一致しなくなる。

weston.ini
[core]
xwayland=true
require-input=false
backend=drm-backend.so
modules=systemd-notify.so
use-pixman=true

[keyboard]
keymap_layout=jp

[shell]
#client=/usr/bin/weston-terminal
locking=false
animation=fade
allow-zap=true

westonとwayland-terminalの起動

weston --log=weston.log --config=weston.ini とGUIではないコンソールから打ってwestonを起動し、左上にあるアイコンを起動してwayland-terminalを起動する。現状ではwayland-terminalからはどうやっても日本語入力出来ない(ibus-waylandパッケージがバグっているため)。ターミナルから日本語入力したい場合は例えばgnome-terminalなどを用いる

環境変数の設定

/etc/environment
CLUTTER_IM_MODULE=ibus
QT4_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
GTK_IM_MODULE=ibus
LANG=ja_JP.UTF-8

上記の環境変数を設定する。例えば /etc/environment に書く。

ibus-daemon の起動

$ ibus-daemon -d -r -x
$ ibus engine mozc-jp

上記コマンドの実行後にfirefox等で日本語入力出来る。入力の設定はibus-setupコマンドをwayland-terminalなどから実行する。firefox を起動して日本語入力や音楽再生を確認して下さい。

uim

ibus の代わりにuimを使う場合、環境変数設定のibusuimに置き換えて、uim-xim を起動すると日本語入力できるようになります。必要なパッケージは xfonts-base im-config mozc-data mozc-server mozc-utils-gui uim-mozc uim uim-data uim-gtk2.0 uim-gtk2.0-immodule uim-gtk3 uim-gtk3-immodule
uim-plugins uim-qt5 uim-qt5-immodule uim-xim

virt-manager へのメモ書き

virt-manager はwestonからでも動作するが、それとは独立に APT::Install-Recommends 0; の設定だとgir1.2-spiceclientgtk-3.0 がインストールされないから画面が出ない。そのほかにもrecommendパッケージにいろいろ入っているので--install-recommendsを付けてインストールしたほうがよいかも。

18
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
17