mDNS alpine linux 3.24 LXC on Proxmox ― 2026年10月11日 07:41

Proxmoxのローカル環境で、lxc を使用しています。 DHCP環境のため、IPアドレスが変更されてしまいます。

個々の lxc に固有の役割をあてたくても、 IPアドレスが変更されることで、扱い辛いです。

mDNS を使い、.local のドメイン名を用いて 名前解決を行う環境を用意します。

環境

  • Proxmox 9.2.21
  • alpine linux 3.24

設定

alpine linux の wiki mDNSと、udhcpc を参考に、 avahi を構築します。

Setup avahi

 # apk add avahi
 # cd /etc/avahi/services/
 # mv ssh.service ssh.org_service 
 # mv sftp-ssh.service sftp-ssh.org_service
 # rc-update add avahi-daemon
 # rc-service avahi-daemon start

.service を変更しているのは、avahi-browse で サービスを表示させたくない為です。

Setup avahi-tools

 # apk add avahi-tools
 # avahi-browse -a -t -r

Setup avahi2dns

 # apk add avahi2dns

avahi2dnsは、edgeのcommunityリポジトリに 登録されています。

 # rc-update add avahi2dns
 # rc-service avahi2dns start
 # drill -p 5354 @127.0.0.1 <hostname>.local

drill も、apk add してください。

Setup unbound

 # apk add openresolv unbound

以下の設定を、/etc/resolvconf.conf に追加してください。

 name_servers=127.0.0.1
 unbound_conf=/etc/unbound/unbound.conf.d/resolvconf.conf

かつ、以下の設定を /etc/unbound/unbound.conf.d/avahi-local.conf として設定してください。

 forward-zone:
       name: "local"
       forward-addr: 127.0.0.1@5354
 server:
       do-not-query-localhost: no
       domain-insecure: "local"

Setup udhcpc

/etc/udhcpc/udhcpc.conf の設定で、以下を設定してください。

 RESOLV_CONF="no"

これで、udhcpc による resolv.conf の上書きがなくなります。

Setup Proxmox ignore

 touch /etc/.pve-ignore.resolv.conf

これで、Proxmox による resolv.conf の上書きがなくなります。

resolvconf の反映

 resolvconf -u
 rc-update add unbound
 rc-service unbound start

注意

proxmox の lxc として、ホスト名に . を使用する事ができます。 . を使用すると lxc のOSとしてのホスト名は、 最初の . より前の値になります。

参考

ly 1.4.1 on alpine linux 3.24 ― 2026年06月15日 08:04

概要

以下環境で、ly の login 欄が選択出来ません。

対象

  • alpine linux 3.24
  • ly 1.4.1

原因

alpin linux 3.24 では、/etc/login.defs で UID_MIN が指定されています。 ly では、login 欄で選択出来るユーザを、/etc/login.defs の UID_MINと、 UID_MAX の範囲または、root (uid=0) としています。

UID_MIN と、UID_MAX の初期値は 0です。 UID_MIN のみ指定された場合に、UID_MAX が 0 なので、 UID_MIN 以上、UID_MAX の範囲が存在せず、 root 以外を選択出来ない状況が発生します。

alpine linux 3.23 では、UID_MIN、UID_MAXともに指定されていません。その状況では、UID_MIN=1000、UID_MAX=60000 と同等に動作するっぽいです。(詳細を追えていません)

チケット

以下チケットが挙げられており、closeしています

対応

1.4.1 環境では、UID_MAX を設定するのが良いと思います。

雑感

1.5 日ぐらい、此れで詰まりました。:D

QuickShell in alpine linux 3.23 ― 2026年04月26日 09:51

QuickShell を実行出来る環境を作ります。

環境準備

cli11 以外にも、以下のパッケージをインストールしました。

 apk add cmake
 apk add g++
 apk add jemalloc
 apk add jemalloc-dev
 apk add libdrm
 apk add mesa-gbm
 apk add ninja
 apk add pipewire-dev
 apk add pipewire-libs
 apk add pkgconf
 apk add polkit-dev
 apk add qt6-declarative
 apk add qt6-qt5compat
 apk add qt6-qtbase
 apk add qt6-qtbase-dev
 apk add qt6-qtdeclarative
 apk add qt6-qtdeclarative-dev
 apk add qt6-qtdeclarative-private-dev
 apk add qt6-qtimageformats
 apk add qt6-qtmultimedia
 apk add qt6-qtshadertools
 apk add qt6-qtsvg
 apk add qt6-qtwayland
 apk add qt6-qtwayland-dev
 apk add spirv-tools
 apk add vulkan-headers
 apk add wayland-dev
 apk add wayland-protocols

ビルドでエラーが出たら、足りないパッケージがあるか確認してみてください。

ビルド

cpptrace がパッケージになく、クラッシュ時のレポート用なので、オプションでOFFを指定して、ビルドします。

 cmake -GNinja -B build -DCMAKE_BUILD_TYPE=Release -DCRASH_HANDLER=OFF
 cmake --build build

インストール

root でインストールします。

 cmake --install build

実行

画面右下に、文字を表示する active_linux を shell.qml として保存し、実行します。 画像は、文字の色と、文字列を変更しています。

 mkdir -p ~/.config/quickshell
 cd ~/.config/quickshell
 curl -OL https://raw.githubusercontent.com/quickshell-mirror/quickshell-examples/refs/heads/master/activate_linux/shell.qml
 cd
 qs -d