Support Requests - CLICK TO READ BEFORE POSTING


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

GUI Updates script
#41

Code:
Quote from: Wirezfree on 02 December 2014, 05:18:52 Hi Jerry, misko and sysdrum, I have been following your threads on the GUI Updates & System Reporting Scripts with interest. I don't know if it's possible.?? Once they are defined "stable", would it be possible to add them into the "How To's..." How to add: Update GUI System Reporting It would be great for the folks who are either sticking on LL2.0 or not quite ready to make the move. Just a thought... Dave We can certainly do that :) See the first post of this thread for the Updates instructions.

Hi Jerry,

Thanks... O.K on instructions
The actual script went through a number of updates/iterations..
Is the script in 1st post also the latest.?

Thanks... Dave

Upgrades WIP 2.6 to 2.8 - (6 X 2.6 to 2.8 completed on: 20/02/16 All O.K )
Linux Lite 3.0 Humming on a ASRock N3070 Mobo ~ btrfs RAID 10 Install on 4 Disks Smile

Computers Early days:
ZX Spectrum(1982) , HP-150 MS-DOS(1983) , Amstrad CPC464(1984) ,  BBC Micro B+64(1985) , My First PC HP-Vectra(1987)
Reply
#42

The latest will be whatever is the last full posting of the code (#33) in this case.

Download your free copy of Linux Lite today.

Jerry Bezencon
Linux Lite Creator

"Do not correct a fool, or he will hate you; correct a wise man and he will appreciate you."

[Image: X5qGkCg.png]

[Image: 0op1GNe.png] [Image: LgJ2mtP.png] [Image: vLZcFUE.png] [Image: lrUHro3.jpg]
Reply
#43

Code:
The latest will be whatever is the last full posting of the code (#33) in this case.

O.K,
Will give it a try later... Dave

Upgrades WIP 2.6 to 2.8 - (6 X 2.6 to 2.8 completed on: 20/02/16 All O.K )
Linux Lite 3.0 Humming on a ASRock N3070 Mobo ~ btrfs RAID 10 Install on 4 Disks Smile

Computers Early days:
ZX Spectrum(1982) , HP-150 MS-DOS(1983) , Amstrad CPC464(1984) ,  BBC Micro B+64(1985) , My First PC HP-Vectra(1987)
Reply
#44

Update
Changes
¤ Display only the last 64 chars when the output is parsed to the progress dialogs (this way the progress bar width will not increase)
¤ Variables are now unset before exit
¤ Package list is now preset to a variable (safer)
¤ Ownership of the report now changes to the user
¤ added apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
Code:
#!/bin/bash #----------------------------------------------------------------------------------------- # Name: Linux Lite Updates # Description: A GUI tool to easily install Updates in Linux Lite. # Authors: Misko_2083, Jerry Bezencon # Date: 2015 # Website: https://mityer.khdlhfjijfrupr.tk #----------------------------------------------------------------------------------------- # Kill off any package managers that may be running if [ "$(pidof synaptic)" ] then   sudo killall -9 synaptic else   echo"" fi if [ -z "$(pgrep gdebi-gtk)" ] then   echo "" else   killall -9 gdebi-gtk fi UPDATES=$(mktemp /tmp/updateslist.XXXXXX) # Linux Lite default dialog icon ic="/usr/share/icons/zenity-llcc.png" # Get list of available updated packages then populate them to /tmp/updateslist zenity --question --title="Linux Lite Updates" --window-icon="/usr/share/icons/zenity-llcc.png" --text="We will now fetch the Updates list.\n\nClick Yes to continue or No to abort."   if [ "$?" -eq "0" ];then APTUPDATE=$( stdbuf -oL /bin/bash \-c '(sudo apt-get update \-y )' 2>&1 | stdbuf -oL sed -n -e 's/^.*\(.\{64\}\)$/\1/' -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p' |                        #' s/^.*\(.\{64\}\)$/\1/' Display only the last 64 chars zenity --progress --title="Updating package information..." --pulsate \ --width=600 --auto-close ) unset APTUPDATE # Creates a list in /tmp/updateslist LISTNAMES=$(apt-get --just-print upgrade 2>&1 | perl -ne 'if (/Inst\s([\w,\-,\d,\.,~,:,\+]+)\s\[([\w,\-,\d,\.,~,:,\+]+)\]\s\(([\w,\-,\d,\.,~,:,\+]+)\)? /i) {print "Name: $1 INSTALLED: $2 AVAILABLE: $3\n"}' | awk '{print NR,":\t"$0}' | tee $UPDATES) # Check if any updates are available, if there are none, script pops up dialog box saying 'No Updates Available', removes /tmp/updateslist if [  -z "$(cat /tmp/updateslist)"  ]; then     zenity --info --window-icon="/usr/share/icons/zenity-llcc.png" --title="Linux Lite Updates" \       --text="No Updates Available"   rm $UPDATES   exit 0 fi # Insert text into  /tmp/updateslist sed -i -e '1 i\List of available Updates' -e '1 i\Click Update to continue or Cancel to stop the update process\n'  $UPDATES # Erase existing available info sudo dpkg --clear-avail   else       exit 0   fi # Call the zenity dialog to show update list zenity --text-info --ok-label="Update" --cancel-label="Cancel" --title="Linux Lite Updates" --width=780 --height=300 --filename="$UPDATES"       if [ "$?" -eq "0" ];then               # Continue script if no halt         INSTALL_ICON="/usr/share/icons/zenity-llcc.png"         APPNAME="Linux Lite Updates"                         #remove tmp file                 rm $UPDATES     RUNUPDATES=$( stdbuf -oL /bin/bash \-c '(sudo DEBIAN_FRONTEND=noninteractive apt-get  -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \-y )' 2>&1 | tee /var/log/llupdates.log |       stdbuf -oL sed -n -e 's/^.*\(.\{64\}\)$/\1/' -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p' |                    #' s/^.*\(.\{64\}\)$/\1/' Display only the last 64 chars       zenity --progress --title="Updating..." --pulsate \       --width=600 --auto-close )                                 if [ "${PIPESTATUS[0]}" -ne "0" ]; then                                                                 zenity --error \                                         --title="Error" --text="$APPNAME Updates have failed."                                         exit 0                                 fi       # Halt updates script if user selects Cancel       else         rm $UPDATES         unset UPDATES         unset RUNUPDATES         exit 0     fi unset UPDATES unset RUNUPDATES PROCEED=$(zenity --question --title="$APPNAME Updates" --window-icon=/usr/share/icons/zenity-llcc.png --text="Updates have finished installing.\n\nWould you like to view the $APPNAME Updates log?"; echo $?) if [ ${PROCEED} -eq 1 ]; then   zenity --info --title="$APPNAME Updates" --window-icon="${INSTALL_ICON}" --text="$APPNAME Updates Complete."   exit; else   zenity --text-info --ok-label="Save Updates Log" --cancel-label="Close" --title="Updates Log" --width=700 --height=300 --filename="/var/log/llupdates.log"     if [ $? -ne 0 ]; then             exit;         else         #Generate the save list and on the first occurance of "FALSE" change it to "TRUE"         LL_LIST_D=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1}' /etc/passwd |sed '0,/FALSE/s/FALSE/TRUE/'`)             #Add optional save location         LL_LIST_H=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1"/Desktop"}' /etc/passwd`)                 save_location=$(zenity --title="System Report Save Location" --list --radiolist --text="Select save location:" --column="Select" --column="Save file location:" --width=325  --height=300 "${LL_LIST_D[@]}" "${LL_LIST_H[@]}")                 if [ $? -ne 0 ]; then             unset LL_LIST_D             unset  LL_LIST_H             unset save_location             exit 0               else                              #Extract username                       LL_USER=$(echo "$save_location" | cut -d'/' -f3)                                         # Add filename to the save path                       SAVE_PATH=$(echo $save_location| sed 's,.*,&\/var/log/llupdates.log,g')                                     #Checks if the file exists. If it does asks for confirmation.             if [  ! -z "$(echo $SAVE_PATH)" ]; then                 if zenity --question --title="$APPNAME Updates" --window-icon=/usr/share/icons/zenity-llcc.png --text="file ${SAVE_PATH} allready exists.\nWould you like to overwite the file?"; then                                                                 cp /var/log/llupdates.log $save_location                       chown $LL_USER  $SAVE_PATH    # Change the ownership to LL_USER                                     else                     unset save_location                     unset LL_LIST_D                     unset  LL_LIST_H                     unset SAVE_PATH                     unset LL_USER                     exit 1                 fi             else                                                cp /var/log/llupdates.log $save_location                 chown $LL_USER  $SAVE_PATH    # Change the ownership to LL_USER                                 fi                                                             fi     fi fi unset LL_LIST_D unset  LL_LIST_H unset SAVE_PATH unset LL_USER unset save_location exit 0
Reply
#45

@Jerry:
If the next script handles *.conf files in a way it doesn't install the package maintainer's versions on a fresh install, the previous script will probably work in the same way.
Code:
#!/bin/bash # Authors: Misko2083, Jerry Bezencon bold=`tput bold` normal=`tput sgr0` echo "${bold}**********************" echo "Linux Lite 2.0 Updates" echo "**********************${normal}" echo "" echo "Linux Lite will now search for updates for your computer." echo "Once installed, your computer will be up to date." echo "Simply follow the onscreen instructions." echo "" echo "Please enter your password to continue..." if [ "$(pidof synaptic)" ] then     sudo killall -9 synaptic else     echo"" fi if [ -z "$(pgrep gdebi-gtk)" ] then     echo "" else     killall -9 gdebi-gtk fi sudo apt-get update && sudo apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade echo "" echo "Updates complete." echo "This window will now close." sleep 5 #exit
Reply
#46

Your code in post #43 gives 'No updates available' whilst my currently working script below does:

Code:
#!/bin/bash #----------------------------------------------------------------------------------------- # Name: Linux Lite Updates # Description: A GUI tool to easily install Updates in Linux Lite. # Authors: Misko_2083, Jerry Bezencon # Date: Nov 20th, 2014 # Website: https://mityer.khdlhfjijfrupr.tk #----------------------------------------------------------------------------------------- # Ensure multi-language support export LANG=C # Kill off any package managers that may be running if [ "$(pidof synaptic)" ] then   sudo killall -9 synaptic else   echo"" fi if [ -z "$(pgrep gdebi-gtk)" ] then   echo "" else   killall -9 gdebi-gtk fi # Linux Lite default dialog icon ic="/usr/share/icons/zenity-llcc.png" # Get list of available updated packages then populate them to /tmp/updateslist zenity --question --title="Linux Lite Updates" --window-icon="/usr/share/icons/zenity-llcc.png" --text="We will now fetch the Updates list.\n\nClick Yes to continue or No to abort."   if [ "$?" -eq "0" ];then x=$( stdbuf -oL /bin/bash \-c '(sudo apt-get update \-y )' 2>&1 | stdbuf -oL sed -n -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p'| zenity --progress --title="Updating package information..." --pulsate \ --width=600 --auto-close ) # Creates a list in /tmp/updateslist LISTNAMES=$(apt-get --just-print upgrade 2>&1 | perl -ne 'if (/Inst\s([\w,\-,\d,\.,~,:,\+]+)\s\[([\w,\-,\d,\.,~,:,\+]+)\]\s\(([\w,\-,\d,\.,~,:,\+]+)\)? /i) {print "Name: $1 INSTALLED: $2 AVAILABLE: $3\n"}' | awk '{print NR,":\t"$0}' | tee /tmp/updateslist) # Check if any updates are available, if there are none, script pops up dialog box saying 'No Updates Available', removes /tmp/updateslist if [  -z "$(cat /tmp/updateslist)"  ]; then     zenity --info --window-icon="/usr/share/icons/zenity-llcc.png" --title="Linux Lite Updates" \       --text="No Updates Available"   rm /tmp/updateslist   exit 0 fi # Insert text into  /tmp/updateslist sed -i -e '1 i\List of available Updates' -e '1 i\Click Update to continue or Cancel to stop the update process\n'  /tmp/updateslist # Erase existing available info sudo dpkg --clear-avail   else       exit 0   fi # Call the zenity dialog to show update list zenity --text-info --ok-label="Update" --cancel-label="Cancel" --title="Linux Lite Updates" --width=780 --height=300 --filename="/tmp/updateslist"       if [ "$?" -eq "0" ];then               # Continue script if no halt         INSTALL_ICON="/usr/share/icons/zenity-llcc.png"         APPNAME="Linux Lite"                         #remove tmp file                 rm /tmp/updateslist       x=$( stdbuf -oL /bin/bash \-c '(sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade \-y )' 2>&1 | tee /var/log/llupdates.log |       stdbuf -oL sed -n -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p'|       zenity --progress --title="Updating..." --pulsate \       --width=600 --auto-close )                                 if [ "${PIPESTATUS[0]}" -ne "0" ]; then                                                                 zenity --error \                                         --title="Error" --text="$APPNAME Updates have failed."                                         exit 0                                 fi   # Halt updates script if user selects Cancel     else         rm /tmp/updateslist             exit 0   fi PROCEED=$(zenity --question --title="$APPNAME Updates" --window-icon=/usr/share/icons/zenity-llcc.png --text="Updates have finished installing.\n\nWould you like to view the $APPNAME Updates log?"; echo $?) if [ ${PROCEED} -eq 1 ]; then   zenity --info --title="$APPNAME Updates" --window-icon="${INSTALL_ICON}" --text="$APPNAME Updates Complete."   exit; else   zenity --text-info --ok-label="Quit" --cancel-label="Cancel" --title="Updates Log" --width=700 --height=300 --filename="/var/log/llupdates.log" fi exit 0

Download your free copy of Linux Lite today.

Jerry Bezencon
Linux Lite Creator

"Do not correct a fool, or he will hate you; correct a wise man and he will appreciate you."

[Image: X5qGkCg.png]

[Image: 0op1GNe.png] [Image: LgJ2mtP.png] [Image: vLZcFUE.png] [Image: lrUHro3.jpg]
Reply
#47

Ah O.o , ok found it.
The list is there just used `cat /tmp/updatelist` instead of `cat $UPDATES` when checking if there are any updates.
fixed Smile
Code:
#!/bin/bash #----------------------------------------------------------------------------------------- # Name: Linux Lite Updates # Description: A GUI tool to easily install Updates in Linux Lite. # Authors: Misko_2083, Jerry Bezencon # Date: 2015 # Website: https://mityer.khdlhfjijfrupr.tk #----------------------------------------------------------------------------------------- # Kill off any package managers that may be running if [ "$(pidof synaptic)" ] then   sudo killall -9 synaptic else   echo"" fi if [ -z "$(pgrep gdebi-gtk)" ] then   echo "" else   killall -9 gdebi-gtk fi UPDATES=$(mktemp /tmp/updateslist.XXXXXX) # Linux Lite default dialog icon ic="/usr/share/icons/zenity-llcc.png" # Get list of available updated packages then populate them to /tmp/updateslist zenity --question --title="Linux Lite Updates" --window-icon="/usr/share/icons/zenity-llcc.png" --text="We will now fetch the Updates list.\n\nClick Yes to continue or No to abort."   if [ "$?" -eq "0" ];then APTUPDATE=$( stdbuf -oL /bin/bash \-c '(sudo apt-get update \-y )' 2>&1 | stdbuf -oL sed -n -e 's/^.*\(.\{64\}\)$/\1/' -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p' |                        #' s/^.*\(.\{64\}\)$/\1/' Display only the last 64 chars, to dispay the first 64, change to 's/^\(.\{64\}\).*/\1/' zenity --progress --title="Updating package information..." --pulsate \ --width=600 --auto-close ) unset APTUPDATE # Creates a list in /tmp/updateslist LISTNAMES=$(apt-get --just-print upgrade 2>&1 | perl -ne 'if (/Inst\s([\w,\-,\d,\.,~,:,\+]+)\s\[([\w,\-,\d,\.,~,:,\+]+)\]\s\(([\w,\-,\d,\.,~,:,\+]+)\)? /i) {print "Name: $1 INSTALLED: $2 AVAILABLE: $3\n"}' | awk '{print NR,":\t"$0}' | tee $UPDATES) # Check if any updates are available, if there are none, script pops up dialog box saying 'No Updates Available', removes /tmp/updateslist.XXXXXX if [  -z "$(cat $UPDATES)"  ]; then     zenity --info --window-icon="/usr/share/icons/zenity-llcc.png" --title="Linux Lite Updates" \       --text="No Updates Available"   rm $UPDATES   exit 0 fi # Insert text into  /tmp/updateslist.XXXXXX sed -i -e '1 i\List of available Updates' -e '1 i\Click Update to continue or Cancel to stop the update process\n'  $UPDATES # Erase existing available info sudo dpkg --clear-avail   else       exit 0   fi # Call the zenity dialog to show update list zenity --text-info --ok-label="Update" --cancel-label="Cancel" --title="Linux Lite Updates" --width=780 --height=300 --filename="$UPDATES"       if [ "$?" -eq "0" ];then               # Continue script if no halt         INSTALL_ICON="/usr/share/icons/zenity-llcc.png"         APPNAME="Linux Lite Updates"                         #remove tmp file                 rm $UPDATES     RUNUPDATES=$( stdbuf -oL /bin/bash \-c '(sudo DEBIAN_FRONTEND=noninteractive apt-get  -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \-y )' 2>&1 | tee /var/log/llupdates.log |       stdbuf -oL sed -n -e 's/^.*\(.\{64\}\)$/\1/' -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p' |                #' s/^.*\(.\{64\}\)$/\1/' Display only the last 64 chars, to dispay the first 64, change to 's/^\(.\{64\}\).*/\1/'       zenity --progress --title="Updating..." --pulsate \       --width=600 --auto-close )                                 if [ "${PIPESTATUS[0]}" -ne "0" ]; then                                                                 zenity --error \                                         --title="Error" --text="$APPNAME Updates have failed."                                         exit 0                                 fi       # Halt updates script if user selects Cancel       else         rm $UPDATES         unset UPDATES         unset RUNUPDATES         exit 0     fi unset UPDATES unset RUNUPDATES PROCEED=$(zenity --question --title="$APPNAME Updates" --window-icon=/usr/share/icons/zenity-llcc.png --text="Updates have finished installing.\n\nWould you like to view the $APPNAME Updates log?"; echo $?) if [ ${PROCEED} -eq 1 ]; then   zenity --info --title="$APPNAME Updates" --window-icon="${INSTALL_ICON}" --text="$APPNAME Updates Complete."   exit; else   zenity --text-info --ok-label="Save Updates Log" --cancel-label="Close" --title="Updates Log" --width=700 --height=300 --filename="/var/log/llupdates.log"     if [ $? -ne 0 ]; then             exit;         else         #Generate the save list and on the first occurance of "FALSE" change it to "TRUE"         LL_LIST_D=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1}' /etc/passwd |sed '0,/FALSE/s/FALSE/TRUE/'`)             #Add optional save location         LL_LIST_H=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1"/Desktop"}' /etc/passwd`)                 save_location=$(zenity --title="System Report Save Location" --list --radiolist --text="Select save location:" --column="Select" --column="Save file location:" --width=325  --height=300 "${LL_LIST_D[@]}" "${LL_LIST_H[@]}")                 if [ $? -ne 0 ]; then             unset LL_LIST_D             unset  LL_LIST_H             unset save_location             exit 0               else                              #Extract username                       LL_USER=$(echo "$save_location" | cut -d'/' -f3)                                         # Add filename to the save path                       SAVE_PATH=$(echo $save_location| sed 's,.*,&\/var/log/llupdates.log,g')                                     #Checks if the file exists. If it does asks for confirmation.             if [  ! -z "$(echo $SAVE_PATH)" ]; then                 if zenity --question --title="$APPNAME Updates" --window-icon=/usr/share/icons/zenity-llcc.png --text="file ${SAVE_PATH} allready exists.\nWould you like to overwite the file?"; then                                                                 cp /var/log/llupdates.log $save_location                       chown $LL_USER  $SAVE_PATH    # Change the ownership to LL_USER                                     else                     unset save_location                     unset LL_LIST_D                     unset  LL_LIST_H                     unset SAVE_PATH                     unset LL_USER                     exit 1                 fi             else                                                cp /var/log/llupdates.log $save_location                 chown $LL_USER  $SAVE_PATH    # Change the ownership to LL_USER                                 fi                                                             fi     fi fi unset LL_LIST_D unset  LL_LIST_H unset SAVE_PATH unset LL_USER unset save_location exit 0
Reply
#48

This is good Smile The only thing is that the 64 character string cuts off some of the output at the beginning, example http://xxxxxx becomes tp://xxxxxx

Download your free copy of Linux Lite today.

Jerry Bezencon
Linux Lite Creator

"Do not correct a fool, or he will hate you; correct a wise man and he will appreciate you."

[Image: X5qGkCg.png]

[Image: 0op1GNe.png] [Image: LgJ2mtP.png] [Image: vLZcFUE.png] [Image: lrUHro3.jpg]
Reply
#49

Yes, but we could show only the first 64 characters of the strings. It doesn't need to be 64 you can tweak that at your end.
Code:
#!/bin/bash #----------------------------------------------------------------------------------------- # Name: Linux Lite Updates # Description: A GUI tool to easily install Updates in Linux Lite. # Authors: Misko_2083, Jerry Bezencon # Date: 2015 # Website: https://mityer.khdlhfjijfrupr.tk #----------------------------------------------------------------------------------------- # Kill off any package managers that may be running if [ "$(pidof synaptic)" ] then   sudo killall -9 synaptic else   echo"" fi if [ -z "$(pgrep gdebi-gtk)" ] then   echo "" else   killall -9 gdebi-gtk fi UPDATES=$(mktemp /tmp/updateslist.XXXXXX) # Linux Lite default dialog icon ic="/usr/share/icons/zenity-llcc.png" # Get list of available updated packages then populate them to /tmp/updateslist zenity --question --title="Linux Lite Updates" --window-icon="/usr/share/icons/zenity-llcc.png" --text="We will now fetch the Updates list.\n\nClick Yes to continue or No to abort."   if [ "$?" -eq "0" ];then APTUPDATE=$( stdbuf -oL /bin/bash \-c '(sudo apt-get update \-y )' 2>&1 | stdbuf -oL sed -n -e 's/^\(.\{64\}\).*/\1/' -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p' |    #sed 's/^\(.\{64\}\).*/\1/'  Display only the first 64 characters zenity --progress --title="Updating package information..." --pulsate \ --width=600 --auto-close ) unset APTUPDATE # Creates a list in /tmp/updateslist LISTNAMES=$(apt-get --just-print upgrade 2>&1 | perl -ne 'if (/Inst\s([\w,\-,\d,\.,~,:,\+]+)\s\[([\w,\-,\d,\.,~,:,\+]+)\]\s\(([\w,\-,\d,\.,~,:,\+]+)\)? /i) {print "Name: $1 INSTALLED: $2 AVAILABLE: $3\n"}' | awk '{print NR,":\t"$0}' | tee $UPDATES) # Check if any updates are available, if there are none, script pops up dialog box saying 'No Updates Available', removes /tmp/updateslist.XXXXXX if [  -z "$(cat $UPDATES)"  ]; then     zenity --info --window-icon="/usr/share/icons/zenity-llcc.png" --title="Linux Lite Updates" \       --text="No Updates Available"   rm $UPDATES   exit 0 fi # Insert text into  /tmp/updateslist.XXXXXX sed -i -e '1 i\List of available Updates' -e '1 i\Click Update to continue or Cancel to stop the update process\n'  $UPDATES # Erase existing available info sudo dpkg --clear-avail   else       exit 0   fi # Call the zenity dialog to show update list zenity --text-info --ok-label="Update" --cancel-label="Cancel" --title="Linux Lite Updates" --width=780 --height=300 --filename="$UPDATES"       if [ "$?" -eq "0" ];then               # Continue script if no halt         INSTALL_ICON="/usr/share/icons/zenity-llcc.png"         APPNAME="Linux Lite Updates"                         #remove tmp file                 rm $UPDATES     RUNUPDATES=$( stdbuf -oL /bin/bash \-c '(sudo DEBIAN_FRONTEND=noninteractive apt-get  -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \-y )' 2>&1 | tee /var/log/llupdates.log |       stdbuf -oL sed -n -e 's/^\(.\{64\}\).*/\1/' -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p' |                  zenity --progress --title="Updating..." --pulsate \       --width=600 --auto-close )                                 if [ "${PIPESTATUS[0]}" -ne "0" ]; then                                                                 zenity --error \                                         --title="Error" --text="$APPNAME Updates have failed."                                         exit 0                                 fi       # Halt updates script if user selects Cancel       else         rm $UPDATES         unset UPDATES         unset RUNUPDATES         exit 0     fi unset UPDATES unset RUNUPDATES PROCEED=$(zenity --question --title="$APPNAME Updates" --window-icon=/usr/share/icons/zenity-llcc.png --text="Updates have finished installing.\n\nWould you like to view the $APPNAME Updates log?"; echo $?) if [ ${PROCEED} -eq 1 ]; then   zenity --info --title="$APPNAME Updates" --window-icon="${INSTALL_ICON}" --text="$APPNAME Updates Complete."   exit; else   zenity --text-info --ok-label="Save Updates Log" --cancel-label="Close" --title="Updates Log" --width=700 --height=300 --filename="/var/log/llupdates.log"     if [ $? -ne 0 ]; then             exit;         else         #Generate the save list and on the first occurance of "FALSE" change it to "TRUE"         LL_LIST_D=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1}' /etc/passwd |sed '0,/FALSE/s/FALSE/TRUE/'`)             #Add optional save location         LL_LIST_H=(`awk -F':' '$3>=1000 && $3<=60000 {print "FALSE","/home/"$1"/Desktop"}' /etc/passwd`)                 save_location=$(zenity --title="System Report Save Location" --list --radiolist --text="Select save location:" --column="Select" --column="Save file location:" --width=325  --height=300 "${LL_LIST_D[@]}" "${LL_LIST_H[@]}")                 if [ $? -ne 0 ]; then             unset LL_LIST_D             unset  LL_LIST_H             unset save_location             exit 0               else                              #Extract username                       LL_USER=$(echo "$save_location" | cut -d'/' -f3)                                         # Add filename to the save path                       SAVE_PATH=$(echo $save_location| sed 's,.*,&\/var/log/llupdates.log,g')                                     #Checks if the file exists. If it does asks for confirmation.             if [  ! -z "$(echo $SAVE_PATH)" ]; then                 if zenity --question --title="$APPNAME Updates" --window-icon=/usr/share/icons/zenity-llcc.png --text="file ${SAVE_PATH} allready exists.\nWould you like to overwite the file?"; then                                                                 cp /var/log/llupdates.log $save_location                       chown $LL_USER  $SAVE_PATH    # Change the ownership to LL_USER                                     else                     unset save_location                     unset LL_LIST_D                     unset  LL_LIST_H                     unset SAVE_PATH                     unset LL_USER                     exit 1                 fi             else                                                cp /var/log/llupdates.log $save_location                 chown $LL_USER  $SAVE_PATH    # Change the ownership to LL_USER                                 fi                                                             fi     fi fi unset LL_LIST_D unset  LL_LIST_H unset SAVE_PATH unset LL_USER unset save_location exit 0
Reply
#50

I certainly appreciate the work thats gone into the log file changes, but I think there is now too much user interaction.
Ideally, they will:

Choose to update or not > updates will run > have the option at the end to view the log which should reside in /var/log.

Download your free copy of Linux Lite today.

Jerry Bezencon
Linux Lite Creator

"Do not correct a fool, or he will hate you; correct a wise man and he will appreciate you."

[Image: X5qGkCg.png]

[Image: 0op1GNe.png] [Image: LgJ2mtP.png] [Image: vLZcFUE.png] [Image: lrUHro3.jpg]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)