Skip to content
Snippets Groups Projects
Commit d0b5e4fc authored by Florent Gluck's avatar Florent Gluck
Browse files

Completed new live_exam_os iso generation:

- power button now works on host OS
- brightness set to 100%
- disabled screen blanking
- updated to latest nexus-exam with authentication
parent 6091057b
No related branches found
No related tags found
No related merge requests found
Showing
with 96 additions and 28 deletions
......@@ -19,16 +19,23 @@ ADD ${config_dir}/packages.list.chroot config/package-lists/
ADD ${config_dir}/removepkg.hook.chroot config/hooks/live/
## add swiss-french keyboard config
ADD ${config_dir}/keyboard config/includes.chroot/etc/default/
ADD ${config_dir}/keyboard/keyboard config/includes.chroot/etc/default/
## run "nexus-exam" as soon as user logs in
ADD ${config_dir}/nexus-exam config/includes.chroot/usr/local/bin/
ADD ${config_dir}/nexus-exam.desktop config/includes.chroot/etc/xdg/autostart/
RUN mkdir config/includes.chroot/etc/skel/
# ADD ${config_dir}/Xsession config/includes.chroot/etc/X11/Xsession.d/99x-user_session
ADD ${config_dir}/Xsession config/includes.chroot/etc/skel/.xsessionrc
#RUN echo "export NEXUS_SERVER=${server_ip}\nexport NEXUS_CERT=/etc/ssl/certs/nexus-server.pem\n" >> config/includes.chroot/etc/skel/.xsessionrc
## run various screen settings as soon as user logs in
ADD ${config_dir}/screen/screen_settings.sh config/includes.chroot/usr/local/bin/
ADD ${config_dir}/screen/screen_settings.desktop config/includes.chroot/etc/xdg/autostart/
## systemd service to set various screen settings (does not work - not sure why)
# ADD ${config_dir}/systemd/screen_settings.sh config/includes.chroot/usr/local/bin/
# RUN chmod +x config/includes.chroot/usr/local/bin/screen_settings.sh
# ADD ${config_dir}/systemd/screen_settings.service config/includes.chroot/etc/systemd/system/
# RUN mkdir config/includes.chroot/etc/skel/
# RUN echo "export NEXUS_SERVER=${server_ip}\nexport NEXUS_CERT=/etc/ssl/certs/nexus-server.pem\n" >> config/includes.chroot/etc/skel/.xsessionrc
## customize xfce4 desktop
ADD ${config_dir}/xubuntu-development.png config/includes.chroot/usr/share/xfce4/backdrops/xubuntu-development.png
......@@ -39,24 +46,23 @@ ADD ${config_dir}/xfce/xfce4-power-manager.xml config/includes.chroot/etc/xdg/xf
ADD ${config_dir}/xfce/xfwm4.xml config/includes.chroot/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/
# syslinux (bios) cfg
ADD ${config_dir}/isolinux.cfg config/includes.binary/isolinux/isolinux.cfg
ADD ${config_dir}/isolinux_splash.png config/includes.binary/isolinux/splash.png
ADD ${config_dir}/bootloader/isolinux.cfg config/includes.binary/isolinux/isolinux.cfg
ADD ${config_dir}/bootloader/isolinux_splash.png config/includes.binary/isolinux/splash.png
# grub (uefi) cfg
ADD ${config_dir}/grub_splash.png config/includes.binary/boot/grub/splash.png
ADD ${config_dir}/grub_config.cfg config/includes.binary/boot/grub/config.cfg
ADD ${config_dir}/isolinux_menu.cfg config/includes.binary/isolinux/menu.cfg
ADD ${config_dir}/isolinux_stdmenu.cfg config/includes.binary/isolinux/stdmenu.cfg
ADD ${config_dir}/bootloader/grub_splash.png config/includes.binary/boot/grub/splash.png
ADD ${config_dir}/bootloader/grub_config.cfg config/includes.binary/boot/grub/config.cfg
ADD ${config_dir}/bootloader/isolinux_menu.cfg config/includes.binary/isolinux/menu.cfg
ADD ${config_dir}/bootloader/isolinux_stdmenu.cfg config/includes.binary/isolinux/stdmenu.cfg
# server pub cert to be installed (system wide)
#ADD ${config_dir}/${nexus_cert} config/includes.chroot/usr/share/ca-certificates/nexus-server/nexus-server.crt
# script hook ran at boot time (install system wide cert and firewall)
ADD ${config_dir}/live-exam-hook config/includes.chroot/lib/live/config/9999-custom
# update server destination from docker's variable (all others IP are banned)
RUN echo "firewall ${server_ip} ${server_port}\n" >> config/includes.chroot/lib/live/config/9999-custom
# firewall hook ran at boot time
ADD ${config_dir}/boot_hooks/firewall config/includes.chroot/lib/live/config/9999-firewall
RUN echo "firewall ${server_ip} ${server_port}\n" >> config/includes.chroot/lib/live/config/9999-firewall
# install wifi template
ADD ${config_dir}/WIFI.nmconnection config/includes.chroot/etc/NetworkManager/system-connections/
ADD ${config_dir}/wifi/WIFI.nmconnection config/includes.chroot/etc/NetworkManager/system-connections/
RUN chmod 0600 config/includes.chroot/etc/NetworkManager/system-connections/WIFI.nmconnection
# script hook to set password for nexus user (pwd is "pipo")
......
......@@ -10,25 +10,14 @@
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.
# add_nexus_certs ()
# {
# if [ ! -e /etc/ssl/certs/nexus-server.pem ] && [ -e /usr/share/ca-certificates/nexus-server/nexus-server.crt ]
# then
# echo "nexus-server/nexus-server.crt" >> /etc/ca-certificates.conf
# update-ca-certificates
# fi
# }
firewall ()
# Unused for now
add_nexus_certs ()
{
ufw default deny incoming
ufw default deny outgoing
ufw allow out from any to $1 port 80
ufw allow out from any to $1 port 443
ufw allow out from any to $1 port $2
ufw allow out from any to $1 port 1025:65535 proto tcp
ufw allow out from any to $1 port 1025:65535 proto udp
ufw enable
if [ ! -e /etc/ssl/certs/nexus-server.pem ] && [ -e /usr/share/ca-certificates/nexus-server/nexus-server.crt ]
then
echo "nexus-server/nexus-server.crt" >> /etc/ca-certificates.conf
update-ca-certificates
fi
}
# add_nexus_certs
\ No newline at end of file
add_nexus_certs
\ No newline at end of file
#!/bin/sh
. /lib/live/config.sh
firewall ()
{
ufw default deny incoming
ufw default deny outgoing
ufw allow out from any to $1 port 80
ufw allow out from any to $1 port 443
ufw allow out from any to $1 port $2
ufw allow out from any to $1 port 1025:65535 proto tcp
ufw allow out from any to $1 port 1025:65535 proto udp
ufw enable
}
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="ch"
XKBVARIANT="fr"
XKBOPTIONS=""
BACKSPACE="guess"
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=screen settings
Comment=
Exec=bash /usr/local/bin/screen_settings.sh
OnlyShowIn=XFCE;
RunHook=0
StartupNotify=false
Terminal=true
Hidden=false
#!/bin/bash
# Set brightness at 100%
screen=`xrandr -q|grep ' connected'|head -n1|cut -d ' ' -f1`
xrandr --output $screen --brightness 0.5
xrandr --output $screen --brightness 1
# Disable screen blanking
xset s off
[Unit]
Description=Screen settings
After=display-manager.service
Requires=display-manager.service
[Service]
Type=oneshot
ExecStart=/usr/local/bin/screen_settings.sh
[Install]
WantedBy=default.target
#!/bin/bash
# Set brightness at 100%
screen=`xrandr -q|grep ' connected'|head -n1|cut -d ' ' -f1`
xrandr --output $screen --brightness 1
# Disable screen blanking
xset s off
......@@ -2,7 +2,7 @@
<channel name="xfce4-power-manager" version="1.0">
<property name="xfce4-power-manager" type="empty">
<property name="power-button-action" type="empty"/>
<property name="power-button-action" type="uint" value="3"/>
<property name="dpms-enabled" type="bool" value="false"/>
</property>
</channel>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment