Fedora Workstation#
1. Vanilla Gnome 초기 설정#
gnome tweak, extensions-app, extension-manager 설치#
sudo dnf install gnome-tweaks gnome-extensions
- extension manager는 flatpak으로 설치
- 아래 Extension 참고

2. KDE Plasma 6 Desktop / Gnome Desktop 설치#
$ dnf group list | grep -i kde
저장소 최신화 및 적재 중:
저장소가 적재됨.
kde-education KDE Educational applications no
kde-media KDE Multimedia support no
kde-mobile KDE Mobile no
kde-mobile-apps KDE Mobile Apps no
kde-office KDE Office no
kde-pim KDE PIM no
kde-software-development KDE Software Development no
kf6-software-development KDE Frameworks 6 Software Development no
kde-desktop KDE no
kde-apps KDE Applications no
$ sudo dnf install @kde-desktop
❯ dnf group list --hidden | grep -i gnome
저장소 최신화 및 적재 중:
저장소가 적재됨.
critical-path-gnome Critical Path (GNOME) no
gnome-software-development GNOME Software Development no
gnome-games Extra games for the GNOME Desktop no
gnome-desktop GNOME yes
❯ sudo dnf group install gnome-desktop
3. KDE 기본 앱 삭제#
- 기본으로 설치되는 앱들 중 게임(마작, 지뢰찾기, 솔리테어), Kontact, Skanpage, KAddressbook, KMain, KMail Header…, KOrganizer, KTnef 삭제
> sudo dnf remove kmahjongg kmines kpat kontact skanpage kaddressbook kmail korganizer ktnef
# 남은 찌꺼기 찾아서 삭제
> ls /usr/share/applications | grep -Ei 'kmail|kontact|organizer|address|ktnef|header'
# 로 찾아서 rpm -qf로 소유 패키지를 확인한 뒤 제거
# 의존성 정리
> sudo dnf autoremove
4. 한글 폰트#
sudo dnf install naver-nanum-gothic-fonts naver-nanum-myeongjo-fonts
sudo dnf install naver-nanum-gothic-coding-fonts
fc-cache -fv
- D2 Coding, MesloLGS NF 폰트
#!/usr/bin/env bash
set -euo pipefail
# Fedora용 폰트 설치 스크립트
# - MesloLGS NF Regular/Bold
# - D2Coding
FONT_DIR="$HOME/.local/share/fonts"
D2CODING_ZIP_URL="https://github.com/naver/d2codingfont/releases/download/VER1.3.2/D2Coding-Ver1.3.2-20180524.zip"
cleanup() {
if [ -n "${TEMP_DIR:-}" ] && [ -d "$TEMP_DIR" ]; then
rm -rf "$TEMP_DIR"
fi
}
trap cleanup EXIT
echo "🔄 Fedora 패키지 업데이트 및 폰트 설치에 필요한 패키지 설치 중..."
sudo dnf upgrade --refresh -y
sudo dnf install -y curl unzip fontconfig
echo "📂 폰트 디렉터리 준비 중: $FONT_DIR"
mkdir -p "$FONT_DIR"
echo "📂 MesloLGS NF 폰트 설치 중..."
urls=(
"https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf"
"https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf"
)
for url in "${urls[@]}"; do
file="$(basename "$url" | sed 's/%20/ /g')"
target="$FONT_DIR/$file"
if [ -f "$target" ]; then
echo "✅ 이미 설치됨: $file"
else
echo "⬇️ 다운로드 중: $file"
curl -fL "$url" -o "$target"
fi
done
echo "📂 D2Coding 폰트 설치 중..."
D2CODING_FILE="$FONT_DIR/D2Coding-Ver1.3.2-20180524-all.ttc"
if [ -f "$D2CODING_FILE" ]; then
echo "✅ 이미 설치됨: $(basename "$D2CODING_FILE")"
else
TEMP_DIR="$(mktemp -d)"
curl -fL "$D2CODING_ZIP_URL" -o "$TEMP_DIR/d2coding.zip"
unzip -q "$TEMP_DIR/d2coding.zip" -d "$TEMP_DIR"
D2CODING_SOURCE="$(find "$TEMP_DIR" -type f -name 'D2Coding-Ver1.3.2-20180524-all.ttc' -print -quit)"
if [ -z "$D2CODING_SOURCE" ]; then
echo "❌ D2Coding 폰트 파일을 찾지 못했습니다. zip 파일 구조가 변경되었을 수 있습니다." >&2
echo "압축 해제 위치: $TEMP_DIR" >&2
exit 1
fi
cp "$D2CODING_SOURCE" "$FONT_DIR/"
fi
echo "🔄 폰트 캐시 갱신 중..."
fc-cache -fv "$FONT_DIR"
echo "-------------------------------------------------------"
echo "✅ 폰트 설치 완료!"
echo "추천 폰트: D2Coding 또는 MesloLGS NF"
echo "터미널/Konsole 설정에서 원하는 폰트로 변경하세요."
echo "-------------------------------------------------------"