| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #!/bin/bash
- # Function to check if running as root
- check_root() {
- if [ "$(id -u)" -ne 0; then
- echo "Please run this script as root."
- echo "To switch to root, use: su"
- echo "Then navigate to the home directory and clone the repository:"
- echo "cd ~"
- echo "git clone https://git.teleco.ch/crt/basic-kiosk.git/"
- echo "Run this script again using: bash basic-kiosk/lazy-installer.sh"
- exit 1
- fi
- }
- # Function to check if /sbin paths are in root's bash profile
- check_sbin_paths() {
- if ! grep -q '/sbin' ~/.bashrc; then
- echo 'export PATH=$PATH:/sbin:/usr/sbin' >> ~/.bashrc
- echo 'export PATH=$PATH:/sbin:/usr/sbin' >> ~/.profile
- echo "Added /sbin paths to root's bash profile."
- fi
- export PATH=$PATH:/sbin:/usr/sbin
- }
- # Function to install basic packages
- install_basics() {
- apt update && apt upgrade -y
- apt install sudo dialog git htop tmux screen screenfetch -y
- }
- # Function to check if kiosk user exists, if not create it
- check_kiosk_user() {
- if ! id -u kiosk > /dev/null 2>&1; then
- read -p "Enter password for kiosk user: " kiosk_password
- useradd -m -s /bin/bash kiosk
- echo "kiosk:$kiosk_password" | chpasswd
- echo "Created kiosk user."
- fi
- if ! groups kiosk | grep -q "\bsudo\b"; then
- usermod -aG sudo kiosk
- echo "Added kiosk user to sudo group."
- fi
- }
- # Function to clone the repository for root user
- clone_repo_for_root() {
- if [ ! -d ~/basic-kiosk ]; then
- echo "Cloning the repository to the home directory..."
- if ! git clone https://git.teleco.ch/crt/basic-kiosk.git/ ~/basic-kiosk; then
- read -p "Git clone failed. Do you want to try copying the folder instead? (y/n): " choice
- if [ "$choice" = "y" ]; then
- cp -r "$(dirname "$0")" ~/basic-kiosk
- echo "Copied the folder to the home directory."
- else
- echo "Please clone the repository manually and run the script again."
- exit 1
- fi
- fi
- fi
- }
- # Function to clone the repository for kiosk user
- clone_repo_for_kiosk() {
- if ! sudo -u kiosk bash -c "[ -d ~/basic-kiosk ]"; then
- echo "Cloning the repository to the kiosk user's home directory..."
- if ! sudo -u kiosk bash -c "git clone https://git.teleco.ch/crt/basic-kiosk.git/ ~/basic-kiosk"; then
- read -p "Git clone failed. Do you want to try copying the folder instead? (y/n): " choice
- if [ "$choice" = "y" ]; then
- sudo -u kiosk bash -c "cp -r $(dirname "$0") ~/basic-kiosk"
- sudo chown -R kiosk:kiosk /home/kiosk/basic-kiosk
- echo "Copied the folder to the kiosk user's home directory."
- else
- echo "Please clone the repository manually and run the script again."
- exit 1
- fi
- fi
- fi
- }
- # Function to run the installer as kiosk user
- run_installer_as_kiosk() {
- sudo -u kiosk bash -c "cd ~/basic-kiosk && bash installer.sh"
- }
- # Main script execution
- check_root
- check_sbin_paths
- clone_repo_for_root
- install_basics
- check_kiosk_user
- clone_repo_for_kiosk
- run_installer_as_kiosk
|