mirror of
https://github.com/6091528/kioskmonitor.git
synced 2026-08-08 03:52:34 +02:00
update
This commit is contained in:
@@ -180,7 +180,9 @@ systemctl disable mnt-presentation.mount
|
|||||||
systemctl stop mnt-presentation.mount
|
systemctl stop mnt-presentation.mount
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. Wykryj nazwy wyjść wideo
|
### 4. Sprawdź nazwę wyjścia wideo dla pojedynczego ekranu
|
||||||
|
|
||||||
|
W przypadku jednego monitora nadal musisz znać jego X11-ową nazwę wyjścia, aby ustawić go jako `OUTPUT_LEFT` w `kiosk-manager.sh`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
for p in /sys/class/drm/card*-*; do
|
for p in /sys/class/drm/card*-*; do
|
||||||
@@ -199,6 +201,8 @@ Ustaw właściwą nazwę wyjścia w `kiosk-manager.sh`:
|
|||||||
OUTPUT_LEFT="HDMI-1" # główny monitor HDMI
|
OUTPUT_LEFT="HDMI-1" # główny monitor HDMI
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To nie jest wykrywanie wielu ekranów — to potwierdzenie, że pojedynczy monitor jest widoczny jako `HDMI-1` (lub inna nazwa) w X11, zanim zostanie skonfigurowany i użyta jego rozdzielczość.
|
||||||
|
|
||||||
### 5. Skopiuj pliki konfiguracyjne i uruchom serwisy
|
### 5. Skopiuj pliki konfiguracyjne i uruchom serwisy
|
||||||
|
|
||||||
Skopiuj skrypty i zasoby do katalogu użytkownika `kiosk`:
|
Skopiuj skrypty i zasoby do katalogu użytkownika `kiosk`:
|
||||||
@@ -237,31 +241,43 @@ Jeżeli chcesz, aby montowanie SMB było wykonywane tylko przez `presentation-ma
|
|||||||
systemctl disable --now mnt-presentation.mount
|
systemctl disable --now mnt-presentation.mount
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5a. Przez SSH — jak skopiować pliki do kiosku
|
### 5a. Przez terminal / lokalnie — jak skopiować pliki do kiosku
|
||||||
|
|
||||||
Jeśli kopiujesz pliki z innej maszyny przez SSH, użyj `scp` i przenieś je na kiosk:
|
Jeśli jesteś już zalogowany na kiosku przez terminal (np. Terminus), użyj `cp` lub `mv` do przeniesienia plików lokalnie.
|
||||||
|
|
||||||
|
Jeżeli pliki znajdują się w katalogu `/tmp/` na kiosku, możesz użyć tego przykładu:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo cp /tmp/kiosk-manager.sh /home/kiosk/
|
||||||
|
sudo cp /tmp/presentation-manager.sh /home/kiosk/
|
||||||
|
sudo cp /tmp/waiting.html /home/kiosk/
|
||||||
|
sudo cp /tmp/logo.png /home/kiosk/
|
||||||
|
sudo chmod +x /home/kiosk/kiosk-manager.sh /home/kiosk/presentation-manager.sh
|
||||||
|
sudo chown -R kiosk:kiosk /home/kiosk/
|
||||||
|
|
||||||
|
sudo cp /tmp/kiosk.service /etc/systemd/system/kiosk.service
|
||||||
|
sudo cp /tmp/wol-enable.service /etc/systemd/system/wol-enable.service
|
||||||
|
sudo cp /tmp/kiosk-schedule /etc/cron.d/kiosk-schedule
|
||||||
|
sudo chmod 644 /etc/cron.d/kiosk-schedule
|
||||||
|
```
|
||||||
|
|
||||||
|
Jeżeli masz pliki w innym katalogu na kiosku, użyj zamiast `/tmp/` odpowiedniej ścieżki do miejsca, w którym je zapisałeś.
|
||||||
|
|
||||||
|
Przykład z bieżącego katalogu:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo cp kiosk-manager.sh presentation-manager.sh waiting.html logo.png /home/kiosk/
|
||||||
|
```
|
||||||
|
|
||||||
|
Jeśli chcesz, możesz też użyć `mv` zamiast `cp` dla plików tymczasowych.
|
||||||
|
|
||||||
|
Jeżeli pliki są na innej maszynie, pozostaje opcja `scp`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
scp kiosk-manager.sh presentation-manager.sh waiting.html logo.png kiosk.service wol-enable.service kiosk-schedule <user>@<kiosk-ip>:/tmp/
|
scp kiosk-manager.sh presentation-manager.sh waiting.html logo.png kiosk.service wol-enable.service kiosk-schedule <user>@<kiosk-ip>:/tmp/
|
||||||
ssh <user>@<kiosk-ip>
|
ssh <user>@<kiosk-ip>
|
||||||
```
|
```
|
||||||
|
|
||||||
Następnie na kiosk wykonaj:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo mv /tmp/kiosk-manager.sh /home/kiosk/
|
|
||||||
sudo mv /tmp/presentation-manager.sh /home/kiosk/
|
|
||||||
sudo mv /tmp/waiting.html /home/kiosk/
|
|
||||||
sudo mv /tmp/logo.png /home/kiosk/
|
|
||||||
sudo chmod +x /home/kiosk/kiosk-manager.sh /home/kiosk/presentation-manager.sh
|
|
||||||
sudo chown -R kiosk:kiosk /home/kiosk/
|
|
||||||
|
|
||||||
sudo mv /tmp/kiosk.service /etc/systemd/system/kiosk.service
|
|
||||||
sudo mv /tmp/wol-enable.service /etc/systemd/system/wol-enable.service
|
|
||||||
sudo mv /tmp/kiosk-schedule /etc/cron.d/kiosk-schedule
|
|
||||||
sudo chmod 644 /etc/cron.d/kiosk-schedule
|
|
||||||
```
|
|
||||||
|
|
||||||
Po skopiowaniu i ustawieniu uprawnień uruchom:
|
Po skopiowaniu i ustawieniu uprawnień uruchom:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -275,20 +291,9 @@ sudo systemctl disable --now mnt-presentation.mount
|
|||||||
|
|
||||||
## Tryb 1-ekranowy
|
## Tryb 1-ekranowy
|
||||||
|
|
||||||
Istniejące skrypty obsługują tryb jednokanałowy bez dodatkowych plików. Ustaw `ONE_SCREEN=1` w `kiosk.service` lub przed uruchomieniem `/home/kiosk/kiosk-manager.sh`.
|
Istniejące skrypty już działają w konfiguracji jednoekranowej. Krok kopiowania plików wykonaj raz w sekcji 5; ta część opisuje tylko dodatkowe ustawienia środowiska.
|
||||||
|
|
||||||
Skopiuj pliki:
|
W `kiosk.service` możesz dodać zmienną środowiskową `ONE_SCREEN=1`, aby wymusić obsługę jednego ekranu:
|
||||||
|
|
||||||
```bash
|
|
||||||
cp kiosk-manager.sh /home/kiosk/kiosk-manager.sh
|
|
||||||
cp presentation-manager.sh /home/kiosk/presentation-manager.sh
|
|
||||||
cp waiting.html /home/kiosk/waiting.html
|
|
||||||
cp logo.png /home/kiosk/logo.png
|
|
||||||
chmod +x /home/kiosk/kiosk-manager.sh /home/kiosk/presentation-manager.sh
|
|
||||||
chown -R kiosk:kiosk /home/kiosk/
|
|
||||||
```
|
|
||||||
|
|
||||||
W `kiosk.service` dodaj:
|
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[Service]
|
[Service]
|
||||||
@@ -296,50 +301,17 @@ Environment=ONE_SCREEN=1
|
|||||||
ExecStart=xinit /home/kiosk/kiosk-manager.sh -- :0 vt7
|
ExecStart=xinit /home/kiosk/kiosk-manager.sh -- :0 vt7
|
||||||
```
|
```
|
||||||
|
|
||||||
Przeładuj systemd i uruchom serwis:
|
Przeładuj systemd i zrestartuj serwis:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl restart kiosk.service
|
systemctl restart kiosk.service
|
||||||
```
|
```
|
||||||
|
|
||||||
Skrypt wykrywa rozdzielczość ekranu automatycznie; `SCREEN_WIDTH` lub `RES_W` można ustawić tylko w razie potrzeby.
|
Skrypt wykrywa rozdzielczość ekranu automatycznie; `SCREEN_WIDTH` lub `RES_W` należy ustawiać tylko w razie potrzeby.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## SSH i `sway-config`
|
|
||||||
|
|
||||||
SSH:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
apt install -y openssh-server
|
|
||||||
systemctl enable --now ssh
|
|
||||||
```
|
|
||||||
|
|
||||||
Dodaj swój klucz do `/home/kiosk/.ssh/authorized_keys` i ustaw uprawnienia.
|
|
||||||
|
|
||||||
Sway:
|
|
||||||
|
|
||||||
Plik `sway-config` jest dostępny, ale obecne skrypty działają na X11. Użycie `sway` wymaga portu skryptów na Wayland.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Szybkie polecenia — drop-in systemd dla `ONE_SCREEN=1`
|
|
||||||
|
|
||||||
Utwórz drop-in, przeładuj systemd i zrestartuj serwis:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mkdir -p /etc/systemd/system/kiosk.service.d
|
|
||||||
cat > /etc/systemd/system/kiosk.service.d/one-screen.conf <<'EOF'
|
|
||||||
[Service]
|
|
||||||
Environment=ONE_SCREEN=1
|
|
||||||
Environment=SCREEN_WIDTH=1920
|
|
||||||
EOF
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl restart kiosk.service
|
|
||||||
```
|
|
||||||
|
|
||||||
W normalnym trybie skrypt wykrywa szerokość ekranu automatycznie; zmiana `SCREEN_WIDTH` jest potrzebna tylko przy problemach.
|
|
||||||
|
|
||||||
### 6. Rozwiązanie problemu z domenami .local
|
### 6. Rozwiązanie problemu z domenami .local
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user