1209 字
6 分鐘
Arch Linux + Hyprland 安裝

前言#

正確標題:Arch Linux + Hyprland with ML4W Dotfiles 安裝過程

不知道為什麼我用archinstall script都會報錯,所以改成自己手動裝,裝了好幾次才成功把要的東東弄好,所以記錄一下方便下一次重裝

第1次:用archinstall script安裝,無視報錯,結果切換user的頁面會卡死

第n次:沒裝iwd,查了很多資料還是連不到wifi
第n+1次:不小心改到權限,2ㄏ2ㄏ

下載iso & 製作開機碟#

iso下載: https://archlinux.org/download/

利用Rufus製作開機碟: https://rufus.ie/zh_TW/

安裝Arch Linux#

設定網路#

iwctl

# 進入 [iwd] 之後
device list

station [device_name] scan
station [device_name] connect [Network_name]
exit # 連完退出[iwd]

分割硬碟#

lsblk #顯示目前硬碟的分割狀態

cfdisk /dev/nvme0n1 #用圖形化介面分割硬碟

我的分區

  • /dev/nvme0n1p1:EFI system
  • /dev/nvme0n1p2:swap
  • /dev/nvme0n1p3:root
  • /dev/nvme0n1p4:home

官方推薦分區 image 我會再多分一個/home 官方文件解釋

格式化分區#

# UFI system
mkfs.fat /dev/[partition_name]
mkfs.fat /dev/nvme0n1p1

# swap
mkswap /dev/[partition_name]
mkswap /dev/nvme0n1p2

# root和home
mkfs.ext4 /dev/[partition_name]
mkfs.ext4 /dev/nvme0n1p3
mkfs.ext4 /dev/nvme0n1p4

掛載分區#

# root
mount /dev/nvme0n1p3 /mnt

# EFI
mkdir /mnt/efi
mount /dev/nvme0n1p1 /mnt/efi

# home
mkdir /mnt/home
mount /dev/nvme0n1p4 /mnt/home

# swap
swapon /dev/nvme0n1p2

安裝系統#

vim /etc/pacman.conf

新增鏡像 隨便選一個Address

[core]
Server = http://mirror.archlinux.tw/ArchLinux/$repo/os/$arch

安裝套件#

pacstrap /mnt base base-devel linux linux-firmware

然後可以更新一下

pacman -Syu

配置系統#

Fstab#

genfstab -U /mnt >> /mnt/etc/fstab

chroot到新系統#

arch-chroot /mnt

設定時區#

ln -sf /usr/share/zoneinfo/Asia/Taipei  /etc/localtime
hwclock --systohc

設定語言#

echo "en_US.UTF-8 UTF-8" > /etc/locale.gen;
echo "zh_TW.UTF-8 UTF-8" >> /etc/locale.gen;
echo "LANG=en_US.UTF-8" > /etc/locale.conf;

>>> 的差別 (對,我不知道)

接著執行 locale-gen 以生成 locale 資訊:

locale-gen  

設定電腦名稱#

echo "your-pc-name" > /etc/hostname

安裝vim

pacman -Sy vim
vim /etc/hosts

然後寫入

127.0.0.1        localhost.localdomain         localhost
::1              localhost.localdomain         localhost
127.0.1.1        myhostname.localdomain        myhostname

Initramfs#

mkinitcpio -p linux

設定 Root 密碼#

passwd

設定 Bootloader#

pacman -Sy grub os-prober efibootmgr
os-prober

# for BIOS
grub-install /dev/sda

# for UEFI
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg

安裝網路工具#

pacman -S net-tools dhclient dhcp
        wpa_supplicant wireless_tools 
        dhcpcd

pacman -S iwd # 連無線網路好用

常用 package#

vim # text editor 
pkgfile # 檢查官方軟件倉庫中軟體包文件的工具
bash-completion # 按tab會幫你打字的東東
sudo # substitute user do 你懂的
git # 讓你可以git別人的東東

pacman 筆記#

# 安裝
pacman -S [package_name]
pacman -S [package_name1] [package_name2] [package_name3]


# 同步
pacman -Sy
# 更新
pacman -Su
# 同步 + 更新全部 package
pacman -Syu

# 移除沒安裝的 cached package
pacman -Sc
# 移除所有在cache資料夾的檔案
pacman -Scc

# 移除 package
pacman -R [package_name]
# 把 dependencies 一起移除
pacman -Rs [package_name]

如果只做 pacman -Sy,可能會造成dependency issue

重新啟動#

systemctl enable dhcpcd.service
exit
umount -R /mnt
reboot

好耶開機#

設定網路#

# 啟動 iwd 服務
sudo systemctl start iwd

iwctl
# 後面就跟安裝的時候一樣步驟設定網路

設定新 user#

# 新增使用者
sudo useradd -m -G wheel -s /bin/bash username
# 設定使用者密碼
sudo passwd username

新增權限#

usermod -aG wheel username
visudo

進去檔案編輯之後 把這行的註解刪掉

# %wheel ALL=(ALL) ALL

變成這樣

%wheel ALL=(ALL) ALL

檢查權限

sudo -lU ostechnix
WARNING

如果碰到錯誤 visudo: no editor found (editor path = /usr/bin/vi) 可以利用下面指令將預設editor從vi改成vim (如果你有vim的話)

ln -s /usr/bin/vim /usr/bin/vi

或是安裝vi

pacman -S vi

安裝 Hyprland#

記得不要用root裝

安裝 git#

sudo pacman -S git

安裝帕魯paru#

有兩種方法安裝

用AUR裝#

sudo git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
WARNING

如果makepkg時碰到

==> Missing dependcies:
  ->cargo
==> ERROR: Could not resolve all dependcies.

安裝rustup

sudo pacman -S rustup

然後你可能又會碰到

error: rustup could not choose a version of rustc to run, because one wasn't specified explicitly, and no default is configured.
help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.

就按照他說的跑

rustup default stable

用yay裝#

我不是用這方法,但大概邏輯是這樣

sudo git clone https://aur.archlinux.org/yay-git.git
cd yay-git/
sudo chown -R username:username ~/yay-git
makepkg -si

# 裝好之後
yay -S paru

安裝 ml4w#

paru -S ml4w-hyprland

讓他慢慢跑#

ml4w-hyprland-setup

基本上介面淺顯易懂 選擇你要的設定就好了

好了#

20241105_150743

一些我碰到的問題#

WARNING: Possibly missing firmware for module: ‘XXXXX’#

自己對照一下去下載對應的檔案 https://wiki.archlinux.org/title/Mkinitcpio#Possibly_missing_firmware_for_module_XXXX

Discord 不能打中文#

如果你已經裝了fcitx5注音但還是不能打中文 可以試試看這個方法

找到啟動設定檔#

find /usr/share/applications ~/.local/share/applications -name "*discord*.desktop"

編輯#

vim /usr/share/applications/discord.desktop

Exec=/usr/bin/discord 後面加上 --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime#

Exec=/usr/bin/discord --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime

如果你用的是 X11 ,不是Wayland#

Exec=/usr/bin/discord 後面加上 --enable-features=UseOzonePlatform --ozone-platform=x11#

Exec=/usr/bin/discord --enable-features=UseOzonePlatform --ozone-platform=x11

設定連結開啟預設瀏覽器#

xdg-settings set default-web-browser microsoft-edge.desktop

強制用 Xwayland 開啟程式#

如果有些程式無法複製貼上的話可以試試看
Electron apps 很可能會遇到
我遇到過 Discord 和 VS code 無法貼上 Edge 複製過去的東西

https://www.reddit.com/r/hyprland/comments/1gmpxa2/i_cant_paste_text_from_microsoft_edge_to_vs_code/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

Reference#

大部分內容節錄自:

Arch Linux + Hyprland 安裝
https://yuyutw123.github.io/posts/archlinuxhyprland/installation/
作者
YuYutw123
發佈於
2024-11-07
許可協議
CC BY-NC-SA 4.0