{"id":191,"date":"2025-07-27T11:44:08","date_gmt":"2025-07-27T08:44:08","guid":{"rendered":"https:\/\/www.kilpio.fi\/?p=191"},"modified":"2026-09-30T21:15:27","modified_gmt":"2026-09-30T18:15:27","slug":"kioskinayton-kaynnistys-webbikameran-avulla","status":"publish","type":"post","link":"https:\/\/www.kilpio.fi\/index.php\/2025\/07\/27\/kioskinayton-kaynnistys-webbikameran-avulla\/","title":{"rendered":"Kioskin\u00e4yt\u00f6n k\u00e4ynnistys webbikameran avulla"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Ohjaan Home Assistant -kodinohjausj\u00e4rjestelm\u00e4\u00e4 keitti\u00f6ss\u00e4 sijaitsevalla kosketusn\u00e4yt\u00f6llisell\u00e4 tietokoneella. Koneessa on Ubuntu 24.04 LTS, GNOME\/Wayland ja Chromium-selain kioskitilassa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Haluan n\u00e4yt\u00f6n olevan sammuksissa silloin, kun kukaan ei k\u00e4yt\u00e4 sit\u00e4. N\u00e4ytt\u00f6 pimenee GNOMEn normaalin idle-toiminnon avulla, ja webbikamera toimii liiketunnistimena: kun kamera havaitsee liikett\u00e4, j\u00e4rjestelm\u00e4\u00e4n l\u00e4hetet\u00e4\u00e4n virtuaalinen n\u00e4pp\u00e4inpainallus, joka her\u00e4tt\u00e4\u00e4 n\u00e4yt\u00f6n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"640\" src=\"https:\/\/www.kilpio.fi\/wp-content\/uploads\/2025\/07\/IMG_0393-rotated.jpg\" alt=\"\" class=\"wp-image-192\" style=\"width:335px;height:auto\" srcset=\"https:\/\/www.kilpio.fi\/wp-content\/uploads\/2025\/07\/IMG_0393-rotated.jpg 480w, https:\/\/www.kilpio.fi\/wp-content\/uploads\/2025\/07\/IMG_0393-225x300.jpg 225w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">N\u00e4yt\u00f6n pimennys<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>Esimerkiksi 30 minuutin joutok\u00e4yntiajan voi asettaa komennolla:\n\ngsettings set org.gnome.desktop.session idle-delay 1800<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Kioskikoneessa n\u00e4yt\u00f6n automaattinen lukitus kannattaa yleens\u00e4 poistaa k\u00e4yt\u00f6st\u00e4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gsettings set org.gnome.desktop.screensaver lock-enabled false<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4in n\u00e4ytt\u00f6 sammuu 30 minuutin kuluttua, mutta her\u00e4tess\u00e4\u00e4n palaa suoraan kioskin\u00e4kym\u00e4\u00e4n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Motion-liiketunnistus<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Asennetaan <code>motion<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install motion<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Konfiguraatio l\u00f6ytyy tiedostosta:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/motion\/motion.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Olennaiset asetukset ovat esimerkiksi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>daemon off\n\nvideo_device \/dev\/video0\n\nwidth 640\nheight 480\nframerate 15\n\nthreshold 1500\ndespeckle_filter EedDl\nminimum_motion_frames 1\nevent_gap 60\npre_capture 3\npost_capture 0\n\npicture_output off\nmovie_output off\n\non_event_start \/usr\/bin\/ydotool key 57:1 57:0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Kuvia tai videoita ei tarvitse tallentaa, koska kameraa k\u00e4ytet\u00e4\u00e4n t\u00e4ss\u00e4 vain liikkeen havaitsemiseen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>event_gap<\/code> ei m\u00e4\u00e4r\u00e4\u00e4 n\u00e4yt\u00f6n sammumisaikaa. N\u00e4yt\u00f6n pimennyksen hoitaa GNOME. Motionin teht\u00e4v\u00e4n\u00e4 on ainoastaan generoida n\u00e4pp\u00e4inpainallus, kun liikett\u00e4 havaitaan.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ydotool<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Waylandissa perinteinen <code>xdotool<\/code> ei ole sopiva t\u00e4h\u00e4n tarkoitukseen, joten k\u00e4yt\u00e4n <code>ydotool<\/code>:ia. Se generoi n\u00e4pp\u00e4in- ja hiiritapahtumia Linuxin <code>uinput<\/code>-rajapinnan kautta eik\u00e4 tarvitse X11:t\u00e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Asennus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install ydotool<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ydotool key<\/code> k\u00e4ytt\u00e4\u00e4 Linuxin input-keycodeja. V\u00e4lily\u00f6ntin\u00e4pp\u00e4imen eli <code>KEY_SPACE<\/code>:n keycode on 57:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep -w KEY_SPACE \/usr\/include\/linux\/input-event-codes.h<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tuloksena pit\u00e4isi n\u00e4ky\u00e4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#define KEY_SPACE        57<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4in ollen kokonainen v\u00e4lily\u00f6ntin\u00e4pp\u00e4imen painallus ja vapautus on:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ydotool key 57:1 57:0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">miss\u00e4:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>57:1<\/code> = v\u00e4lily\u00f6nti painetaan alas<\/li>\n\n\n\n<li><code>57:0<\/code> = v\u00e4lily\u00f6nti vapautetaan<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e4m\u00e4 on t\u00e4rke\u00e4 ero esimerkiksi X11:n keycodeihin n\u00e4hden. Aiemmin k\u00e4ytt\u00e4m\u00e4ni numero 65 oli X11:n v\u00e4lily\u00f6nnin keycode eik\u00e4 oikea arvo nykyiselle <code>ydotool<\/code>:lle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Motion-konfiguraatiossa k\u00e4yt\u00e4n siis:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>on_event_start \/usr\/bin\/ydotool key 57:1 57:0<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">ydotoold-palvelu ja k\u00e4ytt\u00f6oikeudet<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ydotool<\/code>-komento l\u00e4hett\u00e4\u00e4 tapahtumat <code>ydotoold<\/code>-daemonille Unix-socketin kautta. Daemon tarvitsee oikeuden k\u00e4ytt\u00e4\u00e4 <code>\/dev\/uinput<\/code>-laitetta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Motion-palvelu puolestaan ajetaan normaalisti omalla <code>motion<\/code>-k\u00e4ytt\u00e4j\u00e4ll\u00e4\u00e4n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl cat motion.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu 24.04 -j\u00e4rjestelm\u00e4ss\u00e4ni palvelu on:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=Motion detection video capture daemon\nDocumentation=man:motion(1)\n\n&#91;Service]\nType=simple\nUser=motion\nExecStart=\/usr\/bin\/motion\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Motionia ei siis tarvitse ajaa rootina.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sen sijaan <code>ydotoold<\/code> voidaan ajaa rootina ja antaa socketin k\u00e4ytt\u00f6oikeus erilliselle <code>ydotool<\/code>-ryhm\u00e4lle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Luodaan ryhm\u00e4 ja lis\u00e4t\u00e4\u00e4n siihen sek\u00e4 <code>motion<\/code>&#8211; ett\u00e4 <code>kioski<\/code>-k\u00e4ytt\u00e4j\u00e4t:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo groupadd -f ydotool\nsudo usermod -aG ydotool motion\nsudo usermod -aG ydotool kioski<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ryhm\u00e4n voi tarkistaa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>getent group ydotool<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esimerkiksi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ydotool:x:1002:motion,kioski<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Oma systemd-palveluni <code>\/etc\/systemd\/system\/ydotoold.service<\/code> on:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=Ydotool Daemon\nAfter=network.target\n\n&#91;Service]\nType=simple\nUser=root\nGroup=ydotool\nExecStart=\/usr\/bin\/ydotoold --socket-perm=0660\nRestart=on-failure\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Muutosten j\u00e4lkeen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload\nsudo systemctl enable --now ydotoold\nsudo systemctl restart motion<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Socketin oikeudet voi tarkistaa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -l \/tmp\/.ydotool_socket<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tavoitteena on:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>srw-rw---- 1 root ydotool ... \/tmp\/.ydotool_socket<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e4ll\u00f6in <code>motion<\/code>-k\u00e4ytt\u00e4j\u00e4 saa k\u00e4ytt\u00e4\u00e4 daemonia, mutta socket ei ole avoin kaikille j\u00e4rjestelm\u00e4n k\u00e4ytt\u00e4jille.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Toiminnan voi testata Motionin k\u00e4ytt\u00f6oikeuksilla:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -u motion ydotool key 57:1 57:0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jos n\u00e4ytt\u00f6 on sammuksissa, sen pit\u00e4isi her\u00e4t\u00e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ubuntu-p\u00e4ivityksen j\u00e4lkeen ilmennyt ydotoold-ongelma<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu-p\u00e4ivityksen j\u00e4lkeen j\u00e4rjestelm\u00e4ss\u00e4 oli samanaikaisesti kaksi <code>ydotoold<\/code>-prosessia:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kioski ... \/usr\/bin\/ydotoold\nroot   ... \/usr\/bin\/ydotoold --socket-perm=0660<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Kioskik\u00e4ytt\u00e4j\u00e4n prosessi tuli paketista l\u00f6ytyv\u00e4st\u00e4 k\u00e4ytt\u00e4j\u00e4kohtaisesta systemd-palvelusta:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/lib\/systemd\/user\/ydotool.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Palvelu oli otettu k\u00e4ytt\u00f6\u00f6n globaalisti kaikille k\u00e4ytt\u00e4jille, joten se k\u00e4ynnistyi automaattisesti <code>kioski<\/code>-k\u00e4ytt\u00e4j\u00e4n GNOME-istunnon mukana.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tilanteen pystyi n\u00e4kem\u00e4\u00e4n esimerkiksi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -u kioski XDG_RUNTIME_DIR=\/run\/user\/1000 \\\n    systemctl --user status ydotool.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Koska k\u00e4yt\u00e4n omaa system-tason <code>ydotoold.service<\/code>-palvelua, ylim\u00e4\u00e4r\u00e4inen user-service poistettiin globaalista autostartista:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl --global disable ydotool.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tarkistus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl --global is-enabled ydotool.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tuloksen pit\u00e4isi olla:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>disabled<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mahdollisesti jo k\u00e4ynniss\u00e4 oleva k\u00e4ytt\u00e4j\u00e4kohtainen palvelu voidaan pys\u00e4ytt\u00e4\u00e4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -u kioski XDG_RUNTIME_DIR=\/run\/user\/1000 \\\n    systemctl --user stop ydotool.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e4m\u00e4n j\u00e4lkeen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ps -eo user,pid,ppid,cmd | grep '&#91;y]dotoold'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">pit\u00e4isi n\u00e4ytt\u00e4\u00e4 vain system-tason daemon:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root ... \/usr\/bin\/ydotoold --socket-perm=0660<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e4m\u00e4 korjasi my\u00f6s tilanteen, jossa Motionin lokiin tuli:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>failed to connect socket `\/tmp\/.ydotool_socket': Permission denied<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Motion-palvelu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Motion aktivoidaan ja k\u00e4ynnistet\u00e4\u00e4n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now motion<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tilan voi tarkistaa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status motion<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Lokista voi tarkistaa, ett\u00e4 liiketapahtumat eiv\u00e4t aiheuta <code>ydotool<\/code>-virheit\u00e4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>journalctl -u motion -n 50 --no-pager<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jos Motionin ryhm\u00e4j\u00e4senyyksi\u00e4 tai <code>ydotoold<\/code>:n socket-oikeuksia muutetaan, Motion kannattaa k\u00e4ynnist\u00e4\u00e4 uudelleen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart motion<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Kioskik\u00e4ytt\u00e4j\u00e4n automaattinen kirjautuminen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kone kirjautuu automaattisesti k\u00e4ytt\u00e4j\u00e4n <code>kioski<\/code> GNOME-istuntoon.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tiedostossa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/gdm3\/custom.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">on:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;daemon]\nAutomaticLoginEnable=true\nAutomaticLogin=kioski<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Autologin on kioskikoneessa k\u00e4tev\u00e4, mutta sill\u00e4 on yksi sivuvaikutus: k\u00e4ytt\u00e4j\u00e4 ei anna kirjautumisen yhteydess\u00e4 salasanaa, joten GNOME Keyringi\u00e4 ei v\u00e4ltt\u00e4m\u00e4tt\u00e4 pystyt\u00e4 avaamaan automaattisesti kirjautumissalasanalla.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Chromium kioskitilassa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Firefox osoittautui GNOME\/Wayland-kioskik\u00e4yt\u00f6ss\u00e4 hankalaksi, joten selain on vaihdettu Chromiumiin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chromium k\u00e4ynnistyy k\u00e4ytt\u00e4j\u00e4n GNOME-istunnossa kioskitilaan esimerkiksi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/snap\/bin\/chromium \\\n    --kiosk \\\n    --no-first-run \\\n    --disable-infobars \\\n    --disable-session-crashed-bubble \\\n    --disable-features=TranslateUI \\\n    --enable-features=UseOzonePlatform \\\n    --ozone-platform=wayland \\\n    --force-device-scale-factor=0.95 \\\n    http:&#47;&#47;homeassistant.lan.ld:8123<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">K\u00e4ynnistys voidaan tehd\u00e4 esimerkiksi k\u00e4ytt\u00e4j\u00e4n autostart-<code>.desktop<\/code>-tiedostosta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Chromium Snap ja GNOME Keyring<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu-p\u00e4ivityksen j\u00e4lkeen Chromium alkoi k\u00e4ynnistyess\u00e4\u00e4n n\u00e4ytt\u00e4\u00e4 ilmoituksen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Authentication required\n\nEnter password to unlock your login keyring\nThe password you use to log in to your computer no longer matches\nthat of your login keyring.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Kioskin\u00e4ytt\u00f6 toimi normaalisti, kun kysely peruttiin, mutta sama kysely tuli jokaisen rebootin j\u00e4lkeen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Syyksi osoittautui yhdistelm\u00e4:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GDM:n automaattinen kirjautuminen<\/li>\n\n\n\n<li>GNOME Keyring<\/li>\n\n\n\n<li>Chromium Snapin <code>password-manager-service<\/code>-liit\u00e4nt\u00e4<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tilanteen voi tarkistaa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>snap connections chromium | grep password<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Minulla tulos oli:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>password-manager-service  chromium:password-manager-service  :password-manager-service  manual<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e4ll\u00f6in Chromiumilla on yhteys GNOME Keyringiin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Koska t\u00e4ll\u00e4 kioskikoneella Chromiumiin ei ole tarvetta tallentaa salasanoja GNOME Keyringin avulla, yhteyden voi katkaista:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo snap disconnect chromium:password-manager-service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e4m\u00e4n j\u00e4lkeen tarkistus n\u00e4ytt\u00e4\u00e4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>password-manager-service  chromium:password-manager-service  -  -<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Rebootin j\u00e4lkeen Chromium ei en\u00e4\u00e4 yrit\u00e4 avata GNOME Keyringi\u00e4 eik\u00e4 salasanakysely\u00e4 tule.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tarvittaessa liit\u00e4nn\u00e4n saa takaisin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo snap connect chromium:password-manager-service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Huomio: ilman GNOME Keyringi\u00e4 Chromium ei tarjoa samaa suojattua paikallista salasanas\u00e4ilytyst\u00e4. Kioskikoneessa selaimeen ei siksi kannata tallentaa k\u00e4ytt\u00e4j\u00e4tunnuksia tai salasanoja.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kokonaisuus<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Toimintaketju on siis:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>GDM kirjautuu automaattisesti <code>kioski<\/code>-k\u00e4ytt\u00e4j\u00e4n\u00e4.<\/li>\n\n\n\n<li>Chromium k\u00e4ynnistyy Home Assistant -sivulle kioskitilassa.<\/li>\n\n\n\n<li>GNOME sammuttaa n\u00e4yt\u00f6n 30 minuutin k\u00e4ytt\u00e4m\u00e4tt\u00f6myyden j\u00e4lkeen.<\/li>\n\n\n\n<li>Motion tarkkailee webbikameran kuvaa.<\/li>\n\n\n\n<li>Kun kamera havaitsee liikett\u00e4, Motion suorittaa:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/bin\/ydotool key 57:1 57:0<\/code><\/pre>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li><code>ydotool<\/code> l\u00e4hett\u00e4\u00e4 n\u00e4pp\u00e4intapahtuman rootina toimivalle <code>ydotoold<\/code>-daemonille.<\/li>\n\n\n\n<li><code>\/tmp\/.ydotool_socket<\/code> kuuluu ryhm\u00e4lle <code>ydotool<\/code>, johon my\u00f6s <code>motion<\/code> kuuluu.<\/li>\n\n\n\n<li>Virtuaalinen v\u00e4lily\u00f6ntin\u00e4pp\u00e4imen painallus her\u00e4tt\u00e4\u00e4 GNOMEn sammuttaman n\u00e4yt\u00f6n.<\/li>\n\n\n\n<li>Chromiumin Snap-paketin <code>password-manager-service<\/code> on irrotettu, jotta autologin ei aiheuta GNOME Keyring -salasanakysely\u00e4.<\/li>\n\n\n\n<li>Paketista tuleva k\u00e4ytt\u00e4j\u00e4kohtainen <code>ydotool.service<\/code> on poistettu globaalista autostartista, jotta koneella ei k\u00e4ynnisty kahta kesken\u00e4\u00e4n kilpailevaa <code>ydotoold<\/code>-daemonia.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ohjaan Home Assistant -kodinohjausj\u00e4rjestelm\u00e4\u00e4 keitti\u00f6ss\u00e4 sijaitsevalla kosketusn\u00e4yt\u00f6llisell\u00e4 tietokoneella. Koneessa on Ubuntu 24.04 LTS, GNOME\/Wayland ja Chromium-selain kioskitilassa. Haluan n\u00e4yt\u00f6n olevan sammuksissa silloin, kun kukaan ei k\u00e4yt\u00e4 sit\u00e4. N\u00e4ytt\u00f6 pimenee GNOMEn normaalin idle-toiminnon avulla, ja webbikamera toimii liiketunnistimena: kun kamera havaitsee liikett\u00e4, j\u00e4rjestelm\u00e4\u00e4n l\u00e4hetet\u00e4\u00e4n virtuaalinen n\u00e4pp\u00e4inpainallus, joka her\u00e4tt\u00e4\u00e4 n\u00e4yt\u00f6n. N\u00e4yt\u00f6n pimennys Kioskikoneessa n\u00e4yt\u00f6n automaattinen lukitus kannattaa &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.kilpio.fi\/index.php\/2025\/07\/27\/kioskinayton-kaynnistys-webbikameran-avulla\/\">Jatka lukemista<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,19],"tags":[18,17,16],"class_list":["post-191","post","type-post","status-publish","format-standard","hentry","category-home-assistant","category-ubuntu","tag-kioski","tag-motion","tag-ydotool","item-wrap"],"_links":{"self":[{"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/posts\/191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/comments?post=191"}],"version-history":[{"count":6,"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/posts\/191\/revisions"}],"predecessor-version":[{"id":302,"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/posts\/191\/revisions\/302"}],"wp:attachment":[{"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/media?parent=191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/categories?post=191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kilpio.fi\/index.php\/wp-json\/wp\/v2\/tags?post=191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}