Alpine Linux - 共通事項 - デスクトップ環境


 クラウディア


1. 概要
2. 主なデスクトップ

1. 概要

 「Alpine Linux」は、基本的に「CUI」。  オペレーティングシステムは、もちろん「CUI」でインストールしますし。  デスクトップ環境も「X-Window」「Wayland」を含め、まずは、「CUI」で環境を整えて、はじめて「GUI」が使えるようになります。  なかなか、ハードな環境と言えるでしょう。

2. 主なデスクトップ

 ハードな環境の中でも、「GNOME」「KDE」「XFCE」「MATE」「sway」「LXQt」については、比較的簡単に環境を構築できます。  (「sway」は、失敗しちゃいましたけど)  なぜならば。

setup-desktop
 というコマンドを一発たたけば。

Which desktop environment? ('gnome', 'plasma', 'xfce', 'mate', 'sway', 'lxqt' or 'none') [none]
 という出力があり、どれかを選べば、一発で環境を構築できるからです。  これが気になりまして、調べてみたら、案の定、スクリプトでありました。  そこまで長くないので、掲載してみます。  (「Alpine Linux 3.23.3」のものです)

#!/bin/sh

PREFIX=/usr
: ${LIBDIR=$PREFIX/lib}
. "$LIBDIR/libalpine.sh"

usage() {
    cat <<-__EOF__
        usage: setup-desktop [-h] [gnome|plasma|xfce|xfce-wayland|mate|sway|lxqt]

        Install a standard desktop

        options:
         -h  Show this help

    __EOF__
    exit $1
}

prefer_gtk_dark() {
    if [ -e "$ROOT"/etc/gtk-3.0/settings.ini ]; then
        return
    fi
    mkdir -p "$ROOT"/etc/gtk-3.0
    cat >"$ROOT"/etc/gtk-3.0/settings.ini <<-EOF
    [Settings]
    gtk-application-prefer-dark-theme=1
    EOF
}

while getopts "h" opt; do
    case $opt in
        h) usage 0;;
        '?') usage "1" >&2;;
    esac
done
shift $(($OPTIND - 1))

if [ $# -gt 1 ]; then
    usage "1" >&2
fi

if [ $# -eq 0 ]; then
    users=$(awk -F: '{if ($3<65000 && $3 >= 1000) print $1}' "$ROOT"/etc/passwd 2>/dev/null)
    if [ -z "$users" ]; then
        setup-user -g "audio,video,netdev"
    fi
fi

de="$1"

valid_desktops="xfce xfce-wayland gnome plasma mate sway lxqt none"
if [ $# -eq 1 ] && ! isin "$de" $valid_desktops; then
    echo "$de is not a valid desktop" >&2
    usage "1" >&2
fi
shift

while ! isin "$de" $valid_desktops; do
    ask "Which desktop environment? ('gnome', 'plasma', 'xfce', 'mate', 'sway', 'lxqt' or 'none')" none
    de="$resp"
done

case "$de" in
    none)
        exit 0
        ;;
    mate)
        setup-xorg-base mate-desktop-environment ${BROWSER:-firefox} \
            gvfs \
            lightdm \
            lightdm-gtk-greeter \
            polkit \
            dbus \
            dbus-x11 \
            font-dejavu \
            "$@"
        rc-update add dbus
        rc-update add lightdm
        ;;
    xfce)
        prefer_gtk_dark
        setup-xorg-base xfce4 ${BROWSER:-firefox} \
            elogind \
            gvfs \
            lightdm \
            lightdm-gtk-greeter \
            polkit-elogind \
            xfce4-screensaver \
            xfce4-terminal \
            font-dejavu \
            "$@"
        rc-update add lightdm
        ;;
    xfce-wayland)
        prefer_gtk_dark
        setup-wayland-base xfce4 ${BROWSER:-firefox} \
            adwaita-icon-theme \
            elogind \
            greetd-gtkgreet \
            gvfs \
            labwc \
            polkit-elogind \
            xfce4-screensaver \
            xfce4-terminal \
            "$@"
        rc-update add dbus
        rc-update add greetd
        if ! grep -q ^rc_need "$ROOT"/etc/conf.d/greetd 2>/dev/null; then
            echo 'rc_need="seatd dbus"' >> "$ROOT"/etc/conf.d/greetd
        fi
        if ! grep -q xfce4-wayland "$ROOT"/etc/greetd/environments 2>/dev/null; then
            echo "xfce4-wayland" >> "$ROOT"/etc/greetd/environments
        fi
        addgroup greetd seat
        ;;
    lxqt)
        setup-xorg-base ${BROWSER:-firefox} \
            lxqt-desktop \
            lximage-qt \
            obconf-qt \
            pavucontrol-qt \
            arandr \
            sddm \
            font-dejavu \
            dbus \
            dbus-x11 \
            openbox \
            elogind \
            polkit-elogind \
            gvfs \
            udisks2 \
            adwaita-qt \
            oxygen \
            "$@"
        rc-update add dbus
        rc-update add sddm
        rc-update add elogind
        ;;
    gnome)
        setup-wayland-base ${BROWSER:-firefox} "$@"
        # apk info needs community repos which are enabled with setup-wayland-base
        apk add $(apk info --quiet --depends gnome gnome-apps-core)
        rc-update add gdm
        ;;
    plasma)
        setup-wayland-base ${BROWSER:-firefox} "$@"
        # apk info needs community repos which are enabled with setup-wayland-base
        apk add $(apk info --quiet --depends plasma-desktop-meta kde-applications-base)
        rc-update add sddm
        ;;
    sway)
        setup-wayland-base ${BROWSER:-firefox} \
            brightnessctl \
            font-dejavu \
            foot \
            grim \
            i3status \
            sway \
            swaybg \
            swayidle \
            swaylockd \
            util-linux-login \
            wl-clipboard \
            wmenu \
            xwayland \
            "$@"
        ;;
    *)
        usage "1" >&2
        ;;
esac

rc-update del acpid

users=$(awk -F: '{if ($3<65000 && $3 >= 1000) print $1}' "$ROOT"/etc/passwd 2>/dev/null)
if [ -z "$users" ]; then
    echo "WARNING: You need to create a user account. Please run: setup-user" >&2
    echo "" >&2
fi
 とまぁ、180行ですわ。  なるほど、デスクトップのパッケージの他にインストールしたり設定したりしているものがわかりますな。  この主要なパッケージ以外にも、デスクトップ環境のパッケージが複数そんざいしまして、それらをインストールするには、これを参考に出来そうです。

audiobook.jp
AbemaTV 無料体験
EaseUS