From b1e1bfab229345eab320462e83b703c1e223c757 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Mon, 13 Apr 2026 14:03:27 +0200 Subject: [PATCH] Remove dummy touchscreen; fix supervisord & defaults Remove non-portable dummy_touchscreen InputDevice from Xorg config and adjust dummy_mouse entry. Hardcode supervisord environment/user/display to 'neko' and :99.0 for X, PulseAudio, Firefox, Openbox and the Neko server to simplify runtime on bare-metal. Update /etc/neko/neko.yaml to disable session cookies, enable WebRTC icelite, add nat1to1 mapping with ${LOCAL_IP}, set EPR port range 59000-59100, and disable desktop input. Update json/neko.json to clear the default username (null) and clarify the password-only login note. These changes make the packaged runtime compatible without the custom Xorg driver and streamline defaults for deployment. --- install/neko-install.sh | 39 +++++++++++++++++++++++++++------------ json/neko.json | 4 ++-- 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/install/neko-install.sh b/install/neko-install.sh index 7cb84e1b..ff88e743 100644 --- a/install/neko-install.sh +++ b/install/neko-install.sh @@ -79,6 +79,10 @@ chown neko /tmp/.X11-unix /var/log/neko /tmp/runtime-neko chown -R neko:neko /home/neko cp /opt/neko/runtime/xorg.conf /etc/neko/xorg.conf +# Remove the dummy_touchscreen InputDevice section (requires custom "neko" Xorg driver not available bare-metal) +sed -i '/Section "InputDevice"/{N;/dummy_touchscreen/{:l;N;/EndSection/!bl;d}}' /etc/neko/xorg.conf +sed -i '/dummy_touchscreen/d' /etc/neko/xorg.conf +sed -i 's/InputDevice "dummy_mouse"/InputDevice "dummy_mouse" "CorePointer"/' /etc/neko/xorg.conf cp /opt/neko/runtime/default.pa /etc/pulse/default.pa cat </etc/neko/supervisord.conf @@ -94,35 +98,35 @@ loglevel=debug files=/etc/neko/supervisord/*.conf [program:x-server] -environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s" -command=/usr/bin/X %(ENV_DISPLAY)s -config /etc/neko/xorg.conf -noreset -nolisten tcp +environment=HOME="/home/neko",USER="neko" +command=/usr/bin/X :99.0 -config /etc/neko/xorg.conf -noreset -nolisten tcp autorestart=true priority=300 -user=%(ENV_USER)s +user=neko stdout_logfile=/var/log/neko/xorg.log stdout_logfile_maxbytes=100MB stdout_logfile_backups=10 redirect_stderr=true [program:pulseaudio] -environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s" +environment=HOME="/home/neko",USER="neko",DISPLAY=":99.0" command=/usr/bin/pulseaudio --log-level=error --disallow-module-loading --disallow-exit --exit-idle-time=-1 autorestart=true priority=300 -user=%(ENV_USER)s +user=neko stdout_logfile=/var/log/neko/pulseaudio.log stdout_logfile_maxbytes=100MB stdout_logfile_backups=10 redirect_stderr=true [program:neko] -environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s" +environment=HOME="/home/neko",USER="neko",DISPLAY=":99.0" command=/usr/bin/neko serve --server.static "/var/www" stopsignal=INT stopwaitsecs=3 autorestart=true priority=800 -user=%(ENV_USER)s +user=neko stdout_logfile=/var/log/neko/neko.log stdout_logfile_maxbytes=100MB stdout_logfile_backups=10 @@ -142,23 +146,23 @@ EOF cat </etc/neko/supervisord/firefox.conf [program:firefox] -environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s" -command=/usr/bin/firefox-esr --no-remote --display=%(ENV_DISPLAY)s -width 1280 -height 720 +environment=HOME="/home/neko",USER="neko",DISPLAY=":99.0" +command=/usr/bin/firefox-esr --no-remote --display=:99.0 -width 1280 -height 720 stopsignal=INT autorestart=true priority=800 -user=%(ENV_USER)s +user=neko stdout_logfile=/var/log/neko/firefox.log stdout_logfile_maxbytes=100MB stdout_logfile_backups=10 redirect_stderr=true [program:openbox] -environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s" +environment=HOME="/home/neko",USER="neko",DISPLAY=":99.0" command=/usr/bin/openbox --config-file /etc/neko/openbox.xml autorestart=true priority=300 -user=%(ENV_USER)s +user=neko stdout_logfile=/var/log/neko/openbox.log stdout_logfile_maxbytes=100MB stdout_logfile_backups=10 @@ -200,6 +204,17 @@ cat </etc/neko/neko.yaml server: bind: "0.0.0.0:8080" static: "/var/www" +session: + cookie: + enabled: false +webrtc: + icelite: true + nat1to1: + - "${LOCAL_IP}" + epr: "59000-59100" +desktop: + input: + enabled: false member: provider: "multiuser" multiuser: diff --git a/json/neko.json b/json/neko.json index 33228d92..28082811 100644 --- a/json/neko.json +++ b/json/neko.json @@ -28,12 +28,12 @@ } ], "default_credentials": { - "username": "admin", + "username": null, "password": "admin" }, "notes": [ { - "text": "Regular user password is 'neko'. Change both passwords in /etc/neko/neko.yaml after first login.", + "text": "Login is password-only: 'admin' for admin, 'neko' for regular user. Change both in /etc/neko/neko.yaml.", "type": "warning" }, {