└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Prepping an Ubuntu Machine to Run an Art Installation 24/7 2 | 3 | The following document was tested on an Ubuntu 16.04 LTS install. Your mileage on other distros and versions may vary. This document is inspired by Blair Neal's (@laserpilot) [*Installation up 4evr*](https://github.com/laserpilot/Installation_Up_4evr) guide. 4 | 5 | 1. Create autolaunch/relaunch scripts 6 | 2. Make these scripts run at startup with Startup Applications 7 | 3. Install root cronjob to reboot the machine daily 8 | 4. Set the time to the correct timezone for installation location 9 | 5. Configure autologin in user settings 10 | 6. Disable screen lock and snooze 11 | 7. Disable automatic software updates 12 | 8. Disable notifications with NoNotifications 13 | 9. Install TeamViewer for remote monitoring and access 14 | 10. Protect your personal privacy 15 | 16 | ## 1. Autolaunch/relaunch scripts 17 | 18 | Its helpful to have scripts that manage the launching and upkeep of all installation related applications and services. For an example of such a `start_installation.sh` BASH script, see [here](https://gist.github.com/brannondorsey/b2f698283880061e4c935180c87aebd7). 19 | 20 | **Note:** you can kill that process with Ctrl-c or, if it was launched as a daemon, `kill $(pgrep -f bash start_installation.sh)`. 21 | 22 | ## 2. Run on boot with Startup Applications 23 | 24 | Click the spotlight and search "Startup Applications". Create an `on_startup.sh` script like the one below and add it as a startup item: 25 | 26 | ```bash 27 | #!/bin/bash 28 | 29 | # Apps sun from Startup Applications may not always have its PATH 30 | # set as you would expect. If you need access to certain commands, 31 | # add their paths manually like so. 32 | export PATH=$PATH:/home/art/.nvm/versions/node/v6.11.2/bin 33 | 34 | cd /path/to/start/installation/parent/folder 35 | bash start_installation.sh # > /home/$USER/Desktop/startup.log 2>&1 # optionally log to Desktop 36 | ``` 37 | 38 | ## 3. Install root cronjob to reboot daily 39 | 40 | Open a root crontab with: 41 | 42 | ```bash 43 | sudo crontab -e 44 | ``` 45 | 46 | This crontab reboots the machine daily at 3AM. To generate your own crontab, you can use http://crontab.guru. 47 | 48 | ``` 49 | # reboot at 3 AM each day 50 | 0 3 * * * /sbin/shutdown -r now 51 | ``` 52 | 53 | Save the crontab and exit. 54 | 55 | ## 4. Set the correct time 56 | 57 | System Settings > Time & Date 58 | 59 | ## 5. Configure autologin in user settings 60 | 61 | System Settings > User Accounts > YOUR_USER. Click the unlock icon on the top right and enter your password. 62 | 63 | - Automatic Login: On 64 | 65 | ## 6. Disable screen lock and snooze 66 | 67 | System Settings > Brightness & Lock 68 | 69 | - Turn screen off when inactive for: Never 70 | - Lock: Off 71 | - Require my password when waking from suspend: Uncheck 72 | 73 | System Settings > Power 74 | 75 | - Suspend when inactive for: Don't suspend 76 | 77 | System Settings > Security & Privacy > Security 78 | 79 | Require my password when: 80 | 81 | - Waking from suspend: Uncheck 82 | - Returning from blank screen: Uncheck 83 | 84 | ## 7. Disable automatic software updates 85 | 86 | System Settings > Software & Updates > Updates 87 | 88 | - Automatically check for updates: Never 89 | - When there are other updates: Display every two weeks 90 | - Notify me of a new Ubuntu version: Never 91 | 92 | ## 8. Disable notifications with NoNotifications 93 | 94 | ``` 95 | sudo add-apt-repository ppa:vlijm/nonotifs 96 | sudo apt-get update 97 | sudo apt-get install nonotifs 98 | ``` 99 | 100 | Open NoNotifications using the spotlight search bar. You should see a small green icon appear on the top right menu bar. Click the icon and select "Don't disturb". Next select preferences and check "Run on startup". 101 | 102 | ## 9. Install TeamViewer for remote monitoring and access 103 | 104 | Download and install TeamViewer for Ubuntu/Debian Linux. Add the machine to your contacts list but **do not** stay signed in (otherwise anyone with access to the machine can login to all of your computers). Enable "Easy Access" for your contact. 105 | 106 | ## 10. Protect your personal privacy 107 | 108 | ### Browser Login Sessions and History 109 | 110 | The exact method for doing this depends on the browser, but usually there is a history tab in the nav bar. Be sure to delete all history from the beginning of time, including: 111 | 112 | - Browsing and download history 113 | - Forms and search history 114 | - Cookies 115 | - Cache 116 | - Active Logins 117 | 118 | ### Ubuntu App Usage 119 | 120 | System Settings > Security & Privacy > Files & Applications 121 | 122 | - Record file and application usage: Off 123 | 124 | On this screen: Clear Usage Data > From all time > OK 125 | 126 | Optionally you may also disable sending Canonical telemtry data with: 127 | 128 | System Settings > Security & Privacy > Diagnostics 129 | 130 | - Send error reports to Canonical: Uncheck 131 | - Send Occasional system information to Canonical 132 | --------------------------------------------------------------------------------