Update rebuilt-machine.sh

large improvements to rebuilt machine script built for Ubuntu-Based Desktop machines.
This commit is contained in:
crowetic 2025-03-23 07:22:14 -07:00 committed by GitHub
parent 6bec051b99
commit 7822bafe66
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,73 +1,82 @@
#!/bin/sh #!/bin/bash
# Regular Colors # Regular Colors
BLACK='\033[0;30m' # Black BLACK='\033[0;30m'
RED='\033[0;31m' # Red RED='\033[0;31m'
GREEN='\033[0;32m' # Green GREEN='\033[0;32m'
YELLOW='\033[0;33m' # Yellow YELLOW='\033[0;33m'
BLUE='\033[0;34m' # Blue BLUE='\033[0;34m'
PURPLE='\033[0;35m' # Purple PURPLE='\033[0;35m'
CYAN='\033[0;36m' # Cyan CYAN='\033[0;36m'
WHITE='\033[0;37m' # White WHITE='\033[0;37m'
NC='\033[0m' # No Color NC='\033[0m'
echo "${YELLOW} UPDATING UBUNTU AND INSTALLING REQUIRED SOFTWARE PACKAGES ${NC}\n" username=$(whoami)
echo -e "${YELLOW} UPDATING UBUNTU AND INSTALLING REQUIRED SOFTWARE PACKAGES ${NC}\n"
sudo apt update sudo apt update
# TODO - check if the system is ubuntu, if so then remove the bullshit ubuntu-advantage-tools, then re-install gnome-software - for now, just purge it and install gnome-software assuming it's an ubuntu-compatible distro.
sudo apt -y --purge remove ubuntu-advantage-tools ubuntu-pro-client* sudo apt -y --purge remove ubuntu-advantage-tools ubuntu-pro-client*
sudo apt -y upgrade sudo apt -y upgrade
sudo apt -y install gnome-software unzip vim curl openjdk-21-jre zlib1g-dev vlc chromium-browser p7zip-full libfuse2 htop net-tools bpytop ffmpeg sysbench smartmontools ksnip xsensors fonts-symbola lm-sensors cinnamon-desktop-environment sudo apt -y install git jq tela-icon-theme gnome-software unzip vim curl openjdk-21-jre zlib1g-dev vlc chromium-browser p7zip-full libfuse2 htop net-tools bpytop ffmpeg sysbench smartmontools ksnip xsensors fonts-symbola lm-sensors cinnamon-desktop-environment
echo "${YELLOW} DOWNLOADING QORTAL CORE AND QORT SCRIPT ${NC}\n" ### SET DEFAULT SESSION TO CINNAMON ###
echo -e "${YELLOW} SETTING CINNAMON AS DEFAULT DESKTOP SESSION ${NC}\n"
# Works for most LightDM or .xsession-compatible setups
echo "cinnamon" > ~/.xsession
chmod +x ~/.xsession
# Optional fallback for LightDM users
cat > ~/.dmrc <<EOL
[Desktop]
Session=cinnamon
EOL
echo -e "${GREEN} Cinnamon session has been set as default! ${NC}\n"
### DOWNLOAD & INSTALL QORTAL CORE ###
echo -e "${YELLOW} DOWNLOADING QORTAL CORE AND QORT SCRIPT ${NC}\n"
cd ~
mkdir -p backups
cd
if [ -d qortal ]; then if [ -d qortal ]; then
echo "${PURPLE} qortal DIRECTORY FOUND, BACKING UP ORIGINAL TO '~/backups' AND RE-INSTALLING ${NC}\n" echo -e "${PURPLE} qortal DIRECTORY FOUND, BACKING UP ORIGINAL TO '~/backups' AND RE-INSTALLING ${NC}\n"
mkdir -p backups mv qortal backups/qortal-$(date +%s)
mv qortal backups/
fi fi
curl -L -O https://github.com/Qortal/qortal/releases/latest/download/qortal.zip curl -L -O https://github.com/Qortal/qortal/releases/latest/download/qortal.zip
unzip qortal*.zip unzip qortal*.zip
rm qortal*.zip rm qortal*.zip
cd qortal cd qortal
rm settings.json rm -f settings.json
curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/settings.json curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/settings.json
chmod +x *.sh
curl -L -O https://raw.githubusercontent.com/Qortal/qortal/master/tools/qort curl -L -O https://raw.githubusercontent.com/Qortal/qortal/master/tools/qort
chmod +x qort chmod +x *.sh qort
cd cd ~
if [ -f qortal/Qortal-UI ]; then
echo "${PURPLE} PREVIOUS Qortal-UI FOUND, BACKING UP ORIGINAL TO '~/backups/' AND RE-INSTALLING ${NC}\n"
mv qortal/Qortal-UI ~/backups/
fi
### INSTALL QORTAL UI & HUB ###
cd qortal cd qortal
if [ "$(uname -m)" = "aarch64" ]; then if [ "$(uname -m)" = "aarch64" ]; then
echo "ARM 64-bit detected" echo "${GREEN} ARM 64-bit detected. Downloading ARM64 Qortal Hub and UI ${NC}"
echo "Downloading 64bit arm-based UI and Qortal Hub"
curl -L -O https://github.com/Qortal/Qortal-Hub/releases/download/v0.5.3/Qortal-Hub-arm64_0.5.3.AppImage curl -L -O https://github.com/Qortal/Qortal-Hub/releases/download/v0.5.3/Qortal-Hub-arm64_0.5.3.AppImage
curl -L -O https://github.com/Qortal/qortal-ui/releases/download/v4.6.1/Qortal-Setup-arm64.AppImage curl -L -O https://github.com/Qortal/qortal-ui/releases/download/v4.6.1/Qortal-Setup-arm64.AppImage
chmod +x *.AppImage
mv Qortal-Hub-arm64* Qortal-Hub mv Qortal-Hub-arm64* Qortal-Hub
mv Qortal-Setup-arm64* Qortal-UI mv Qortal-Setup-arm64* Qortal-UI
else
curl -L -O https://github.com/Qortal/Qortal-Hub/releases/download/v0.5.3/Qortal-Hub_0.5.3.AppImage
curl -L -O https://github.com/Qortal/qortal-ui/releases/latest/download/Qortal-Setup-amd64.AppImage
mv Qortal-Hub* Qortal-Hub
mv Qortal-Setup* Qortal-UI
fi fi
curl -L -O https://github.com/Qortal/Qortal-Hub/releases/download/v0.5.3/Qortal-Hub_0.5.3.AppImage chmod +x Qortal-UI Qortal-Hub
curl -L -O https://github.com/Qortal/qortal-ui/releases/latest/download/Qortal-Setup-amd64.AppImage
mv Qortal-Setup*.AppImage Qortal-UI
mv Qortal-Hub*.AppImage Qortal-Hub
chmod +x Qortal-UI
chmod +x Qortal-Hub
echo "${YELLOW} DOWNLOADING PICTURE FILES AND OTHER SCRIPTS ${NC}\n" ### DOWNLOAD EXTRA FILES ###
cd ~
cd
#curl -L -O https://cloud.qortal.org/s/t4Fy8Lp4kQYiYZN/download/Machine-files.zip
curl -L -O https://cloud.qortal.org/s/machine_files/download curl -L -O https://cloud.qortal.org/s/machine_files/download
curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/refresh-qortal.sh curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/refresh-qortal.sh
curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/auto-fix-qortal.sh curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/auto-fix-qortal.sh
@ -76,28 +85,67 @@ curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/sta
curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/start-qortal-core.sh curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/start-qortal-core.sh
chmod +x *.sh chmod +x *.sh
unzip download unzip download
rsync -raPz Machine-files/* ${HOME} rsync -raPz Machine-files/* ${HOME}
rm -rf Machine-files download rm -rf Machine-files download
echo "${YELLOW} FINISHING UP ${NC}\n" ### CINNAMON DETECTION & THEMING ###
if [ "$XDG_CURRENT_DESKTOP" = "X-Cinnamon" ] || [ -d "/usr/share/cinnamon" ]; then
echo -e "${YELLOW} CINNAMON DETECTED - INSTALLING WINDOWS 10 THEMES ${NC}\n"
username=$(whoami) mkdir -p ${HOME}/.themes
echo "@reboot sleep 399 && ./auto-fix-qortal.sh > \"/home/${username}/qortal/auto-fix-startup.log\" 2>&1" >> "rebuilt-machine-cron" git clone https://github.com/B00merang-Project/Windows-10.git ~/.themes/Windows-10
echo "@reboot ./start-qortal-core.sh" >> "rebuilt-machine-cron" git clone https://github.com/B00merang-Project/Windows-10-Dark.git ~/.themes/Windows-10-Dark
echo "1 1 */3 * * /home/$(whoami)/auto-fix-qortal.sh > \"/home/${username}/qortal/auto-fix-01.log\" 2>&1" >> "rebuilt-machine-cron"
chmod +x *.sh echo -e "${YELLOW} APPLYING CINNAMON THEMES TO MATCH WINDOWS 10 ${NC}\n"
gsettings set org.cinnamon.desktop.wm.preferences theme "Windows-10-Dark"
gsettings set org.cinnamon.desktop.interface gtk-theme "Windows-10-Basic"
gsettings set org.cinnamon.theme name "Windows-10"
gsettings set org.cinnamon.desktop.background picture-uri "file://${HOME}/Pictures/wallpapers/Qortal-TheFuture-Wallpaper.png"
gsettings set org.cinnamon.desktop.interface icon-theme "Tela-dark"
else
echo -e "${RED} Cinnamon not detected, skipping Cinnamon theming. ${NC}"
fi
### ADD DESKTOP SHORTCUTS ###
echo -e "${YELLOW} CREATING DESKTOP LAUNCHERS FOR QORTAL APPLICATIONS ${NC}\n"
mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/qortal-ui.desktop <<EOL
[Desktop Entry]
Name=Qortal UI
Comment=Launch Qortal User Interface
Exec=/home/${username}/qortal/Qortal-UI
Icon=/home/${username}/Pictures/qortal-ui.png
Terminal=false
Type=Application
Categories=Qortal;
EOL
cat > ~/.local/share/applications/qortal-hub.desktop <<EOL
[Desktop Entry]
Name=Qortal Hub
Comment=Launch Qortal Hub
Exec=/home/${username}/qortal/Qortal-Hub
Icon=/home/${username}/Pictures/qortal-hub-app-logo.png
Terminal=false
Type=Application
Categories=Qortal;
EOL
### CRONTAB SETUP ###
echo -e "${YELLOW} FINISHING UP ${NC}\n"
{
echo "@reboot sleep 399 && /home/${username}/auto-fix-qortal.sh > \"/home/${username}/qortal/auto-fix-startup.log\" 2>&1"
echo "@reboot /home/${username}/start-qortal-core.sh"
echo "1 1 */3 * * /home/${username}/auto-fix-qortal.sh > \"/home/${username}/qortal/auto-fix-01.log\" 2>&1"
} > rebuilt-machine-cron
crontab rebuilt-machine-cron crontab rebuilt-machine-cron
rm -f rebuilt-machine-cron
rm -rf rebuilt-machine-cron echo -e "${YELLOW} CINNAMON SET AS DEFAULT - MACHINE WILL REBOOT IN 10 SECONDS ${NC}\n"
echo "${YELLOW} REBOOTING MACHINE IN 10 SECONDS - USE CINNAMON DESKTOP ENVIRONMENT UPON REBOOT BY CLICKING LOGIN NAME THEN SETTINGS ICON AT BOTTOM RIGHT, AND CHANGING TO CINNAMON ${NC}\n"
sleep 10 sleep 10
sudo reboot sudo reboot