Alpine Linux は、musl と BusyBox をベースとした Linux ディストリビューションです。セキュリティ・シンプルさ・リソース効率を重視するパワーユーザー向けに設計されています。Alpine Linux では grsecurity / PaX を適用した Linux カーネルを使用しており、全てのユーザ空間バイナリがスタックスマッシング保護 (stack-smashing protection, SSP) 付きの位置独立実行ファイル (PIE) としてコンパイルされています。
軽量の Alpine Linux に、なぜ軽量でない GNOME デスクトップ環境をインストールしたいのか?
それは普段使っているデスクトップ環境が GNOME なので、Alpine Linux でも設定してみたかったからです。Linux ではデスクトップ環境を選択する自由がありますので、使いたいものを試せば良いのです。😄
OUTLINE
基本インストール後の設定(準備)
本ブログの過去記事 [1] で Alpine Linux 3.15 のインストール方法を紹介していますが、setup-alpine コマンドによるインストールが終わり、再起動したところから、デスクトップ環境のための設定作業を始めます。その記事で説明している Xfce を設定したやり方とはちょっと異なる手順、方法を取っていますのでご注意ください。
Alpine Linux の基本インストール後の設定は、参考サイト [2] をベースにしています。
ユーザーアカウントの設定
本ブログの過去記事 [1] では、後にユーザーアカウントを作成しましたが、今回はあらかじめ adduser コマンドでユーザーアカウントを作成しておきます。
最初、ユーザーアカウントを作成していなかったために GNOME の GDM (GNOME Display Manager) のログイン画面が表示されず、当時は原因が判らずに見当違いな試行錯誤を繰り返して遠回りをしてしまいました。
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" の一行を加えます。
本ブログでは 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
環境変数 LANG を C から ja_JP.UTF-8 に変更します。
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
Linux User があらかじめ作っておいたユーザーアカウントです。パスワードを入力すると無事、ログインできました。
準備段階でロケール設定済みで、日本語フォントもインストールしてあるので、最初から日本語表示になっています。
GDM の自動起動設定
GDM の起動を確認できましたので、「端末」を起動して su コマンドでルートになり、自動起動するように登録しておきます。
localgost:~$ su Password: localgost:/home/bitwalk# rc-update add 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 キーで変換します。
Flatpak の利用
Flatpak は、Linux デスクトップ向けのソフトウェアデプロイメント・パッケージ管理・アプリケーション仮想化を行うユーティリティソフトウェアです。ユーザーがアプリケーションとシステムを分離して実行することができるサンドボックスを提供します。
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 のアプリをインストールできるようになります。
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 の最初の起動では、下記のページが表示され、さらに警告ダイアログが表示されます。
これはローカルの特定領域に書き込む権限がないという警告です。
とりあえず、該当する .local/share/applications と .local/share/icons(mkdir コマンドで作成後)に、chmod 766 で権限を付与しました。これが適切なアクセス権限になっているかどうかは自信がありません。🙇
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 のディストロによる違いが出てきます。その辺の違いを、もうすこし使いながら調べます。
参考サイト
- bitWalk's: Linux ディストロ探訪(27) 〜 Alpine Linux 〜 [2021-12-17]
- Installation - Alpine Linux
- Gnome - Alpine Linux
- Flatpak—the future of application distribution
にほんブログ村
0 件のコメント:
コメントを投稿