2021-12-28

Alpine Linux に GNOME を設定

Alpine Linux は、muslBusyBox をベースとした Linux ディストリビューションです。セキュリティ・シンプルさ・リソース効率を重視するパワーユーザー向けに設計されています。Alpine Linux では grsecurity / PaX を適用した Linux カーネルを使用しており、全てのユーザ空間バイナリがスタックスマッシング保護 (stack-smashing protection, SSP) 付きの位置独立実行ファイル (PIE) としてコンパイルされています。

Wikipedia より引用、編集

軽量の Alpine Linux に、なぜ軽量でない GNOME デスクトップ環境をインストールしたいのか?

それは普段使っているデスクトップ環境が GNOME なので、Alpine Linux でも設定してみたかったからです。Linux ではデスクトップ環境を選択する自由がありますので、使いたいものを試せば良いのです。😄

Alpine Linux 3.15 に GNOME デスクトップ環境を設定した例

OUTLINE

基本インストール後の設定(準備)

本ブログの過去記事 [1] で Alpine Linux 3.15 のインストール方法を紹介していますが、setup-alpine コマンドによるインストールが終わり、再起動したところから、デスクトップ環境のための設定作業を始めます。その記事で説明している Xfce を設定したやり方とはちょっと異なる手順、方法を取っていますのでご注意ください。

Alpine Linux の基本インストール後の設定は、参考サイト [2] をベースにしています。

Alpine Linux 3.15 をインストール、再起動後にログインした状態

ユーザーアカウントの設定

本ブログの過去記事 [1] では、後にユーザーアカウントを作成しましたが、今回はあらかじめ adduser コマンドでユーザーアカウントを作成しておきます。

最初、ユーザーアカウントを作成していなかったために GNOME の GDM (GNOME Display Manager) のログイン画面が表示されず、当時は原因が判らずに見当違いな試行錯誤を繰り返して遠回りをしてしまいました。

ユーザーアカウントの作成例 (bitwalk)

GNOME の GDM は、利用可能なユーザアカウント(UID >= 1000 のアカウント)がない場合、起動しません。adduser コマンドで作成するユーザーアカウントの UID は、デフォルトで 1000 以上に設定されます。

リポジトリの追加

/etc/apk/repositories のコメント行の # を外してリポジトリを追加します。

localhost:~# vi /etc/apk/repositories
...
...
localhost:~# cat /etc/apk/repositories
#/media/cdrom/apks
http://sjc.edge.kernel.org/alpine/v3.15/main
http://sjc.edge.kernel.org/alpine/v3.15/community
http://sjc.edge.kernel.org/alpine/edge/main
http://sjc.edge.kernel.org/alpine/edge/community
http://sjc.edge.kernel.org/alpine/edge/testing
localhost:~# apk update
:
:
localhost:~# apk upgrade
:
:

編集後 apk update / apk upgrade を実行して、リポジトリの情報を更新およびパッケージの更新しておきます。

/etc/rc.conf の編集

/etc/rc.conf に、unicode="YES" の一行を加えます。

/etc/rc.confunicode="YES" の一行を追加

本ブログでは vi でテキストファイルを編集しています。

/etc/profile.d/locale.sh.sh の編集

参考サイト [2] では、/etc/profile.d/locale.sh/etc/profile.d/locale.sh.sh にコピーして編集するように書かれているので、それに従います。

localgost:~# cp /etc/profile.d/locale.sh /etc/profile.d/locale.sh.sh
localgost:~# vi /etc/profile.d/locale.sh.sh

環境変数 LANGC から ja_JP.UTF-8 に変更します。

/etc/profile.d/locale.sh.sh の編集

musl-locales のインストール

以下のように、musl-locales をインストールします。

localgost:~# apk add musl-locales
...

マニュアル文書のインストール

以下のように、マニュアル文書をインストールします。

localgost:~# apk add lang
...
localgost:~# apk add man-pages
...
localgost:~# apk add mandoc
...
localgost:~# apk add mandoc-apropos
...
localgost:~# apk add docs
...

setup-xorg-base コマンドの実行

グラフィカルな環境を利用するために setup-xorg-base コマンドを実行して、基本パッケージをインストールします。

localgost:~# setup-xorg-base
...

日本語フォントのインストール

あらかじめ、日本語フォントをインストールしておきます。

localgost:~# apk add font-noto-cjk font-noto-cjk-extra
...

デスクトップ環境 GNOME の設定

参考サイト [3] に説明されている内容をベースに設定をしました。

GNOME 関連パッケージのインストール

コアアプリを含む GNOME 関連パッケージをインストールします。

localgost:~# apk add gnome gnome-apps-core
...

GDM の起動

念のため reboot で再起動した後、root でログインし、GDM を起動します。問題がなければグラフィカル・ログインの画面が表示されます。

localgost:~# rc-service gdm start
GDM のグラフィカル・ログインの画面

Linux User があらかじめ作っておいたユーザーアカウントです。パスワードを入力すると無事、ログインできました。

GNOME デスクトップ画面(はじめてのログイン)

準備段階でロケール設定済みで、日本語フォントもインストールしてあるので、最初から日本語表示になっています。

GNOME のアプリ一覧

GDM の自動起動設定

GDM の起動を確認できましたので、「端末」を起動して su コマンドでルートになり、自動起動するように登録しておきます。

localgost:~$ su
Password:
localgost:/home/bitwalk# rc-update add gdm
GDM が自動起動するように登録

Anthy のインストールと設定

日本語の表示ができても、まだ入力ができません。Alpine Linux で利用できる日本語変換システム Anthy は、インプットメソッドフレームワーク IBus と組み合わせて利用できるようになっているため、ibus-anthy パッケージ(と関連するパッケージ)をインストールします。

localgost:/home/bitwalk# apk add ibus-anthy
...

ibus-anthy と関連パッケージをインストールした後、再起動してログインし直し、GNOME の「設定」→「Keyboard」→「入力ソース」で 日本語 (Anthy) と Japanese を選択します。

入力ソースの設定

⊞ Win + Space で、入力ソース(日本語 (Anthy) ⇔ Japanese)を切り替えます。

入力ソースの切り替え

入力ソースが 日本語 (Anthy) の時は 漢字 キーでひらがな(変換)とアルファベット入力を切り替えられます。ひらがなから漢字へは SPACE キーで変換します。

テキストエディター (gedit) で日本語入力・変換をした例

Flatpak の利用

Flatpak は、Linux デスクトップ向けのソフトウェアデプロイメント・パッケージ管理・アプリケーション仮想化を行うユーティリティソフトウェアです。ユーザーがアプリケーションとシステムを分離して実行することができるサンドボックスを提供します。

Wikipedia より引用、編集

Flatpak は特定のデスクトップ環境のためのソフトウェアではありませんが、多くの GTK+ アプリが利用できるという点では GNOME との相性が良いので、デスクトップアプリは極力 Flatpak のものを使ってみることにします。

Alpine Linux でも flatpak パッケージが利用できるので、インストールして Flatpak のアプリを利用してみます。

flatpak のインストールとリポジトリの設定

まず、apk コマンドで flatpak パッケージをインストールします。

localhost:~$ su
Password: 
localhost:/home/bitwalk# apk add flatpak
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
(1/6) Installing ostree (2021.5-r0)
(2/6) Installing ostree-doc (2021.5-r0)
(3/6) Installing flatpak (1.12.2-r0)
Executing flatpak-1.12.2-r0.pre-install
Executing flatpak-1.12.2-r0.post-install
(4/6) Installing flatpak-libs (1.12.2-r0)
(5/6) Installing gnome-software-plugin-flatpak (3.38.2-r1)
(6/6) Installing flatpak-lang (1.12.2-r0)
Executing busybox-1.34.1-r5.trigger
Executing dbus-1.12.20-r4.trigger
Executing mandoc-apropos-1.14.6-r1.trigger
OK: 3141 MiB in 1066 packages
localhost:/home/bitwalk# 

続けて flathub のリポジトリ情報を追加します [4]

localhost:/home/bitwalk# flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Note that the directories 

'/var/lib/flatpak/exports/share'
'/root/.local/share/flatpak/exports/share'

are not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.

localhost:/home/bitwalk# 

再起動してログインし「ソフトウェア」を起動すると、Flatpak のアプリをインストールできるようになります。

GNOME の「ソフトウェア」

Google Chrome のインストールと設定

Google Chrome の flatpak パッケージも Flathub で利用できますが、本記事を書いている時点ではまだ β版扱いですので、別途 Flathun の β版パッケージがあるレポジトリ情報を追加します。さらに Google Command もコマンドでインストールしてしまいます。

localhost:/home/bitwalk# flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo

Note that the directory 

'/root/.local/share/flatpak/exports/share'

is not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.

localhost:/home/bitwalk# flatpak install flathub-beta com.google.Chrome

Note that the directory 

'/root/.local/share/flatpak/exports/share'

is not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.

Looking for matches…
Required runtime for com.google.Chrome/x86_64/beta (runtime/org.freedesktop.Platform/x86_64/21.08) found in remote flathub
Do you want to install it? [Y/n]: y

com.google.Chrome permissions:
    ipc              network            cups                    pulseaudio
    wayland          x11                devices                 file access [1]
    dbus access [2]  bus ownership [3]  system dbus access [4]  tags [5]

    [1] host-etc, xdg-documents, xdg-download, xdg-music, xdg-pictures,
        xdg-run/dconf, xdg-run/pipewire-0, xdg-videos, ~/.config/dconf:ro,
        ~/.config/kioslaverc
    [2] ca.desrt.dconf, org.freedesktop.FileManager1,
        org.freedesktop.Notifications, org.freedesktop.secrets,
        org.gnome.SessionManager
    [3] org.mpris.MediaPlayer2.chromium.*
    [4] org.freedesktop.Avahi, org.freedesktop.UPower
    [5] proprietary


        ID                                  Branch Op Remote       Download
 1. [✓] org.freedesktop.Platform.GL.default 21.08  i  flathub      130.9 MB / 131.2 MB
 2. [✓] org.freedesktop.Platform.Locale     21.08  i  flathub      142.5 MB / 325.0 MB
 3. [✓] org.freedesktop.Platform.openh264   2.0    i  flathub        1.5 MB / 1.5 MB
 4. [✓] org.freedesktop.Platform            21.08  i  flathub      152.5 MB / 198.9 MB
 5. [✓] com.google.Chrome                   beta   i  flathub-beta  95.0 MB / 95.5 MB

Installation complete.
localhost:/home/bitwalk# 

Google Chrome の最初の起動では、下記のページが表示され、さらに警告ダイアログが表示されます。

Flatpak 版 Google Chrome を最初に起動した時に表示される画面

これはローカルの特定領域に書き込む権限がないという警告です。

警告ダイアログ

とりあえず、該当する .local/share/applications.local/share/icons(mkdir コマンドで作成後)に、chmod 766 で権限を付与しました。これが適切なアクセス権限になっているかどうかは自信がありません。🙇

.local/share/ 以下のアクセス権限

Google のアカウントで同期して、いつもの Google Chrome のブックマークにアクセスできるようになりました。

その他

sudo の利用

su コマンドでスーパーユーザになるのも良いのですが、sudo コマンドにすっかり慣れてしまったので、やはり sudo パッケージをインストールすることにしました。

localhost:~$ su
Password: 
localhost:/home/bitwalk# apk add sudo
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
(1/2) Installing sudo (1.9.8_p2-r1)
(2/2) Installing sudo-doc (1.9.8_p2-r1)
Executing busybox-1.34.1-r6.trigger
Executing mandoc-apropos-1.14.6-r1.trigger
OK: 3168 MiB in 1075 packages
localhost:/home/bitwalk#

visudo コマンドで、sudoers の設定を編集します。

localhost:/home/bitwalk# visudo

編集中、下記が # でコメントアウトされている行を探し、# を外します。

%wheel ALL=(ALL) ALL

編集後、自分のアカウントを、グループ wheel に追加します。

localhost:/home/bitwalk# addgroup bitwalk wheel
localhost:/home/bitwalk#

再起動後、sudo コマンドが使えることを確認します。

まとめ

Alpine Linux はデスクトップ用途に特化していないので、デスクトップ用途で使おうとすると、追加の設定が必要で、慣れていないと面倒なようにも感じますが、それでも文書は良く整備されており、それに従ってインストールと設定をすれば、ちゃんとデスクトップ環境を利用できるようになります。

仮想環境で何回も繰り返し確認していると、やり方に慣れてきます。他のデスクトップ用途のディストロのインストーラに比べると確かに手間は掛かりますが、けっして煩雑なやり方ではありません。

GNOME は軽量なディスクトップ環境ではありませんが、その代わり、デスクトップ用途に必要なものが揃っています。日本語もロケールを設定してフォントをインストールしておけば、日本語変換システム (Anthy) をインストールするだけですぐに使えるようになります。さらに Flatpak を利用することにより、Linux ディストロに依らず、同じアプリを利用できるようになります。

極論を言えば、こうなると、もうどの Linux ディストロを使っても、デスクトップ用途では違いがなくなってしまいます。それでも、開発環境を用意するとなれば Linux のディストロによる違いが出てきます。その辺の違いを、もうすこし使いながら調べます。

参考サイト

  1. bitWalk's: Linux ディストロ探訪(27) 〜 Alpine Linux 〜 [2021-12-17]
  2. Installation - Alpine Linux
  3. Gnome - Alpine Linux
  4. Flatpak—the future of application distribution

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村
このエントリーをはてなブックマークに追加

0 件のコメント: