jupyter notebook 띄울 때 링크를 어떤 인터넷 프로그램으로 열지 설정

Jupyter Notebook을 띄울 때 어떤 인터넷 브라우저(인터넷 프로그램)로 열지 설정하려면 아래 단계들을 순서대로 따라 하세요.


🧠 1단계: 현재 설정된 브라우저 확인 (선택 사항)

터미널에서 아래 명령어를 입력해 현재 기본 설정을 확인할 수 있습니다:

jupyter notebook --generate-config

이 명령어는 ~/.jupyter/jupyter_notebook_config.py 파일을 생성합니다. 이 파일이 없다면 새로 생성됩니다.


🛠 2단계: 설정 파일 열기

아래 명령어로 설정 파일을 엽니다:

nano ~/.jupyter/jupyter_notebook_config.py

또는 원하는 텍스트 편집기(예: VSCode, vim 등)로 열어도 됩니다.


✏️ 3단계: 브라우저 설정 추가

예를 들어 Chrome으로 열고 싶다면 아래 줄을 찾아서 수정하거나 추가합니다:

c.NotebookApp.browser = 'chrome'

브라우저의 정확한 실행 명령어가 필요합니다. 대표적인 예시는 다음과 같습니다:

브라우저 설정값 예시
Chrome (Windows) 'C:/Program Files/Google/Chrome/Application/chrome.exe %s'
Chrome (Mac/Linux) 'google-chrome %s' 또는 'chrome %s'
Firefox 'firefox %s'
Edge (Windows) 'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe %s'

예제 (Linux/Mac에서 Chrome):

c.NotebookApp.browser = 'google-chrome %s'

예제 (Windows에서 Chrome):

c.NotebookApp.browser = u'C:/Program Files/Google/Chrome/Application/chrome.exe %s'

u''는 유니코드 문자열로 Windows에서 필요할 수 있습니다.


🔄 4단계: Jupyter Notebook 다시 실행

jupyter notebook

이제 지정한 브라우저로 자동으로 열릴 것입니다.


✅ 참고 사항

  • 기본 브라우저를 시스템 전체에서 바꾸는 게 아니라, Jupyter에서만 사용하는 브라우저를 설정하는 방법입니다.

  • webbrowser 모듈을 사용하는 Python이 이 설정을 따릅니다.

필요하시면 OS에 따라 구체적인 명령어도 도와드릴게요. 운영체제가 무엇인가요? (Windows / Mac / Linux)

쉘 스크립트 해도돼?

네, 쉘 스크립트로도 가능합니다! Jupyter Notebook을 실행하면서 원하는 브라우저로 열도록 자동화할 수 있습니다. 아래에 운영체제에 맞는 예시 쉘 스크립트 를 단계별로 설명할게요.


✅ 예시: 리눅스 / 맥에서 쉘 스크립트 작성하기

1. 원하는 브라우저로 Jupyter Notebook 실행 (예: Chrome)

#!/bin/bash

# 원하는 브라우저를 지정 (예: 구글 크롬)
export BROWSER=google-chrome

# 또는 다른 브라우저로 (firefox 예시)
# export BROWSER=firefox

# Jupyter Notebook 실행
jupyter notebook

2. 저장 및 실행

  1. 위 내용을 예를 들어 run_jupyter.sh 라는 파일에 저장하세요.

  2. 실행 권한을 부여합니다:
    chmod +x run_jupyter.sh
    
  3. 실행합니다:
    ./run_jupyter.sh
    

✅ 예시: 윈도우 (Git Bash 또는 WSL)

Windows에서도 비슷하게 설정할 수 있지만, 경로를 명확히 지정해야 합니다.

#!/bin/bash

# Chrome 실행 경로 지정
export BROWSER="C:/Program Files/Google/Chrome/Application/chrome.exe"

# Jupyter Notebook 실행
jupyter notebook

또는 파워셸에서는 이렇게 사용할 수 있습니다:

$env:BROWSER="C:\Program Files\Google\Chrome\Application\chrome.exe"
jupyter notebook

🔁 자동화를 더 하고 싶다면?

  • .bashrc 또는 .zshrcexport BROWSER=... 추가해두면, 쉘마다 자동 적용됩니다.

  • 또는 alias를 만들어도 됩니다:

alias jn='BROWSER=google-chrome jupyter notebook'

필요하시면 Firefox, Brave, Edge 등 브라우저별 실행 명령도 알려드릴 수 있어요. 사용하시는 운영체제와 브라우저를 알려주시면 맞춤 예시 드릴게요!

google-chrome 대신 내가 원하는 스크립트 경로

좋습니다! google-chrome 대신에 직접 만든 스크립트 파일 경로 를 사용할 수 있습니다. 아래에 step-by-step으로 설정하는 방법 을 설명드릴게요.


🧠 전제 이해

Jupyter Notebook은 내부적으로 webbrowser 모듈을 통해 링크를 엽니다.
이때 BROWSER 환경 변수나 jupyter_notebook_config.pyc.NotebookApp.browser 설정을 통해 어떤 프로그램(혹은 스크립트)으로 열지를 지정할 수 있습니다.

따라서 스크립트를 만들어서 해당 링크를 전달받아 원하는 방식으로 처리 하면 됩니다.


✅ Step-by-Step 설정법

1️⃣ 링크를 인자로 받는 스크립트 작성

예: my_open.sh

#!/bin/bash

# 첫 번째 인자는 Jupyter가 넘겨주는 URL
url="$1"

# 원하는 동작 수행 (예: 로그 찍기 + chrome 열기 등)
echo "[INFO] Opening Jupyter link: $url" >> ~/jupyter_open_log.txt

# 예시: Chrome으로 여는 동작
/opt/google/chrome/chrome "$url"

# 또는 다른 동작 수행 가능

2️⃣ 실행 권한 부여

chmod +x /full/path/to/my_open.sh

3️⃣ Jupyter에 스크립트를 브라우저로 인식시키기

방법 A: 일시적으로 환경 변수로 지정 (쉘 스크립트에서)

BROWSER="/full/path/to/my_open.sh" jupyter notebook

방법 B: 설정 파일에서 고정 설정

  1. 설정 파일 열기 (없으면 생성됨):
    jupyter notebook --generate-config
    
  2. 파일 열기:
    nano ~/.jupyter/jupyter_notebook_config.py
    
  3. 아래 줄 추가:
    c.NotebookApp.browser = '/full/path/to/my_open.sh'
    

🔍 작동 방식 확인 예시

  1. jupyter notebook 실행

  2. 로그 파일 ~/jupyter_open_log.txt 생기는지 확인

  3. Chrome이나 원하는 동작이 실행되는지 확인


☑️ 팁

  • Python 스크립트 (.py)도 사용 가능합니다. 단, 첫 줄에 #!/usr/bin/env python3가 있어야 하고 실행 권한이 필요합니다.

  • xdg-open이나 open (Mac) 같은 명령어와 조합해서 다른 앱으로도 열 수 있습니다.

  • JupyterLab에서도 동일한 방식으로 적용됩니다.


필요하시면 Python으로 만드는 스크립트 예제도 도와드릴게요. 스크립트로 어떤 동작을 하고 싶은지 말씀해주시면 더 정확하게 맞춰드릴 수 있습니다.

BROWSER 변수는 공식적으로 다른 앱들에서도 쓰는건가

좋은 질문입니다! BROWSER 환경 변수는 공식적으로 존재하는 일반적인 Unix 환경 변수 이며, Jupyter뿐 아니라 다양한 앱들에서 사용됩니다.
아래에 step-by-step으로 자세히 설명드릴게요.


✅ 1. BROWSER 변수의 공식성

🔹 출처

  • BROWSER는 POSIX 표준은 아니지만, 많은 Unix 계열 유틸리티들 에서 사용하는 사실상의 표준 변수 입니다.

  • Python의 webbrowser 모듈이 이를 지원하고 있으며, 이를 기반으로 한 도구들(Jupyter 포함)이 이를 따릅니다.


✅ 2. 어떤 앱들이 BROWSER를 사용하는가?

사용 프로그램/환경 설명
Jupyter Notebook/Lab 링크 열 때 BROWSER 환경 변수를 참고함
Pythonwebbrowser 모듈 Python에서 webbrowser.open() 사용 시 이 변수 활용
Git git help, git config --global help.browser로 설정 가능 (BROWSER도 fallback으로 사용)
man 페이지 뷰어 (예:man -H) HTML 매뉴얼 뷰어로 링크 열 때 BROWSER 사용
w3m, lynx CLI 웹브라우저에서도 외부 링크 오픈에 활용
xdg-open (Linux) xdg-open 자체는 안 쓰지만, 내부에서 BROWSER를 사용하는 경우가 있음 (간접적으로)

✅ 3. 우선순위 (웹브라우저 선택)

Python의 webbrowser 모듈 기준 우선순위는 다음과 같습니다:

  1. 명시적으로 지정한 브라우저 (코드에서 직접)

  2. BROWSER 환경 변수

  3. 운영체제 기본 브라우저 (ex. xdg-open, open, Windows Shell)

즉, BROWSER는 브라우저 선택에 있어 중간 우선순위 이자 사용자 제어 방식 으로 쓰입니다.


✅ 4. 예시

# 링크를 Firefox로 열고 싶을 때
export BROWSER=firefox
jupyter notebook

또는

export BROWSER="/my/custom/script.sh"
python -m webbrowser -t "http://localhost:8888"

🔚 요약

  • BROWSERJupyter 전용이 아닌 여러 앱에서 쓰이는 사실상의 표준 환경 변수 입니다.

  • ✅ Python, Git, man page viewer 등에서도 이를 인식합니다.

  • ✅ 따라서 이 변수를 사용하는 것은 공식적이며 호환성 있는 방식 입니다.


필요하다면 이 변수에 맞춰 커스텀 브라우저 런처를 만드는 것도 좋은 방법입니다. 원하시면 .desktop 파일이나 macOS의 .app 포맷으로 만드는 것도 알려드릴게요.

잘 반영이 됐나

잘 반영되었는지 확인하는 방법을 step-by-step 으로 정리해드릴게요. 아래 순서대로 점검해보세요.


✅ 1. 현재 적용된 BROWSER 확인

echo $BROWSER

예상 결과:

  • /path/to/your/script.sh 혹은 firefox, google-chrome 등의 값이 출력되어야 함
    → 원하는 스크립트로 정확히 설정됐는지 확인

✅ 2. Jupyter 실행 테스트

jupyter notebook

또는

BROWSER=/path/to/your/script.sh jupyter notebook
  • 브라우저 창이 뜨거나

  • 스크립트가 실행되었는지 로그 확인
    (예: 로그 파일 쓰기, 알림, 특정 프로그램 열기 등)


✅ 3. 내 스크립트가 잘 실행되는지 로그로 확인하기 (선택)

예: my_script.sh 내용에 아래가 있다면

echo "[Opened at $(date)] $1" >> ~/jupyter_link_log.txt

그렇다면 다음 파일이 생성되어 있어야 합니다:

cat ~/jupyter_link_log.txt

📌 여기서 링크가 잘 기록됐다면 → 스크립트가 정상적으로 실행된 것입니다.


✅ 4. Python 테스트 (BROWSER 전역 적용 확인용)

Python에서도 동작하는지 테스트해볼 수 있습니다:

python3 -c "import webbrowser; webbrowser.open('http://localhost:8888')"

→ 이때도 BROWSER에 지정된 프로그램이 실행돼야 합니다.


🛠 만약 적용이 안 된다면?

증상 해결 방법
아무 반응 없음 스크립트 실행 권한 부여했는지 확인: chmod +x script.sh
터미널에서만 되고 다른 곳에선 안 됨 .bashrc, .zshrc, .profileexport BROWSER=... 추가
URL이 안 넘어옴 스크립트에서 $1으로 URL을 받고 있는지 확인
macOS에서 open만 작동함 mac에서는 open 명령만 쓸 수 있는 경우가 있음. 따로 처리 필요

필요하시면 스크립트 내용 보여주시면 함께 검토도 가능해요!
반영 결과 확인이 잘 됐는지도 같이 도와드릴게요.

Categories:

Updated: