Initial release: RadiantWave v1.0
This commit is contained in:
@@ -0,0 +1,189 @@
|
||||
# RhemaWave Kiosk Setup Guide - Ubuntu Server 24
|
||||
|
||||
Complete setup guide for a fresh Ubuntu Server 24 installation configured as a RhemaWave kiosk.
|
||||
|
||||
## Initial System Setup
|
||||
|
||||
### 1. Create Kiosk User
|
||||
|
||||
```bash
|
||||
sudo adduser kiosk
|
||||
sudo usermod -aG sudo kiosk
|
||||
```
|
||||
|
||||
### 2. Install Dependencies
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install -y \
|
||||
libsdl2-2.0-0 \
|
||||
libsdl2-ttf-2.0-0 \
|
||||
libsdl2-mixer-2.0-0 \
|
||||
libegl1-mesa \
|
||||
libgles2-mesa \
|
||||
libgbm1 \
|
||||
libinput10 \
|
||||
libxkbcommon0 \
|
||||
dbus \
|
||||
network-manager
|
||||
```
|
||||
|
||||
### 3. Install Cage (Wayland Compositor)
|
||||
|
||||
```bash
|
||||
sudo apt install -y cage
|
||||
```
|
||||
|
||||
### 4. Install Greetd
|
||||
|
||||
```bash
|
||||
sudo apt install -y greetd
|
||||
```
|
||||
|
||||
### 5. Configure PAM for Greetd
|
||||
|
||||
Create `/etc/pam.d/greetd`:
|
||||
|
||||
```bash
|
||||
sudo tee /etc/pam.d/greetd <<EOF
|
||||
#%PAM-1.0
|
||||
auth required pam_unix.so
|
||||
auth required pam_env.so
|
||||
account required pam_unix.so
|
||||
password required pam_unix.so
|
||||
session required pam_unix.so
|
||||
session required pam_limits.so
|
||||
EOF
|
||||
```
|
||||
|
||||
### 6. Configure Greetd Auto-Login
|
||||
|
||||
Create `/etc/greetd/config.toml`:
|
||||
|
||||
```bash
|
||||
sudo tee /etc/greetd/config.toml <<EOF
|
||||
[terminal]
|
||||
vt = 1
|
||||
|
||||
[initial_session]
|
||||
command = "cage -s -- /usr/local/bin/rhemawave"
|
||||
user = "kiosk"
|
||||
|
||||
[default_session]
|
||||
command = "cage -s -- /usr/local/bin/rhemawave"
|
||||
user = "kiosk"
|
||||
EOF
|
||||
```
|
||||
|
||||
### 7. Disable Network Wait Service
|
||||
|
||||
Speed up boot by disabling network wait:
|
||||
|
||||
```bash
|
||||
sudo systemctl disable systemd-networkd-wait-online.service
|
||||
sudo systemctl mask systemd-networkd-wait-online.service
|
||||
```
|
||||
|
||||
## Install RhemaWave
|
||||
|
||||
### Option 1: Via APT Repository (Recommended)
|
||||
|
||||
```bash
|
||||
# Add repository
|
||||
echo "deb [trusted=yes] https://repository.rhemawavetech.com/release ./" | \
|
||||
sudo tee /etc/apt/sources.list.d/rhemawave.list
|
||||
|
||||
# Install
|
||||
sudo apt update
|
||||
sudo apt install rhemawave
|
||||
```
|
||||
|
||||
### Option 2: Manual Installation
|
||||
|
||||
```bash
|
||||
# Download and install .deb package
|
||||
wget https://repository.rhemawavetech.com/rhemawave_X.X.X_amd64.deb
|
||||
sudo dpkg -i rhemawave_X.X.X_amd64.deb
|
||||
sudo apt install -f
|
||||
```
|
||||
|
||||
## Enable and Start Greetd
|
||||
|
||||
```bash
|
||||
sudo systemctl enable greetd
|
||||
sudo systemctl start greetd
|
||||
```
|
||||
|
||||
## Verify Setup
|
||||
|
||||
Check greetd status:
|
||||
```bash
|
||||
sudo systemctl status greetd
|
||||
```
|
||||
|
||||
Check logs if issues occur:
|
||||
```bash
|
||||
journalctl -xeu greetd
|
||||
```
|
||||
|
||||
## Reboot
|
||||
|
||||
```bash
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
The system should auto-login as `kiosk` and launch RhemaWave in fullscreen via cage.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Greetd fails to start
|
||||
- Check PAM config: `cat /etc/pam.d/greetd`
|
||||
- Check greetd config syntax: `cat /etc/greetd/config.toml`
|
||||
- View detailed logs: `journalctl -xeu greetd`
|
||||
|
||||
### Black screen after login
|
||||
- Verify cage is installed: `which cage`
|
||||
- Verify rhemawave exists: `ls -l /usr/local/bin/rhemawave`
|
||||
- Check cage can access GPU: `ls -l /dev/dri/`
|
||||
- Add kiosk to video group: `sudo usermod -aG video kiosk`
|
||||
|
||||
### Network not connecting
|
||||
- Check NetworkManager status: `systemctl status NetworkManager`
|
||||
- Use nmtui for WiFi setup: `sudo nmtui`
|
||||
- RhemaWave will show WiFi setup page if no connection detected
|
||||
|
||||
### Auto-updates not working
|
||||
- Verify polkit rules: `ls -l /etc/polkit-1/rules.d/99-rhemawave-updater.rules`
|
||||
- Check updater script: `ls -l /usr/local/bin/rhemawave-updater.py`
|
||||
- Test manual update: `sudo apt update && sudo apt list --upgradable`
|
||||
|
||||
## Security Notes
|
||||
|
||||
- The kiosk user keeps their password for SSH and sudo access
|
||||
- Auto-login only applies to tty1 (the primary console)
|
||||
- Other TTYs (Ctrl+Alt+F2-F6) still require password
|
||||
- Polkit rules restrict kiosk user to only RhemaWave package updates
|
||||
|
||||
## Remote Management
|
||||
|
||||
### SSH Access
|
||||
```bash
|
||||
ssh kiosk@<kiosk-ip>
|
||||
```
|
||||
|
||||
### View RhemaWave Logs
|
||||
```bash
|
||||
# From SSH session
|
||||
sudo journalctl -u greetd -f
|
||||
```
|
||||
|
||||
### Restart RhemaWave
|
||||
```bash
|
||||
sudo systemctl restart greetd
|
||||
```
|
||||
|
||||
### Update RhemaWave
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt upgrade rhemawave
|
||||
```
|
||||
Reference in New Issue
Block a user