개요
Ubuntu 환경에서 파이썬 기반 데이터 시각화 도구인 Bokeh의 CLI 명령어 활용법을 알아봅니다. 정적 HTML 및 JSON 파일 변환부터 대화형 웹 대시보드 서버 구동까지 주요 옵션별 실행 방법을 실습과 함께 정리합니다.
1. Bokeh 설치 및 환경 설정 확인 (bokeh info)
bokeh 실습 진행을 위해 패키지 목록을 갱신하고 관련 패키지 설치를 시도합니다.

bokeh info 명령어는 시스템에 설치된 Bokeh 버전과 Python 버전, 백엔드 구성 등 환경 정보를 출력합니다.
⚙️ [주요 옵션]
info : 설치된 Bokeh 버전, 종속성 패키지, 환경 변수 등 시스템 구성 정보를 출력합니다.serve : 대화형 데이터 시각화 웹 애플리케이션을 호스팅하는 Bokeh 서버를 실행합니다.html : Bokeh 시각화 코드를 단독 실행 가능한 정적 HTML 문서로 생성합니다.json : 시각화 객체 및 플롯 데이터를 직렬화된 JSON 형식으로 변환하여 출력합니다.secret : Bokeh 서버 세션 보안에 필요한 비밀 키(secret key)를 생성합니다.

2. 시각화 코드를 독립형 HTML 문서로 변환 (bokeh html)
Bokeh 시각화 실습을 위한 작업 디렉터리를 생성하고 해당 위치로 이동하기 위해 mkdir -p ~/bokeh-demo && cd ~/bokeh-demo 명령어를 실행합니다.

독립형 HTML 변환 테스트에 사용할 산점도(Scatter plot) 차트 생성 스크립트인 plot_sample.py 파일을 작성합니다.
![cat « ‘EOF’ > plot_sample.py
from bokeh.plotting import figure, save
p = figure(title=“Sample Plot”, width=600, height=400)
p.circle([1, 2, 3, 4], [2, 5, 8, 3], size=10, color=“navy”, alpha=0.5)
EOF](/ubuntu/20261014_013735_64/captures/s02_c02_cat_____EOF____plot_sample_py_from_bokeh_plotting.png)
bokeh html plot_sample.py 명령어는 작성된 파이썬 시각화 스크립트를 웹 브라우저에서 단독 실행할 수 있는 정적 HTML 파일로 변환하여 생성합니다.

생성된 plot_sample.html 파일의 존재 여부와 파일 크기 등 상세 정보를 확인하기 위해 ls -lh plot_sample.html 명령어를 실행합니다.

3. 차트 레이아웃 및 데이터를 JSON 형식으로 추출 (bokeh json)
bokeh json plot_sample.py > plot_output.json 명령어는 시각화 스크립트의 플롯 구성 객체와 데이터 속성을 직렬화된 JSON 형식으로 변환하여 파일로 저장합니다.
외부 웹 애플리케이션이나 다른 프론트엔드 라이브러리(BokehJS 등)와의 데이터 연동에 활용할 수 있습니다.

생성된 JSON 데이터의 구조와 직렬화된 스키마를 확인하기 위해 head -n 20 plot_output.json 명령어로 파일 상단 20줄을 출력합니다.
차트의 루트 모델 ID, 렌더러 정보, 데이터 소스 등의 메타데이터가 올바르게 기록되었는지 점검할 수 있습니다.

4. 실시간 대화형 대시보드 서버 실행 (bokeh serve)
Bokeh 웹 애플리케이션 서버 호스팅 실습에 사용할 대화형 차트 스크립트인 server_app.py 파일을 작성합니다.curdoc().add_root()를 통해 현재 세션 문서에 꺾은선형 플롯 객체를 루트로 등록합니다.
![cat « ‘EOF’ > server_app.py
from bokeh.plotting import figure, curdoc
p = figure(title=“Live App”)
p.line([1, 2, 3], [1, 4, 9])
curdoc().add_root(p)
EOF](/ubuntu/20261014_013735_64/captures/s04_c01_cat_____EOF____server_app_py_from_bokeh_plotting_i.png)
timeout 5s bokeh serve server_app.py --port 5006 --allow-websocket-origin="*" 명령어는 작성한 파이썬 스크립트를 웹 애플리케이션으로 구동하는 Bokeh 서버를 실행합니다.--port 5006 옵션으로 수신 포트를 지정하고, --allow-websocket-origin="*" 옵션을 통해 외부 접속에 필요한 웹소켓(WebSocket) 접근 권한을 허용합니다.

지금까지 우분투 환경에서 Bokeh CLI의 주요 옵션을 활용해 데이터를 시각화하는 방법을 간단하게 살펴보았습니다.
다양한 옵션을 직접 조합해 보며 여러분만의 인터랙티브한 웹 대시보드와 차트를 손쉽게 구축해 보시기 바랍니다.