make kiosk optional; use firefox
This commit is contained in:
parent
c88b1e2187
commit
9672d0cb55
2 changed files with 32 additions and 32 deletions
|
@ -3,7 +3,7 @@ use serde::Deserialize;
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
#[serde(deny_unknown_fields)]
|
#[serde(deny_unknown_fields)]
|
||||||
pub struct Autostart {
|
pub struct Autostart {
|
||||||
pub kiosk: Kiosk
|
pub kiosk: Option<Kiosk>
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
|
|
|
@ -16,37 +16,37 @@ pub fn install_packages(img: &Image, setup: &Setup) -> anyhow::Result<()> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn install_autostart(img: &Image, setup: &Setup) -> anyhow::Result<()> {
|
pub fn install_autostart(img: &Image, setup: &Setup) -> anyhow::Result<()> {
|
||||||
// TODO make the kiosk optional maybe?
|
if let Some(kiosk) = &setup.autostart.kiosk {
|
||||||
let kiosk = &setup.autostart.kiosk;
|
eprintln!("Installing kiosk ...");
|
||||||
eprintln!("Installing kiosk ...");
|
run_chroot(img, "root", [
|
||||||
run_chroot(img, "root", [
|
"apk",
|
||||||
"apk",
|
"add",
|
||||||
"add",
|
"cage",
|
||||||
"cage",
|
"firefox",
|
||||||
"firefox-esr",
|
"font-noto",
|
||||||
"font-noto",
|
"mesa-dri-gallium",
|
||||||
"mesa-dri-gallium",
|
"polkit",
|
||||||
"polkit",
|
"polkit-elogind"
|
||||||
"polkit-elogind"
|
])?;
|
||||||
])?;
|
run_chroot(img, "root", [
|
||||||
run_chroot(img, "root", [
|
"sed",
|
||||||
"sed",
|
"-E",
|
||||||
"-E",
|
"-i",
|
||||||
"-i",
|
"-e",
|
||||||
"-e",
|
&format!("/tty1/s,agetty,agetty --autologin {},", kiosk.user),
|
||||||
&format!("/tty1/s,agetty,agetty --autologin {},", kiosk.user),
|
"/etc/inittab"
|
||||||
"/etc/inittab"
|
])?;
|
||||||
])?;
|
run_chroot(img, &kiosk.user, "[ -e ~/.profile ] || echo '#!/bin/busybox ash' >~/.profile")?;
|
||||||
run_chroot(img, &kiosk.user, "[ -e ~/.profile ] || echo '#!/bin/busybox ash' >~/.profile")?;
|
run_chroot(
|
||||||
run_chroot(
|
img,
|
||||||
img,
|
&kiosk.user,
|
||||||
&kiosk.user,
|
format!(
|
||||||
format!(
|
r#"echo 'if [ "$(tty)" == "/dev/tty1" ]; then dbus-run-session cage firefox --kiosk "{}"; fi' >>~/.profile"#,
|
||||||
r#"echo 'if [ "$(tty)" == "/dev/tty1" ]; then dbus-run-session cage firefox-esr --kiosk "{}"; fi' >>~/.profile"#,
|
kiosk.page
|
||||||
kiosk.page
|
)
|
||||||
)
|
.as_str()
|
||||||
.as_str()
|
)?;
|
||||||
)?;
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue