Refactor Playwright to singleton browser with tab-based crawling
- Add PlaywrightBrowserService: singleton Chromium browser with auto-recovery - Refactor WebCrawlerService/YouTubeTranscriptService to use shared browser tabs - Fix YouTube transcript: extract from DOM panel + fmt=json3 fallback - Keep browser window alive (about:blank instead of page.close) - Add docs: X Window setup, operation manual, crawling guide Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
174
docs/setup-xwindow.md
Normal file
174
docs/setup-xwindow.md
Normal file
@@ -0,0 +1,174 @@
|
||||
# X Window + XFCE + VNC 설치 매뉴얼
|
||||
|
||||
OCI(Oracle Cloud Infrastructure) Oracle Linux 9 환경 기준.
|
||||
|
||||
## 1. 사전 확인
|
||||
|
||||
```bash
|
||||
# Xorg 설치 여부 확인
|
||||
which Xorg
|
||||
rpm -q xorg-x11-server-Xorg
|
||||
|
||||
# DISPLAY 환경변수 확인 (비어있으면 X 서버 미실행 상태)
|
||||
echo $DISPLAY
|
||||
```
|
||||
|
||||
## 2. EPEL 저장소 설치
|
||||
|
||||
```bash
|
||||
sudo dnf install -y epel-release
|
||||
```
|
||||
|
||||
## 3. XFCE 데스크톱 환경 설치
|
||||
|
||||
```bash
|
||||
sudo dnf groupinstall -y "Xfce"
|
||||
```
|
||||
|
||||
> GNOME 대비 경량이라 서버 환경에 적합.
|
||||
|
||||
## 4. 기본 타겟을 GUI 모드로 변경
|
||||
|
||||
```bash
|
||||
sudo systemctl set-default graphical.target
|
||||
```
|
||||
|
||||
> 되돌리려면: `sudo systemctl set-default multi-user.target`
|
||||
|
||||
## 5. TigerVNC 서버 설치
|
||||
|
||||
SSH 원격 접속 환경에서는 VNC를 통해 GUI에 접근한다.
|
||||
|
||||
```bash
|
||||
sudo dnf install -y tigervnc-server
|
||||
```
|
||||
|
||||
## 6. VNC 비밀번호 설정
|
||||
|
||||
```bash
|
||||
vncpasswd
|
||||
```
|
||||
|
||||
> VNC 비밀번호는 최대 8자까지만 유효.
|
||||
|
||||
## 7. VNC 시작 스크립트 설정
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.vnc
|
||||
|
||||
cat > ~/.vnc/xstartup << 'EOF'
|
||||
#!/bin/bash
|
||||
exec startxfce4
|
||||
EOF
|
||||
|
||||
chmod +x ~/.vnc/xstartup
|
||||
```
|
||||
|
||||
## 8. VNC 서버 시작
|
||||
|
||||
```bash
|
||||
vncserver :1 -geometry 1920x1080 -depth 24
|
||||
```
|
||||
|
||||
- `:1` = 포트 5901
|
||||
- `:2` = 포트 5902 (추가 세션 필요 시)
|
||||
|
||||
### VNC 서버 중지
|
||||
|
||||
```bash
|
||||
vncserver -kill :1
|
||||
```
|
||||
|
||||
## 9. 방화벽 포트 개방
|
||||
|
||||
```bash
|
||||
sudo firewall-cmd --permanent --add-port=5901/tcp
|
||||
sudo firewall-cmd --reload
|
||||
```
|
||||
|
||||
### OCI 보안 목록 설정
|
||||
|
||||
OCI 콘솔에서 해당 서브넷의 Security List에 인바운드 규칙 추가:
|
||||
- **Source**: 접속할 IP (또는 0.0.0.0/0)
|
||||
- **Protocol**: TCP
|
||||
- **Destination Port**: 5901
|
||||
|
||||
## 10. 클라이언트에서 VNC 접속
|
||||
|
||||
### Mac
|
||||
|
||||
기본 내장 Screen Sharing 사용:
|
||||
|
||||
```bash
|
||||
# Finder에서 Cmd+K → 아래 주소 입력
|
||||
vnc://공인IP:5901
|
||||
|
||||
# 또는 터미널에서
|
||||
open vnc://공인IP:5901
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
- RealVNC Viewer, TigerVNC Viewer 등 VNC 클라이언트 설치
|
||||
- 주소: `공인IP:5901`
|
||||
|
||||
## 11. Chrome 브라우저 설치
|
||||
|
||||
```bash
|
||||
# Google Chrome 저장소 추가
|
||||
cat << 'EOF' | sudo tee /etc/yum.repos.d/google-chrome.repo
|
||||
[google-chrome]
|
||||
name=google-chrome
|
||||
baseurl=https://dl.google.com/linux/chrome/rpm/stable/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://dl.google.com/linux/linux_signing_key.pub
|
||||
EOF
|
||||
|
||||
# 설치
|
||||
sudo dnf install -y google-chrome-stable
|
||||
```
|
||||
|
||||
## 12. 한글 폰트 설치
|
||||
|
||||
브라우저 등에서 한글이 깨지는 경우 CJK 폰트를 설치한다.
|
||||
|
||||
```bash
|
||||
sudo dnf install -y google-noto-sans-cjk-ttc-fonts google-noto-serif-cjk-ttc-fonts
|
||||
|
||||
# 폰트 캐시 갱신
|
||||
fc-cache -fv
|
||||
```
|
||||
|
||||
> 설치 후 Chrome 등 브라우저를 재시작해야 반영됨.
|
||||
|
||||
## 트러블슈팅
|
||||
|
||||
### VNC 접속이 안 될 때
|
||||
|
||||
```bash
|
||||
# VNC 서버 실행 확인
|
||||
vncserver -list
|
||||
|
||||
# 로그 확인
|
||||
cat ~/.vnc/*.log
|
||||
|
||||
# 방화벽 확인
|
||||
sudo firewall-cmd --list-ports
|
||||
```
|
||||
|
||||
### 화면이 회색/빈 화면일 때
|
||||
|
||||
`~/.vnc/xstartup` 파일 내용이 올바른지 확인:
|
||||
|
||||
```bash
|
||||
cat ~/.vnc/xstartup
|
||||
# exec startxfce4 가 있어야 함
|
||||
```
|
||||
|
||||
VNC 서버 재시작:
|
||||
|
||||
```bash
|
||||
vncserver -kill :1
|
||||
vncserver :1 -geometry 1920x1080 -depth 24
|
||||
```
|
||||
Reference in New Issue
Block a user