리눅스(Ubuntu, Fedora 등)에서 옵시디언(Obsidian)을 사용하다 보면 정말 기이한 현상을 마주할 때가 있습니다.

  1. 한글 입력 문제: 한글이 씹히거나, 입력기가 제대로 작동하지 않음.
  2. Self-hosted LiveSync 문제: CouchDB와 연동해 둔 LiveSync 플러그인이 터미널에서 실행하면 잘 되는데, 아이콘(런처)으로 실행하면 연결이 안 됨.

보통 한글 입력 문제 때문에 커뮤니티를 뒤져보면 *"AppImage로 재설치하세요"* 라는 답변이 많습니다. 컨테이너 환경이라 라이브러리 충돌이 적어서 그렇다는 설명이죠. 하지만 Debian 패키지(.deb)나 Snap, Flatpak으로 설치한 버전을 그대로 쓰고 싶은 경우가 있습니다.

오늘은 터미널 실행 vs 런처 실행의 차이를 이해하고, 이 두 가지 문제를 한 방에 해결하는 방법을 공유합니다.

1. 증상 분석: 왜 터미널에서만 잘 될까?

저 역시 CouchDB 연동이 되다 안 되다 하는 문제 때문에 로그를 분석하다가 알게 되었습니다.

  • 터미널(cli)에서 obsidian 입력 후 실행:
  • 한글 입력 (IBus/UIM/Fcitx): 정상
  • LiveSync (CouchDB): 정상 (Replication OK)
  • 데스크톱 아이콘(런처) 클릭 후 실행:
  • 한글 입력: 작동 안 함
  • LiveSync: 연결 실패 (Connecting... 에서 멈추거나 에러)

2. 원인: 환경 변수(Environment Variable)의 누락

원인은 리눅스의 '부모 프로세스 환경 상속' 구조에 있습니다.

  • 터미널 실행 시: 우리가 사용하는 쉘(Bash, Zsh 등)은 시작할 때 ~/.bashrc~/.zshrc 같은 설정 파일을 읽어들입니다. 여기에 정의된 한글 입력기 설정(GTK_IM_MODULE 등)이나 네트워크/인증서 관련 설정을 Obsidian이 그대로 물려받고 실행됩니다.
  • 런처 실행 시: 데스크톱 환경(GNOME, KDE)이 직접 바이너리를 실행합니다. 이때는 쉘 설정 파일을 거치지 않기 때문에, 터미널에는 당연히 있던 핵심 환경 변수들이 텅 빈 상태로 실행됩니다.

CouchDB 연결이 안 되었던 이유는, 터미널 환경에만 존재하던 SSL 인증서 경로네트워크 관련 변수를 런처 실행 환경에서는 Obsidian이 찾지 못했기 때문입니다.

3. 해결 방법: .desktop 파일 수정하기

가장 깔끔한 해결책은 Obsidian 실행 아이콘(바로가기)이 쉘 설정을 먼저 읽어들이도록 수정하는 것입니다.

1단계: Obsidian .desktop 파일 찾기

보통 다음 두 경로 중 하나에 있습니다. 터미널을 열고 찾아봅니다.

# 사용자별 설치 경로
cd ~/.local/share/applications/

# 또는 시스템 전체 설치 경로
cd /usr/share/applications/

여기서 obsidian.desktop 파일을 찾습니다.

2단계: 파일 수정 (vi 또는 nano 에디터 사용)

sudo 권한이 필요할 수 있습니다.

sudo nano /usr/share/applications/obsidian.desktop
# 또는
nano ~/.local/share/applications/obsidian.desktop

3단계: Exec 라인 변경 (핵심!)

파일 내용 중 [Desktop Entry] 섹션 아래에 있는 Exec=으로 시작하는 줄을 찾습니다. 보통 아래와 같습니다.

Exec=/usr/bin/obsidian %U

이것을 "쉘 설정을 로드한 뒤 실행하라"는 명령어로 바꿔줍니다.

[Bash 사용자라면]

Exec=bash -c "source ~/.bashrc && /usr/bin/obsidian %U"

[Zsh 사용자라면]

Exec=zsh -c "source ~/.zshrc && /usr/bin/obsidian %U"

주의: /usr/bin/obsidian 경로는 본인의 실제 설치 경로에 맞게 적어주세요. (기존 파일에 적혀있던 경로 유지)

4단계: 저장 및 적용

파일을 저장(Ctrl+O, Enter)하고 닫습니다(Ctrl+X).

이제 데스크톱 환경이 변경 사항을 인식하도록 아이콘을 다시 클릭해 보세요. 혹시 바로 적용이 안 된다면 로그아웃 후 다시 로그인하면 됩니다.

결론

이제 런처 아이콘으로 실행해도 터미널과 똑같은 환경 변수를 달고 실행됩니다.
덕분에 한글 입력기 문제CouchDB Sync 연결 문제가 동시에 해결되었습니다.

리눅스에서 Obsidian 쓰시는 분들 중 *"왜 터미널에선 되는데 그냥 켜면 안 되지?"* 라는 의문이 드셨던 분들께 도움이 되길 바랍니다.