Skip to content

Instantly share code, notes, and snippets.

@rdonovan
Last active July 12, 2019 09:56
Show Gist options
  • Save rdonovan/ca693d63a78bad13a342355d5a967f50 to your computer and use it in GitHub Desktop.
Save rdonovan/ca693d63a78bad13a342355d5a967f50 to your computer and use it in GitHub Desktop.
Firefox ForceFull installation
{"schema": 5,"addons": [{"id": "forcefull@shdon.com","icons": {"32": "https://addons.cdn.mozilla.net/user-media/addon_icons/879/879822-32.png?modified=1518726526","64": "https://addons.cdn.mozilla.net/user-media/addon_icons/879/879822-64.png?modified=1518726526","128": "https://addons.cdn.mozilla.net/user-media/addon_icons/879/879822-128.png?modified=1518726526"},"name": "ForceFull","version": "1.0.2","sourceURI": "https://addons.mozilla.org/firefox/downloads/file/775544/forcefull-1.0.2-an+fx-mac.xpi?src=","homepageURL": null,"supportURL": "https://www.shdon.com/software/plugins","description": "An extremely simple extension which maximises the Firefox window on program startup and switches to fullscreen mode.","fullDescription": "An extremely simple extension which maximises the Firefox window on program startup and switches to fullscreen mode. To exit full-screen mode simply press F11 or forgo switching to fullscreen mode by disabling or removing the extension.\n\nPlease note that this works only on program startup, not with every new window opened. Only the primary window will be switched to fullscreen mode, which may be an issue if you try to run multiple screens.","weeklyDownloads": 186,"type": "extension","creator": {"name": "Steven Don","url": "https://addons.mozilla.org/en-US/firefox/user/13394967/"},"developers": [],"screenshots": [],"contributionURL": "","averageRating": 4.1111,"reviewCount": 8,"reviewURL": "https://addons.mozilla.org/en-US/firefox/addon/forcefull/reviews/","updateDate": 1510842013000}],"compatOverrides": [{"id": "firebug@software.joehewitt.com","compatRanges": [{"type": "incompatible","minVersion": "0","maxVersion": "1.7.3","appID": "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","appMinVersion": "6.0a1","appMaxVersion": "*"}]}]}
[Desktop Entry]
Type=Application
Exec="/home/station/ff-first-boot-install.sh"
X-GNOME-Autostart-enabled=true
Name=Autostart Station
[Desktop Entry]
Type=Application
Exec="/home/station/scripts/open_station.sh"
X-GNOME-Autostart-enabled=true
Name=Open Station
{"schemaVersion": 28,"addons": [{"id": "forcefull@shdon.com","syncGUID": "{abb39cf6-eeb4-3e4c-a0e6-73dfda323c19}","version": "1.0.2","type": "extension","loader": null,"updateURL": null,"optionsURL": null,"optionsType": null,"optionsBrowserStyle": true,"aboutURL": null,"defaultLocale": {"name": "ForceFull","description": "Switch Firefox to fullscreen mode on start-up, for kiosk purposes","creator": null,"developers": null,"translators": null,"contributors": null},"visible": true,"active": true,"userDisabled": false,"appDisabled": false,"installDate": 1549317437000,"updateDate": 1549317437000,"applyBackgroundUpdates": 1,"path": "/home/tmb/.mozilla/tmb/extensions/forcefull@shdon.com.xpi","skinnable": false,"sourceURI": "https://addons.mozilla.org/firefox/downloads/file/775544/forcefull-1.0.2-an+fx-mac.xpi?src=dp-btn-primary","releaseNotesURI": null,"softDisabled": false,"foreignInstall": false,"strictCompatibility": true,"locales": [],"targetApplications": [{"id": "toolkit@mozilla.org","minVersion": null,"maxVersion": null}],"targetPlatforms": [],"signedState": 2,"seen": true,"dependencies": [],"userPermissions": {"permissions": [],"origins": []},"icons": {"48": "icon.png","96": "icon@2x.png"},"iconURL": null,"blocklistState": 0,"blocklistURL": null,"startupData": null,"hidden": false,"installTelemetryInfo": {"source": "amo","method": "amWebAPI"},"location": "app-profile"}]}
#!/bin/bash
(
echo "##################################"
echo "Prevent auto sleep, lock, etc."
echo "##################################"
gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'
gsettings set org.gnome.desktop.session idle-delay 0
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout '0'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout '0'
echo "##################################"
echo "Set desktop background"
echo "##################################"
wget -O /home/station/desktop-bg.png https://bootcamp.toughmudder.com/wp-content/uploads/2018/10/light@2x-1.png
gsettings set org.gnome.desktop.background picture-uri 'file:///home/station/desktop-bg.png'
gsettings set org.gnome.desktop.background primary-color '#000000'
gsettings set org.gnome.desktop.background picture-options 'centered'
echo "##################################"
echo "Hide the dock"
echo "##################################"
gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed false
gsettings set org.gnome.shell.extensions.dash-to-dock autohide true
gsettings set org.gnome.shell.extensions.dash-to-dock intellihide true
echo "##################################"
echo "Setup scripts"
echo "##################################"
mkdir -p /home/station/scripts
rm /home/station/scripts/install_profile.sh
wget -O /home/station/scripts/install_profile.sh https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/install_profile.sh
rm /home/station/scripts/set_homepage.sh
wget -O /home/station/scripts/set_homepage.sh https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/set_homepage.sh
rm /home/station/scripts/install_open_script.sh
wget -O /home/station/scripts/install_open_script.sh https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/install_open_script.sh
chmod +x /home/station/scripts/*.sh
echo "##################################"
echo "Run install_profile.sh"
echo "##################################"
/home/station/scripts/install_profile.sh
echo "##################################"
echo "Run set_homepage.sh"
echo "##################################"
/home/station/scripts/set_homepage.sh
echo "##################################"
echo "Run install_open_script.sh"
echo "##################################"
/home/station/scripts/install_open_script.sh
echo "##################################"
echo "Remove install script"
echo "##################################"
rm /home/station/.config/autostart/autorun-ff-first-boot-install.sh.desktop
echo "##################################"
echo "Launch station"
echo "##################################"
/home/station/scripts/open_station.sh
) | tee /home/station/ff-install.log
#!/bin/bash
echo "Installing FF open script and autostart"
mkdir -p /home/station/.config/autostart
rm /home/station/scripts/open_station.sh
wget -O /home/station/scripts/open_station.sh https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/open_station.sh
rm /home/station/scripts/autostart_open_station.sh
wget -O /home/station/scripts/autostart_open_station.sh https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/autostart_open_station.sh
rm /home/station/.config/autostart/autostart_open_station.sh.desktop
ln -s /home/station/scripts/autostart_open_station.sh /home/station/.config/autostart/autostart_open_station.sh.desktop
rm /home/station/Desktop/open_station.sh.desktop
ln -s /home/station/scripts/autostart_open_station.sh /home/station/Desktop/open_station.sh.desktop
chmod +x /home/station/.config/autostart/autostart_open_station.sh.desktop
chmod +x /home/station/Desktop/open_station.sh.desktop
chmod +x /home/station/scripts/open_station.sh
chmod +x /home/station/scripts/autostart_open_station.sh
#!/bin/bash
echo "Installing FF station profile and ForceFull addon"
rm -rf /home/station/.mozilla/station
firefox -CreateProfile "station /home/station/.mozilla/station" && mkdir -p /home/station/.mozilla/station/extensions
wget -O /home/station/.mozilla/station/extensions/forcefull@shdon.com.xpi https://addons.mozilla.org/firefox/downloads/file/775544/forcefull-1.0.2-an+fx-linux.xpi
wget -O /home/station/.mozilla/station/addons.json https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/addons.json
wget -O /home/station/.mozilla/station/extensions.json https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/extensions.json
#!/bin/bash
pkill -9 unclutter
pkill -9 firefox
rm -rf /home/station/.mozilla/station/sessionstore-backups
#wmctrl -a firefox; xdotool key Alt+F4
firefox -P station -no-remote -new-instance -foreground $TMB_SERVER_ROOTstations/$TMB_STATION
unclutter -idle 1 -root &
#!/bin/bash
(
echo === $date ===
source /etc/environment
echo "##################################"
echo "Perform update & upgrade"
echo "##################################"
sudo apt-get update -y && sudo apt-get upgrade -y
echo "##################################"
echo "Perform minimal desktop install"
echo "##################################"
sudo apt-get install -y --no-install-recommends ubuntu-desktop
echo "##################################"
echo "Install restricted extras"
echo "##################################"
sudo DEBIAN_FRONTEND=noninteractive apt-get -yq install ubuntu-restricted-extras
echo "##################################"
echo "Install firefox and kiosk extras"
echo "##################################"
sudo apt-get install -y firefox xdotool unclutter unzip wmctrl openssh-server
echo "##################################"
echo "Create station user"
echo "##################################"
sudo useradd -m -s /bin/bash -p \$6\$9ZGcnYRH\$2Qc18uRrC238WE9zE3p1sZNyhJL4lgvJGW5KNTxvg621pC0SyMXqcN9QTiD8JxdbfLkKKdN./PpgalSSHIiN1/ station
echo "##################################"
echo "Create tmb user"
echo "##################################"
sudo useradd -G adm,sudo,station -m -s /bin/bash -p \$6\$xCmuP9em\$WcV9dpf1h7FAaFSUdWYMzzb2nyv05pIrWCGqxS1agJebGy8loTrx9MNSi2lSrDj8B.kgvxEDdQpM5NpT7n8x.0 tmb
echo "##################################"
echo "Set auto login for station user"
echo "##################################"
sudo ex -s -c '17i|AutomaticLoginEnable = true' -c x /etc/gdm3/custom.conf
sudo ex -s -c '18i|AutomaticLogin = station' -c x /etc/gdm3/custom.conf
echo "##################################"
echo "Set hostname"
echo "##################################"
sudo hostnamectl set-hostname "$TMB_LOCATION-station-$TMB_STATION"
echo 127.0.0.1 "$TMB_LOCATION"-station-"$TMB_STATION" | sudo tee --append /etc/hosts
sudo sed -i 's/preserve_hostname: false/preserve_hostname: true/g' /etc/cloud/cloud.cfg
echo "##################################"
echo "Insert SSH Keys"
echo "##################################"
ssh-import-id bobbydonovan
sudo mkdir -p /home/tmb/.ssh
sudo mkdir -p /home/station/.ssh
sudo touch /home/tmb/.ssh/authorized_keys
sudo touch /home/station/.ssh/authorized_keys
cat ~/.ssh/authorized_keys | sudo tee --append /home/tmb/.ssh/authorized_keys
cat ~/.ssh/authorized_keys | sudo tee --append /home/station/.ssh/authorized_keys
sudo chown -R tmb /home/tmb/.ssh
sudo chown -R station /home/station/.ssh
echo "##################################"
echo "Allow passwordless reboot"
echo "##################################"
sudo touch /etc/sudoers.d/passwordless_reboot
echo "%station ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown" | sudo tee --append /etc/sudoers.d/passwordless_reboot
echo "##################################"
echo "Install station setup script"
echo "##################################"
sudo mkdir -p /home/station/.config/autostart
sudo wget -O /home/station/.config/autostart/autorun-ff-first-boot-install.sh.desktop https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/autorun-ff-first-boot-install.sh
sudo wget -O /home/station/ff-first-boot-install.sh https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/ff-first-boot-install.sh
sudo chmod +x /home/station/.config/autostart/autorun-ff-first-boot-install.sh.desktop
sudo chmod +x /home/station/ff-first-boot-install.sh
echo "##################################"
echo "Fix station permissions"
echo "##################################"
sudo chown -R station /home/station/
sudo reboot
) | tee ~/tmb-install.log
#!/bin/bash
echo "Setting FF homepage"
rm /home/station/.mozilla/station/user.js
touch /home/station/.mozilla/station/user.js
echo 'user_pref("browser.startup.homepage", "'$TMB_SERVER_ROOT'stations/'$TMB_STATION'");' >> /home/station/.mozilla/station/user.js
echo 'user_pref("startup.homepage_override_url", "'$TMB_SERVER_ROOT'stations/'$TMB_STATION'");' >> /home/station/.mozilla/station/user.js
echo 'user_pref("browser.startup.homepage_override.mstone", "ignore");' >> /home/station/.mozilla/station/user.js
echo 'user_pref("browser.sessionstore.resume_from_crash", "false");' >> /home/station/.mozilla/station/user.js
#!/bin/bash
(
echo "##################################"
echo "Set environment variables"
echo "##################################"
echo 'export TMB_STATION=1' | sudo tee --append /etc/environment
echo 'export TMB_SERVER_ROOT="http://10.0.0.101:3000/"' | sudo tee --append /etc/environment
echo 'export TMB_LOCATION="tmhq"' | sudo tee --append /etc/environment
source /etc/environment
echo $TMB_STATION
echo $TMB_SERVER_ROOT
echo $TMB_LOCATION
echo "##################################"
echo "Download and run OS install script"
echo "##################################"
rm ~/os-install.sh
wget -O ~/os-install.sh https://gist.githubusercontent.com/rdonovan/ca693d63a78bad13a342355d5a967f50/raw/os-installer.sh
chmod +x ~/os-install.sh
~/os-install.sh
) | tee ~/tmb-install.log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment