본문 바로가기
IT

i3wm setup for Raspberry PI 400

by %? 2024. 9. 30.

설치 환경

  • 라즈베리파이 400
  • Raspberry PI OS Lite(Debian 12 aarch64)

적용 기능

  • Alacritty 터미널 투명도 적용
  • fish 쉘 사용
  • i3wm bar 숨기기
  • Nvchad를 위한 Neovim 0.11.0 설치
  • 터미널 파일 매니저(yazi) 설치
  • Chromium 브라우저 설치
  • 한국어 입출력 적용
  • maim으로 스크린샷 촬영
  • feh으로 배경화면 적용
  • i3wm 기본 테두리 제거
  • PulseAudio로 오디오 설정

// Autologin
sudo raspi-config

// Check Package Update
sudo apt update
sudo apt upgrade -y

// Install Basic Package
sudo apt install git unzip neofetch feh maim pulseaudio

// Install GUI
sudo apt install xorg i3 picom
startx

// Install Terminal
sudo apt install alacritty fish

// Change Terminal
sudo update-alternatives --config x-terminal-emulator
chsh -s /usr/bin/fish

// Install Store
sudo apt install snapd
sudo snap install snapd
wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash

// Install Text Editor
sudo apt install neovim

// Install Korean
wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
unzip NanumFont_TTF_ALL.zip -d NanumFont
rm -f NanumFont_TTF_ALL.zip
sudo mv NanumFont /usr/share/fonts/
fc-cache -f -v
sudo apt install ibus ibus-hangul

// Edit Config
nvim .config/i3/config
```
for_window [class=".*"] border pixel 0

...

bar {
        status_command i3status
        mode hide
}

bindsym Print exec --no-startup-id maim "$HOME/Pictures/Screenshots/$(date).png"
bindsym Mod1+Print exec --no-startup-id maim --window $(xdotool getactivewindow) "$HOME/Pictures/Screenshots/$(date).png"
bindsym $mod+F10 exec "pactl set-sink-volume (pactl default sink) +5%"
bindsym $mod+F9 exec "pactl set-sink-volume (pactl default sink) -5%"
# Example for (pactl default sink) : alsa_output.platform-fef00700.hdmi.hdmi-stereo
# Check to `pactl info` command

exec_always --no-startup-id picom -b
```

mkdir .config/fish
nvim .config/fish/config.fish
```
if status is-login
    if test -z "$DISPLAY" -a "$XDG_VTNR" = 1
        exec startx -- -keeptty
    end
end

set -g fish_greeting
```

nvim .config/picom/picom.conf
```
opacity-rule = [
	"80:class_g = 'Alacritty' && focused",
	"80:class_g = 'Alacritty' && !focused"
];
```

git config --global user.email "user@email.com"
git config --global user.name "username"

// Install yazi(Terminal File Manager)
echo 'deb http://download.opensuse.org/repositories/home:/justkidding/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:justkidding.list
curl -fsSL https://download.opensuse.org/repositories/home:justkidding/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_justkidding.gpg > /dev/null
sudo apt update
sudo apt install ueberzugpp
wget https://github.com/sxyazi/yazi/releases/download/v0.3.3/yazi-aarch64-unknown-linux-gnu.zip
unzip yazi-aarch64-unknown-linux-gnu.zip
sudo mv ya /usr/local/bin
sudo mv yazi /usr/local/bin

// Install Nvim to 0.11.0(Until version is 0.11.0 instead to 0.7.2)
// If fail -> sudo snap remove nvim -> sudo apt install neovim -> sudo snap install nvim --edge --classic
sudo snap install nvim --edge --classic
sudo apt purge neovim

// Change Wallpaper
nvim .config/i3/config
```
exec_always --no-startup-id feh --bg-scale "Image_Directory/image.file"
```

// Add gap to Window
// Change number if you want to change
gaps inner 6
gaps outer 4

// Install Polybar and Rofi
// Change $mode+d dmenu to rofi
sudo apt install polybar rofi
nvim .config/i3/config
```
bindsym $mod+d exec rofi -show drun
```

// Configuration Polybar, Rofi with Theme
https://github.com/adi1090x/polybar-themes
https://github.com/adi1090x/rofi

nvim으로 연 파일에는 ``` code ``` 를 넣으면 됩니다.

그리고 한국어 입력 같은 경우에는 ibus-setup를 통해 Input Method -> Add -> Korean -> Hungul을 Add 해주시고 Preferences에서 Start in Hangul-mode를 체크하고 적용하셔야합니다!

전원 종료 같은 경우에는 shutdown -h now를 입력하여 종료하고 있습니다.


  • $mod + 방향키 = 포커스 윈도우 변경
  • $mod + Shift + Space = 포커스 윈도우를 격자 or 플로팅 설정
  • $mod + r = 포커스 윈도우 크기 설정 
  • $mod + Shift + 방향키 = 포커스 윈도우 위치 이동(격자일 땐 격자 내 위치, 플로팅일 땐 윈도우 위치)
  • $mod + Enter = 터미널 열기
  • $mod + d = 어플 목록 열기
  • $mod + Shift + q = 포커스 윈도우 종료
  • $mod + number = 워크스테이션 변경 또는 추가
  • $mod + Shift + r = i3 리프레시

만들었던 Dotfiles

https://github.com/reatmos/Dotfiles