브라우저 설정 방법
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. 저장 및 실행
-
위 내용을 예를 들어
run_jupyter.sh라는 파일에 저장하세요. - 실행 권한을 부여합니다:
chmod +x run_jupyter.sh - 실행합니다:
./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또는.zshrc에export 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.py의 c.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: 설정 파일에서 고정 설정
- 설정 파일 열기 (없으면 생성됨):
jupyter notebook --generate-config - 파일 열기:
nano ~/.jupyter/jupyter_notebook_config.py - 아래 줄 추가:
c.NotebookApp.browser = '/full/path/to/my_open.sh'
🔍 작동 방식 확인 예시
-
jupyter notebook실행 -
로그 파일
~/jupyter_open_log.txt생기는지 확인 -
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 모듈 기준 우선순위는 다음과 같습니다:
-
명시적으로 지정한 브라우저 (코드에서 직접)
-
BROWSER환경 변수 -
운영체제 기본 브라우저 (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"
🔚 요약
-
✅
BROWSER는 Jupyter 전용이 아닌 여러 앱에서 쓰이는 사실상의 표준 환경 변수 입니다. -
✅ 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, .profile에 export BROWSER=... 추가 |
| URL이 안 넘어옴 | 스크립트에서 $1으로 URL을 받고 있는지 확인 |
macOS에서 open만 작동함 |
mac에서는 open 명령만 쓸 수 있는 경우가 있음. 따로 처리 필요 |
필요하시면 스크립트 내용 보여주시면 함께 검토도 가능해요!
반영 결과 확인이 잘 됐는지도 같이 도와드릴게요.