Fedora Linux - Gnome/KDE

Fedora Workstation#

1. Vanilla Gnome 초기 설정#

gnome tweak, extensions-app, extension-manager 설치#

sudo dnf install gnome-tweaks gnome-extensions
  • extension manager는 flatpak으로 설치
  • 아래 Extension 참고
    6cdf3e2a062c7f161e90245f4ca577d6.png

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. 한글 폰트#

  • naver 나눔 폰트
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 "-------------------------------------------------------"