대상: 사내 매출 현황판 운영 담당자
환경: Windows + Chrome 브라우저 3개 (HDMI 3대 연결)
목표: 5분 간격 자동 새로고침 안정적 운영
목차
- Chrome 설정 최적화
- Tab Reloader 익스텐션 설치
- PowerShell 자동 갱신 스크립트
- 시작 프로그램 등록
- 문제 해결
1. Chrome 설정 최적화
익스텐션이 불안정한 주요 원인은 Chrome의 절전 기능입니다. 먼저 이 설정을 비활성화합니다.
1.1 탭 절전 모드 비활성화
1. Chrome 주소창에 입력: chrome://flags
2. 검색창에 "occlusion" 입력
3. "Calculate window occlusion on Windows" 찾기
4. "Disabled" 선택
5. 하단 "Relaunch" 클릭하여 재시작
1.2 메모리 세이버 비활성화
1. Chrome 주소창에 입력: chrome://settings/performance
2. "메모리 세이버" (Memory Saver) → OFF
3. "에너지 세이버" (Energy Saver) → OFF
1.3 백그라운드 앱 유지
1. Chrome 주소창에 입력: chrome://settings/system
2. "Chrome 종료 후에도 백그라운드 앱 계속 실행" → ON
2. Tab Reloader 익스텐션 설치
2.1 설치
1. Chrome 웹 스토어 접속: https://chrome.google.com/webstore
2. "Tab Reloader" 검색
3. "Tab Reloader (page auto refresh)" 설치 (개발자: tlintspr)
4. 또는 직접 링크: https://chromewebstore.google.com/detail/tab-reloader-page-auto-re/dejobinhdiimklegodgbmbifijpppopn
2.2 설정 방법
각 대시보드 탭에서:
1. 주소창 오른쪽 Tab Reloader 아이콘 클릭
2. "Reload interval" 설정:
- Minutes: 5
- Seconds: 0
3. "Enable" 토글 ON
4. 3개 탭 모두 동일하게 설정
2.3 고급 설정 (권장)
Tab Reloader 아이콘 우클릭 → 옵션:
[v] Reload on browser startup (브라우저 시작 시 자동 갱신)
[v] Bypass cache on reload (캐시 무시하고 새로고침)
[v] Don't reload if form data present (폼 데이터 보호)
3. PowerShell 자동 갱신 스크립트
익스텐션이 불안정할 경우 백업 솔루션으로 사용
3.1 스크립트 파일 생성
파일 경로: C:\Scripts\AutoRefreshDashboard.ps1
<#
.SYNOPSIS
Chrome 브라우저 대시보드 자동 새로고침 스크립트
.DESCRIPTION
5분마다 모든 Chrome 창에 F5 키를 전송하여 새로고침
.NOTES
사용법: PowerShell -ExecutionPolicy Bypass -File C:\Scripts\AutoRefreshDashboard.ps1
#>
# 설정
$RefreshIntervalSeconds = 300 # 5분 = 300초
$LogFile = "C:\Scripts\refresh_log.txt"
# 로그 함수
function Write-Log {
param([string]$Message)
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
"$timestamp - $Message" | Out-File -FilePath $LogFile -Append
Write-Host "$timestamp - $Message"
}
# 시작 로그
Write-Log "=== 대시보드 자동 새로고침 시작 ==="
Write-Log "새로고침 간격: $RefreshIntervalSeconds 초"
# 필요한 어셈블리 로드
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName Microsoft.VisualBasic
# 메인 루프
while ($true) {
try {
# 대기
Write-Log "다음 새로고침까지 $RefreshIntervalSeconds 초 대기..."
Start-Sleep -Seconds $RefreshIntervalSeconds
# Chrome 프로세스 찾기
$chromeProcesses = Get-Process -Name "chrome" -ErrorAction SilentlyContinue |
Where-Object { $_.MainWindowTitle -ne "" }
if ($chromeProcesses.Count -eq 0) {
Write-Log "경고: 활성 Chrome 창을 찾을 수 없습니다."
continue
}
Write-Log "Chrome 창 $($chromeProcesses.Count)개 발견. 새로고침 시작..."
# 각 Chrome 창에 F5 전송
foreach ($process in $chromeProcesses) {
try {
# 창 활성화
[Microsoft.VisualBasic.Interaction]::AppActivate($process.Id)
Start-Sleep -Milliseconds 300
# F5 키 전송
[System.Windows.Forms.SendKeys]::SendWait("{F5}")
Write-Log "새로고침 완료: $($process.MainWindowTitle)"
Start-Sleep -Milliseconds 500
}
catch {
Write-Log "오류 발생: $($_.Exception.Message)"
}
}
Write-Log "전체 새로고침 완료"
}
catch {
Write-Log "치명적 오류: $($_.Exception.Message)"
Start-Sleep -Seconds 10
}
}
3.2 스크립트 폴더 생성 및 저장
# PowerShell 관리자 권한으로 실행 후:
# 폴더 생성
New-Item -ItemType Directory -Path "C:\Scripts" -Force
# 스크립트 파일은 메모장으로 위 내용 복사 후 저장
# 파일명: C:\Scripts\AutoRefreshDashboard.ps1
# 인코딩: UTF-8
3.3 수동 실행 테스트
# PowerShell에서 실행
PowerShell -ExecutionPolicy Bypass -File "C:\Scripts\AutoRefreshDashboard.ps1"
# 정상 동작 확인 후 Ctrl+C로 중지
4. 시작 프로그램 등록
4.1 방법 1: 배치 파일로 등록 (권장)
1단계: 배치 파일 생성
파일 경로: C:\Scripts\StartDashboard.bat
@echo off
:: 대시보드 자동 시작 스크립트
:: Chrome 실행 (각 모니터에 대시보드 열기)
start "" "C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "http://dashboard.company.com/korea"
timeout /t 3
start "" "C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "http://dashboard.company.com/taiwan"
timeout /t 3
start "" "C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "http://dashboard.company.com/us"
timeout /t 5
:: 자동 새로고침 스크립트 시작 (백그라운드)
start /min powershell -ExecutionPolicy Bypass -WindowStyle Hidden -File "C:\Scripts\AutoRefreshDashboard.ps1"
echo 대시보드 시작 완료
2단계: 시작 프로그램에 등록
1. Win + R 키 입력
2. "shell:startup" 입력 후 Enter
3. 시작 프로그램 폴더 열림
4. C:\Scripts\StartDashboard.bat 파일의 바로가기 생성하여 이 폴더에 복사
4.2 방법 2: 작업 스케줄러 등록 (더 안정적)
1. Win 키 → "작업 스케줄러" 검색 후 실행
2. "작업 만들기" 클릭
[일반 탭]
- 이름: Dashboard Auto Refresh
- "가장 높은 수준의 권한으로 실행" 체크
[트리거 탭]
- 새로 만들기
- "로그온할 때" 선택
- "특정 사용자" 선택
[동작 탭]
- 새로 만들기
- 프로그램: powershell.exe
- 인수: -ExecutionPolicy Bypass -WindowStyle Hidden -File "C:\Scripts\AutoRefreshDashboard.ps1"
[조건 탭]
- "컴퓨터의 AC 전원이 켜져 있는 경우에만..." 체크 해제
[설정 탭]
- "요청 시 작업 실행 허용" 체크
- "예약된 시작 시간을 놓친 경우..." 체크
5. 문제 해결
5.1 익스텐션이 동작하지 않는 경우
| 증상 | 원인 | 해결 방법 |
|---|---|---|
| 탭이 회색으로 변함 | 메모리 세이버 | 섹션 1.2 참조 |
| 가끔씩만 새로고침 | 절전 모드 | 섹션 1.1 참조 |
| 익스텐션 아이콘 사라짐 | Chrome 업데이트 | 익스텐션 재설치 |
5.2 PowerShell 스크립트 오류
# 실행 정책 오류 시
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 권한 오류 시 - 관리자 권한으로 PowerShell 실행
5.3 로그 확인
# 새로고침 로그 확인
Get-Content "C:\Scripts\refresh_log.txt" -Tail 20
# 실시간 로그 모니터링
Get-Content "C:\Scripts\refresh_log.txt" -Wait
5.4 Chrome이 여러 프로세스로 분리되는 경우
# 모든 Chrome 창 찾기 (개선된 버전)
$chrome = Get-Process | Where-Object {
$_.ProcessName -eq "chrome" -and
$_.MainWindowHandle -ne 0
}
체크리스트
시작 전 확인사항:
- Chrome 최신 버전 업데이트
- chrome://flags 에서 occlusion 비활성화
- 메모리 세이버 OFF
- Tab Reloader 익스텐션 설치 및 설정
- PowerShell 스크립트 테스트 완료
- 시작 프로그램 등록 완료
- 재부팅 후 자동 실행 확인
참고
- Tab Reloader 공식: https://github.com/nicoleahmed/tab-reloader
- Chrome 메모리 관리: https://support.google.com/chrome/answer/12929150