wake on lan changes
This commit is contained in:
@@ -231,7 +231,11 @@ GRUB_TIMEOUT=0
|
|||||||
|
|
||||||
## Harmonogram — Automatyczne wyłączanie i Wake on LAN
|
## Harmonogram — Automatyczne wyłączanie i Wake on LAN
|
||||||
|
|
||||||
Kiosk wyłącza się automatycznie w **sobotę o 7:00** i jest budzony przez Magic Packet (Wake on LAN) w **niedzielę o 21:00**.
|
Kiosk wyłącza się automatycznie w **sobotę o 7:00** i jest budzony przez Magic Packet (Wake on LAN) co 5 minut przez całe okno aktywności (**niedziela 21:00 – sobota 7:00**). Pakiet WoL jest ignorowany gdy kiosk jest już włączony — cykliczne wysyłanie nie powoduje restartów.
|
||||||
|
|
||||||
|
> **Utrata prądu:** WoL nie zadziała gdy karta sieciowa nie ma zasilania. Aby kiosk sam wstał po powrocie prądu, wejdź w ustawienia BIOS/UEFI i ustaw opcję **Restore on AC Power Loss** (lub **After Power Failure**) na **Power On**. W połączeniu z cyklicznym WoL zapewnia to pełne pokrycie: brak prądu → BIOS bootuje automatycznie; awaria software → WoL obudzi po max. 5 min.
|
||||||
|
>
|
||||||
|
> Jeśli prąd wróci w oknie wyłączenia (sobota 7:00 – niedziela 20:59), kiosk uruchomi się przez BIOS, ale `kiosk-schedule` wyłączy go ponownie w ciągu max. 5 minut.
|
||||||
|
|
||||||
### Na kiosku
|
### Na kiosku
|
||||||
|
|
||||||
@@ -267,7 +271,7 @@ ip link show | grep -A1 "state UP" | grep ether | awk '{print $2}'
|
|||||||
|
|
||||||
Zanotuj ten adres — potrzebny do konfiguracji serwera (krok poniżej).
|
Zanotuj ten adres — potrzebny do konfiguracji serwera (krok poniżej).
|
||||||
|
|
||||||
### Na serwerze (192.168.40.201)
|
### Na serwerze (192.168.40.126)
|
||||||
|
|
||||||
Zainstaluj narzędzie do wysyłania Magic Packet:
|
Zainstaluj narzędzie do wysyłania Magic Packet:
|
||||||
|
|
||||||
@@ -275,14 +279,17 @@ Zainstaluj narzędzie do wysyłania Magic Packet:
|
|||||||
apt install wakeonlan
|
apt install wakeonlan
|
||||||
```
|
```
|
||||||
|
|
||||||
Utwórz plik crona wysyłającego WoL w niedzielę o 21:00 (wstaw MAC kiosku):
|
Utwórz plik crona wysyłającego WoL co 5 minut przez całe okno aktywności kiosku (wstaw MAC kiosku):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cat > /etc/cron.d/kiosk-wol << 'EOF'
|
cat > /etc/cron.d/kiosk-wol << 'EOF'
|
||||||
SHELL=/bin/sh
|
SHELL=/bin/sh
|
||||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
# Obuć kiosk WS-VK016 w niedzielę o 21:00
|
# Budź kiosk WS-VK016 co 5 min w oknie aktywności: nd 21:00 – sb 7:00
|
||||||
0 21 * * 0 root wakeonlan XX:XX:XX:XX:XX:XX
|
# Jeśli kiosk jest już włączony, pakiet WoL jest ignorowany (bezpieczne).
|
||||||
|
*/5 21-23 * * 0 root wakeonlan XX:XX:XX:XX:XX:XX
|
||||||
|
*/5 * * * 1-5 root wakeonlan XX:XX:XX:XX:XX:XX
|
||||||
|
*/5 0-6 * * 6 root wakeonlan XX:XX:XX:XX:XX:XX
|
||||||
EOF
|
EOF
|
||||||
chmod 644 /etc/cron.d/kiosk-wol
|
chmod 644 /etc/cron.d/kiosk-wol
|
||||||
```
|
```
|
||||||
|
|||||||
+17
-2
@@ -59,9 +59,24 @@ xdotool mousemove "$RES_W" "$((RES_H + 100))"
|
|||||||
openbox --sm-disable &
|
openbox --sm-disable &
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
|
|
||||||
|
# Konfiguracja LibreOffice Impress: wyłącz presenter console, pokaz na ekranie 1 (HDMI-1)
|
||||||
|
# Nadpisujemy przy każdym starcie — profil kiosku nie wymaga ochrony
|
||||||
|
LO_PROFILE="$HOME/.config/libreoffice/4/user"
|
||||||
|
mkdir -p "$LO_PROFILE"
|
||||||
|
cat > "$LO_PROFILE/registrymodifications.xcu" << 'XCUEOF'
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<oor:items xmlns:oor="http://openoffice.org/2001/registry"
|
||||||
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<item oor:path="/org.openoffice.Office.Impress/Misc">
|
||||||
|
<prop oor:name="StartWithPresenterScreen" oor:op="fuse">
|
||||||
|
<value>false</value>
|
||||||
|
</prop>
|
||||||
|
</item>
|
||||||
|
</oor:items>
|
||||||
|
XCUEOF
|
||||||
|
|
||||||
# ─── Start aplikacji ─────────────────────────────────────────────────────────
|
# ─── Start aplikacji ─────────────────────────────────────────────────────────
|
||||||
# Konfiguracja LO (wyłączenie konsoli prezentera) jest zarządzana przez
|
|
||||||
# presentation-manager.sh → start_lo() via -env:UserInstallation=/tmp/lo-kiosk-profile
|
|
||||||
|
|
||||||
# Uruchom menedżera prezentacji w tle (prawy ekran)
|
# Uruchom menedżera prezentacji w tle (prawy ekran)
|
||||||
/home/kiosk/presentation-manager.sh &
|
/home/kiosk/presentation-manager.sh &
|
||||||
|
|||||||
+6
-3
@@ -1,9 +1,12 @@
|
|||||||
# /etc/cron.d/kiosk-schedule
|
# /etc/cron.d/kiosk-schedule
|
||||||
# Harmonogram kiosku WS-VK016
|
# Harmonogram kiosku WS-VK016
|
||||||
# Instalacja: cp kiosk-schedule /etc/cron.d/kiosk-schedule
|
|
||||||
# chmod 644 /etc/cron.d/kiosk-schedule
|
|
||||||
SHELL=/bin/sh
|
SHELL=/bin/sh
|
||||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
|
||||||
# Wyłącz kiosk w sobotę o 7:00
|
# Wyłącz kiosk w sobotę o 7:00 (planowe wyłączenie)
|
||||||
0 7 * * 6 root /sbin/shutdown -h now
|
0 7 * * 6 root /sbin/shutdown -h now
|
||||||
|
|
||||||
|
# Jeśli kiosk uruchomi się po utracie prądu w oknie wyłączenia (sb 07:00 – nd 20:59),
|
||||||
|
# wyłącz go w ciągu max. 5 minut. Gdy kiosk jest normalnie wyłączony, wpisy nie działają.
|
||||||
|
*/5 7-23 * * 6 root /sbin/shutdown -h now
|
||||||
|
*/5 0-20 * * 0 root /sbin/shutdown -h now
|
||||||
|
|||||||
@@ -59,12 +59,9 @@ start_lo() {
|
|||||||
# Usuń plik blokady LO — pozostaje po kill i blokuje kolejne uruchomienie
|
# Usuń plik blokady LO — pozostaje po kill i blokuje kolejne uruchomienie
|
||||||
rm -f /tmp/.~lock.kiosk-live.pptx\#
|
rm -f /tmp/.~lock.kiosk-live.pptx\#
|
||||||
|
|
||||||
# Wyłącz konsolę prezentera — izolowany profil w /tmp eliminuje problemy
|
# Wyłącz konsolę prezentera — zapisujemy tuż przed uruchomieniem LO,
|
||||||
# z HOME=/root (usługa bez User=kiosk) i z cache LO z poprzednich sesji.
|
# żeby mieć pewność że dotyczy bieżącego profilu ($HOME może być /root)
|
||||||
# -env:UserInstallation wskazuje LO dokładnie który profil ma użyć.
|
_LO_PROFILE="$HOME/.config/libreoffice/4/user"
|
||||||
_LO_PROFILE_DIR="/tmp/lo-kiosk-profile"
|
|
||||||
_LO_PROFILE="$_LO_PROFILE_DIR/user"
|
|
||||||
rm -rf "$_LO_PROFILE_DIR" # wymuś świeży profil — bez żadnych zapisanych preferencji
|
|
||||||
mkdir -p "$_LO_PROFILE"
|
mkdir -p "$_LO_PROFILE"
|
||||||
cat > "$_LO_PROFILE/registrymodifications.xcu" << 'XCUEOF'
|
cat > "$_LO_PROFILE/registrymodifications.xcu" << 'XCUEOF'
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
@@ -73,7 +70,7 @@ start_lo() {
|
|||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<item oor:path="/org.openoffice.Office.Impress/Misc">
|
<item oor:path="/org.openoffice.Office.Impress/Misc">
|
||||||
<prop oor:name="StartWithPresenterScreen" oor:op="fuse">
|
<prop oor:name="StartWithPresenterScreen" oor:op="fuse">
|
||||||
<value xsi:type="xs:boolean">false</value>
|
<value>false</value>
|
||||||
</prop>
|
</prop>
|
||||||
</item>
|
</item>
|
||||||
</oor:items>
|
</oor:items>
|
||||||
@@ -87,9 +84,7 @@ XCUEOF
|
|||||||
}
|
}
|
||||||
echo "[presentation-manager] Uruchamianie pokazu: $LOCAL_PRESENTATION"
|
echo "[presentation-manager] Uruchamianie pokazu: $LOCAL_PRESENTATION"
|
||||||
# --show otwiera bezpośrednio pokaz (bez Start Center)
|
# --show otwiera bezpośrednio pokaz (bez Start Center)
|
||||||
# -env:UserInstallation wymusza użycie naszego profilu (bez konsoli prezentera)
|
|
||||||
soffice \
|
soffice \
|
||||||
"-env:UserInstallation=file://$_LO_PROFILE_DIR" \
|
|
||||||
--norestore \
|
--norestore \
|
||||||
--nofirststartwizard \
|
--nofirststartwizard \
|
||||||
--show "$LOCAL_PRESENTATION" &
|
--show "$LOCAL_PRESENTATION" &
|
||||||
|
|||||||
Reference in New Issue
Block a user