Raspberry Pi에서 Smashing 대시보드를 설정하는 방법
11896 단어 rubydietpiraspberrypidashboard
DietPi를 설치하려면 해당 제품Guide을 따르십시오. 깜박임에는 RPi Imager을 사용했습니다.
이제 여기에 있어야 합니다.
첫 실행
Software Optimised
를 입력하고 Chromium
를 선택한 다음(화살표와 스페이스바 사용) Enter 키를 누릅니다.그런 다음
DietPi-Config
-> Display Options
-> Display Resolution
로 이동하여 현재 화면 해상도를 선택합니다.그런 다음
AutoStart Options
가 보일 때까지 돌아가서 Enter 키로 Chromium
를 선택하고 URL을 그대로 두고 사용자가 root
로 설정되어 있는지 확인하십시오. Exit
를 선택하여 끝까지 돌아갑니다.그런 다음
Software Additional
로 이동하여 Build-Essentials
, Git
, Node.JS
및 선택한 편집기를 선택합니다. Enter 키를 눌러 종료합니다. (Esc를 누르면 설정이 지워집니다.)마지막으로
Install
를 선택하고 마지막에 재부팅합니다.크롬 설정
경우에 따라 Chromium의 창 크기가 해상도보다 작을 수 있습니다. 다음과 같이 보입니다.
이 문제를 해결하려면
/boot/dietpi.txt
에 있는 파일에서 이러한 변수를 편집하고 적절한 해상도로 설정해야 합니다.SOFTWARE_CHROMIUM_RES_X=1280
SOFTWARE_CHROMIUM_RES_Y=720
그 후 몇 가지 눈부신 문제를 해결하기 위해 크롬 자동 시작 스크립트를 수정해야 합니다. 여기에서 찾을 수 있습니다
/var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh
.CHROMIUM_OPTS="--kiosk --test-type --window-size=$RES_X,$RES_Y --start-fullscreen --start-maximized --window-position=0,0"
이 변수에 다음 옵션을 추가합니다.
--no-default-browser-check
기본 브라우저 확인을 비활성화합니다. 기본 브라우저 정보 표시줄을 표시하지 않으려는 UI/브라우저 테스트에 유용합니다. --disable-component-update
크롬을 업데이트하거나 크롬을 업데이트할 수 없다는 팝업을 비활성화합니다. --no-first-run
실제로 첫 번째 실행인지 여부에 관계없이 첫 번째 실행 작업을 건너뜁니다. 명령줄 스위치에 대한 추가 정보here
직전:
xinit $FP_CHROMIUM $CHROMIUM_OPTS
다음 명령을 추가하십시오.
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
이들은 로컬 크롬 설정에서
exited_cleanly
값을 설정하고 크롬에 항상 정상적으로 종료되었음을 알려줍니다. 이것은 RaspberryPi이므로 Chromium이 직접 닫힐 수 있으며 "이전 세션 복원"팝업을 보고 싶지 않습니다.결국 다음과 같은 파일이 있어야 합니다.
#!/bin/bash
# Autostart run script for Kiosk mode, based on @AYapejian https://github.com/MichaIng/DietPi/issues/1737#issue-318697621
# - Please see /root/.chromium-browser.init (and /etc/chromium.d/custom_flags) for additional egl/gl init options
# Command line switches https://peter.sh/experiments/chromium-command-line-switches/
# --test-type gets rid of some of the chromium warnings that you may or may not care about in kiosk on a LAN
# --pull-to-refresh=1
# --ash-host-window-bounds="400,300"
# Resolution to use for kiosk mode should ideally match current system resolution
RES_X=$(sed -n '/^[[:blank:]]*SOFTWARE_CHROMIUM_RES_X=/{s/^[^=]*=//p;q}' /boot/dietpi.txt)
RES_Y=$(sed -n '/^[[:blank:]]*SOFTWARE_CHROMIUM_RES_Y=/{s/^[^=]*=//p;q}' /boot/dietpi.txt)
CHROMIUM_OPTS="--kiosk --test-type --no-default-browser-check --no-first-run --disable-component-update --window-size=$RES_X,$RES_Y --start-fullscreen --start-maximized --window-position=0,0"
# If you want tablet mode, uncomment the next line.
#CHROMIUM_OPTS+=' --force-tablet-mode --tablet-ui'
# Add URL for the first run:
URL=$(sed -n '/^[[:blank:]]*SOFTWARE_CHROMIUM_AUTOSTART_URL=/{s/^[^=]*=//p;q}' /boot/dietpi.txt)
CHROMIUM_OPTS+=" --homepage $URL"
# Find absolute file path location of Chromium binary.
FP_CHROMIUM=$(command -v chromium)
if [[ ! $FP_CHROMIUM ]]; then
# Assume RPi
FP_CHROMIUM="$(command -v chromium-browser)"
fi
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
xinit $FP_CHROMIUM $CHROMIUM_OPTS
스매싱 설정
Smashing은 멋진 대시보드를 구축할 수 있는 Sinatra 기반 프레임워크입니다. (그들의 문서에서)
사용자
dietpi
(기본 사용자)로 로그인하고 다음 단계를 실행합니다.# Install ruby
sudo apt install ruby-dev
# Install gems
sudo gem install smashing bundler
# Generate sample project
smashing new sample_dashboard
cd sample_dashboard
# Install dependencies
bundle install
# Run
smashing start
이제 localhost에서 연결하거나 포트 3030에서 Raspberry Pi의 LAN 주소를 사용하여 연결할 수 있어야 하며 다음과 같이 표시되어야 합니다.
이제 작동하는 것을 알았으므로 대시보드를 자동 시작하는 서비스를 설정하고 부팅 시 링크를 로드하도록 chromium에 지시해야 합니다.
다음을 포함하는 경로
smashing.service
에 /etc/systemd/system
라는 파일을 만듭니다.[Unit]
Description=Start Smashing Dashboard
Before=graphical.target
After=network.target remote-fs.target
[Service]
Type=exec
Restart=always
RestartSec=60
TimeoutSec=5min
KillMode=control-group
GuessMainPID=no
User=dietpi
Group=dietpi
WorkingDirectory=/home/dietpi/sample_dashboard
ExecStart=/usr/local/bin/smashing start
#ExecStop=/usr/local/bin/smashing stop
PrivateTmp=true
PrivateDevices=true
ProtectSystem=full
MountFlags=private
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
WorkingDirectory
를 대시보드가 있는 경로로 변경해야 합니다.서비스 옵션에 대한 추가 정보here
그 후에 다음을 수행하십시오.
# Reload the Daemon to see our changes
sudo systemctl daemon-reload
# Start smashing on boot
sudo systemctl enable smashing
그리고 Chromium이 로드하는 링크를 수정하려면 앱
dietpi-config
을 사용하여 TUI에서 수정하거나 SOFTWARE_CHROMIUM_AUTOSTART_URL
에서 변수/boot/dietpi.txt
를 수정하고 http://localhost:3030
로 설정할 수 있습니다.이제 재부팅하면 부팅 시 대시보드 전체 화면이 자동으로 로드되며 최종 결과는 다음과 같습니다.
스매싱에 대한 추가 정보here
스매싱 서비스의 성능을 더 많이 제어하려면
dietpi-services
를 사용할 수 있습니다.DietPi에는 RaspberryPi를 사용하여 삶을 훨씬 더 좋게 만드는 많은 도구가 있으며 더 자세히 살펴보는 것이 좋습니다.
Reference
이 문제에 관하여(Raspberry Pi에서 Smashing 대시보드를 설정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sweethuman/how-to-set-up-a-smashing-dashboard-on-your-raspberry-pi-2h70텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)