Closed10

Arch Linux環境構築 on ノートpc

mafronmafron

What's this?

アキバでノートPCを仕入れたので、前々から気になっていたArch Linuxを仕込む。(10月ごろに購入してセットアップをしていたのに、しばらく放置していたので振り返りつつ続きをやる)。デスクトップ環境はhyprlandにしてみたい。(今どきっぽいという安直な動機)

mafronmafron

インストール

インストールガイドを参考に進めていく。
分からない箇所は適宜調べて記しつつ、他は適宜略記する。

  1. インストールメディア作成・起動
  2. インターネット接続
    • Wi-Fiなのでiwctlで無線LANに接続。
      • 手動設定かNetworkManagerで設定することが多いので初使用
      • NetworkManagerと組み合わせても使えるらしい
  3. パーティション作成
    • ライブ環境からPC内臓ディスクのパーティションを作成
    • 3つのパーティションが必要
mafronmafron

インストール続き

  1. 必須パッケージインストール
    • pacstrapで以下をインストール
      • base(baseパッケージ: 最低限のパッケージ群、その他必要なものは別途インストール)
      • linux(Linuxカーネル)
      • linux-firmware
  2. インストールしたOSにchroot
  3. インストールしたOSの設定
    • タイムゾーン、ロケール
    • ネットワーク
      • この段階では無線LANに接続できるが、OS側で設定をしておかないとchrootではなく直接起動した際に繋がらず、パッケージインストールもできなくなるため面倒なので、忘れず実施 (最初やらかした)
    • ブートローダ
      • GRUBをブート領域(EFIシステムパーティション)にインストール ⇒ UEFIが読み込める位置に置く必要がある
  4. chroot環境から抜けてreboot
mafronmafron

pacmanの使い方(よく使いそうなオプション抜粋)

  • -S
    • パッケージのインストール(必要な依存パッケージを含む)
    • 正確にはパッケージを同期
  • -y
    • pacman.confで定義されたサーバからマスターパッケージデータベースのコピーをダウンロード
      • 通常は--sysupgrade-uを使う時に使用
    • --refreshまたは-yを2回指定すると最新でも強制的にすべてのパッケージデータベースを更新
  • -u
    • パッケージをアップグレードまたはシステムに追加して、同期リポジトリから必要な依存パッケージをインストール
  • -R
    • パッケージのアンインストール
    • -Rsとすると、そのパッケージだけが依存している他のパッケージを一緒にアンインストール

AURヘルパーのインストール

  • AURとは
    • AUR(Arch User Repository)はArch Linuxコミュニティによって管理されているリポジトリ(公式リポジトリと別)。
  • AURヘルパーとは
    • AURパッケージはビルドしてインストールする手順を踏む必要があるっぽい?(結構面倒らしい)が、AURヘルパーを導入することでコマンド一つで簡単にインストール可能になる。
    • yayが有名らしいが、今回は比較的新しめのparuを利用。

オレオレArchLinuxインストール方法を参考にインストール

mafronmafron

Hyprlandの導入

  • 本体: hyprland
    • 設定ファイル~/.config/hypr/hyprland.conf
      • autogenareted=1をコメントアウト
      • キーボード配列
      input {
          kb_layout = jp
          …
      }
      
      • タッチパッド設定
      touchpad {
          natural_scroll = true
          clickfinger_behavior = true
          tap-to-click = true
      }
      
      gestures {
          workspace_swipe = true
          workspace_swipe_fingers = 3
      }
      
      • wayland非対応のアプリケーション表示の改善設定
      xwayland {
          force_zero_scaling = true
      }
      
mafronmafron
  • ディスプレイマネージャ(ログイン画面): gdm
    • 自動起動設定しておけばPC起動時にGUIログイン画面になる
  • ステータスバー: waybar
    • 設定ファイルが~/.config/waybar/にあるらしいが見当たらず。調べたところ、以下の通り。
      • デフォルトのconfigは/etc/xdg/waybar/にある
      • 以下の優先順位でconfigもしくはconfig.jsoncのファイル名のものが読み込まれる
        • $XDG_CONFIG_HOME/waybar/
        • ~/.config/waybar/
        • ~/waybar/
        • /etc/xdg/waybar/
        • SYSCONFDIR/xdg/waybar
  • ランチャー: wofi
  • ターミナル: foot
    • ~/.config/hypr/hyprland.confterminal設定をfootに変更
    $terminal = foot
    
  • 壁紙: hyprpaper
  • 通知: dunst
    • ~/.config/hypr/hyprland.confに自動起動設定を追加
    exec-once = hyprpaper
    exec-once = dunst
    
  • フォント: noto-fonts
  • IME: fcitx5 + mozc
    • fcitx5-imfcitx5-mozcをインストール
    • ~/.config/hypr/hyprland.confに自動起動設定を追加
    exec-once = fcitx5 -d --replace
    
    • ~/.bash_profileに以下の環境変数を設定
    GTK_IM_MODULE=fcitx5
    QT_IM_MODULE=fcitx5
    XMODIFIERS=@im=fcitx5
    
    • fcitx5の設定で`Mozcを入力メソッドに追加
      • 設定ファイルは~/.config/fcitx5/にあるがGUIfcitx5-configtoolで設定
  • ファイラー: thunar
    • ~/.config/hypr/hyprland.conffileManager設定をthunarに変更
    $fileManager = thunar
    
mafronmafron

バグ:gdmでグラフィカルログインをするとX Window Systemのデスクトップ環境(GNOME)になってしまう

事象
gdmでグラフィカルログインするとGNOMEデスクトップが表示される

原因
ログイン時にGNOMEデスクトップ環境が選択されていた

対応
ユーザ選択後のパスワード選択画面の右下に設定画面があった。そこからhyprlandを選択すればログインできた

mafronmafron

バグ:デスクトップ画面上部にConfig error

事象
以下のエラーが表示される

  • <decoration:drop_shadow> does not exist.
  • <decoration:shadow_range> does not exist.
  • <decoration:shadow_rander_power> does not exist.
  • <decoration:col.shadow> does not exist.

原因
hyprlandのshadowに関する設定部分が変わったがconfigの方が追い付いていない様子。
■Commit: shadow: add sharp and refactor options

対応
エラーが出ていた4行を以下の通り修正して解消

shadow {
    enabled = true
    range = 4
    render_power = 3
    color = rgba(1a1a1aee)
}
mafronmafron

バグ:一部のパッケージがインストールできない

事象
一部のパッケージをインストールする際、pgp鍵のimportでエラーが発生

gpg: keyserver receive failed: Server indicated a failure

原因
/etc/resolv.confが設定されていない
https://unix.stackexchange.com/questions/399027/gpg-keyserver-receive-failed-server-indicated-a-failure/630182#630182

対応
systemd-resolved - ArchWikiに従ってスタブモードの設定ファイルへのシンボリックリンクを作成

ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
mafronmafron

モニター繋いだ時の配置などをguiでサクッとやりたいのでnwg-displaysをインスコ
https://github.com/nwg-piotr/nwg-displays
ウィンドウとステータスバー(waybar)の設定をちょろっといじっていったん完了
後は使いながら育てていく

このスクラップは2025/01/02にクローズされました