11-29-2014, 07:57 AM
Hi sysdrum,
You have "fifi" in the last line
Type enter in the middle to make it work.
I gave up from text editors in the script because I can't make it work with gedit.
Now there is a "Save" button instead of "Open in Leafpad".
Script is more efficient, and now uses checklists.
This way it is possible to select multiple items in the list.
You have "fifi" in the last line
![Smile Smile](https://www.freecinema2022.gq/forums/images/smilies/smile.png)
I gave up from text editors in the script because I can't make it work with gedit.
Now there is a "Save" button instead of "Open in Leafpad".
Script is more efficient, and now uses checklists.
This way it is possible to select multiple items in the list.
Code:
#! /bin/bash
#--------------------------------------------------------------------------------------------------------
# Info tool by Misko_2083
#--------------------------------------------------------------------------------------------------------
#inxi installed?
if [ -z "$(which inxi)" ]; then
if zenity --title="Question" --question text="Inxi is not installed, do you want to install it?\nIf you choose No program will exit."
then
gksudo "sudo apt-get install inxi -y" | zenity --progress --title="Installing inxi" --text="please wait" --pulsate --auto-close
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
zenity --error --title="Error" --text="inxi could not be installed."
exit
fi
else
exit
fi
fi
disk_df=(FALSE "Fs disk space info" "df -Th | grep /dev/sd" "View filesystem disk space usage")
FDISK=(FALSE "List Partition Tables" "sudo fdisk -l" "List out the partition information (password required)")
BLOCKDEV=(FALSE "Display Block Devices" "lsblk" "List out information of all block devices")
PARTED=(FALSE "List Partition Layout" "sudo parted -l" "List partition layout on all block devices")
lspci_info=(FALSE "PCI info" "lspci -vnn" "View PCI devices info")
lspci_graph=(FALSE "Graphics" "lspci -vnn | grep VGA -A 12" "View graphics devices info")
lsusb_info=(FALSE "USB info" "lsusb" "View usb devices info")
CPU=(FALSE "32/64 bit CPU" "egrep -c ' lm ' /proc/cpuinfo" "Find out is this 32 or 64 bit CPU")
CPUZ=(FALSE "Processor info" "lscpu" "Display detailed info on CPU")
OS=(FALSE "32/64 bit OS" "uname -a" "Find out is this 32 or 64 bit OS")
inxi_full=(FALSE "Full info" "inxi -Fxz" "View system info")
inxi_df=(FALSE "Partition info" "inxi -plu" "View partition info")
REPOS=(FALSE "View Repositories" "inxi -r" "View repositories on this sistem")
GRAPHICS=(FALSE "View Graphics" "inxi -Gxx" "View graphics on this sistem")
AUDIO=(FALSE "View Audio" "inxi -A" "View audio on this sistem")
NETWORK=(FALSE "View Network" "inxi -nz" "View network on this sistem")
NETWORKC=(FALSE "Network Configuration" "ifconfig -a" "View network configuration on this sistem")
OPENGL=(FALSE "View OpenGL configuration" "glxinfo | grep OpenGL" "View OpenGL configuration on this sistem")
LSB=(FALSE "View lsb release" "lsb_release -dic" "View lsb release info")
ic="/usr/share/icons/zenity-llcc.png"
selection=$(zenity --window-icon="$ic" --list --checklist --width=900 --height=700 --column="Select" --column="Name" --column="Command" \
--column="Description" --text="Select the info tool you wish to use, then click the Display button.\nYou can select multiple tools." --title="Info" --ok-label="Display" --cancel-label="Quit" --separator="\n" \
"${disk_df[@]}" \
"${FDISK[@]}" \
"${BLOCKDEV[@]}" \
"${PARTED[@]}" \
"${lspci_info[@]}" \
"${lspci_graph[@]}" \
"${lsusb_info[@]}" \
"${CPU[@]}" \
"${CPUZ[@]}" \
"${OS[@]}" \
"${inxi_full[@]}" \
"${inxi_df[@]}" \
"${REPOS[@]}" \
"${GRAPHICS[@]}" \
"${AUDIO[@]}" \
"${NETWORK[@]}" \
"${NETWORKC[@]}" \
"${OPENGL[@]}" \
"${LSB[@]}" )
# If Quit is clicked then exit
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
exit 0
fi
# check if anything is selected
echo $selection | grep '[a-zA-Z0-9]'
if [ "${PIPESTATUS[1]}" -ne "0" ]; then
zenity --info --title='Info' --text='Nothing was selected.'
exit 0
fi
echo $selection | grep "^Fs disk space info" > /dev/null
if [ $? = 0 ];then
SOME_TEXT="df - View file system disk space usage\nYou can select the mount to open in the file manager"
SOME_TITLE="df"
df -h -T| tail -n+2 | while read fs type size used rest target; do
if [[ $rest ]] ; then
echo "$fs" "$type" "$size"B "$used"B "$rest"B "${target[@]}" | grep /dev/sd | # remove "grep /dev/sd |" to show all
awk '{print $1,"\n",$2,"\n",$3,"\n",$4,"\n",$5,"\n",$6}BEGIN{ s = 7; e = 35; }{for (i=s; i<=e; i++) printf("%s%s", $(i), i<e ? OFS : "\n"); }' #Workaround for disk labels that contain whitespaces(number of characters that can be divided by whitespace =e-s)
fi
done | sed -e 's/[ \t]*$//' $1|zenity --list --width=685 --height=350 --title="${SOME_TITLE}" --text="${SOME_TEXT}" --column="Device" --column="Type" --column="Size" --column="Used" --column="Free" --column="%Used" --column="Mount" --print-column="7"| cut -d '|' -f2| tee /tmp/tempdf
#With radiolist is also an option
#done | sed -e 's/[ \t]*$//' $1| sed 's!^/dev/sd*!FALSE\n/dev/sd!g' | zenity --list --radiolist --width=685 --height=350 --title="${SOME_TITLE}" --text="${SOME_TEXT}" --column="Select" --column="FS" --column="Type" --column="Size" --column="Used" --column="Free" --column="%Used" --column="Mount" --print-column="8"| cut -d '|' -f2| tee /tmp/tempdf
if [ -z "$(cat /tmp/tempdf)" ]; then
rm -f /tmp/tempdf
exit 0
fi
xdg-open "$(cat /tmp/tempdf)"
rm -f /tmp/tempdf
fi
echo $selection | grep "^List Partition Tables$" > /dev/null
if [ $? = 0 ];then
gksudo --message 'To run this tool your password is required. Enter your password, or press Cancel.' 'sudo fdisk -l' |tee /tmp/fdiskinfo| zenity --title="Partition Tables (sudo fdisk -l)" --text-info --width=800 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/fdiskinfo.txt)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Partition_Tables.txt" --title="Save List of the Partition Tables")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/fdiskinfo
fi
echo $selection | grep "Display Block Devices" > /dev/null
if [ $? = 0 ];then
lsblk |tee /tmp/lsblkinfo | zenity --title="Block Devices (lsblk)" --text-info --width=800 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/lsblkinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Block_Devices.txt" --title="Save Block Devices info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/lsblkinfo
fi
echo $selection | grep "^List Partition Layout$" > /dev/null
if [ $? = 0 ];then
gksudo --message 'To run this tool your password is required. Enter your password, or press Cancel.' 'sudo parted -l'|tee /tmp/partedinfo | zenity --title="Partition Layout (sudo parted -l)" --text-info --width=800 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/partedinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Partition_layout.txt" --title="Save Partition Layout info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/partedinfo
fi
echo $selection | grep "^PCI info$" > /dev/null
if [ $? = 0 ];then
lspci -vnn | tee /tmp/lspciinfo | zenity --title="PCI info (lspci -vnn)" --text-info --width=800 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/lspciinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="PCI_Devices.txt" --title="Save PCI Devices info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/lspciinfo
fi
echo $selection | grep "^Graphics$" > /dev/null
if [ $? = 0 ];then
lspci -vnn | grep VGA -A 12 | tee /tmp/lspcigraph| zenity --title="Graphics (lspci -vnn | grep VGA -A 12)" --text-info --width=800 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[3]}" -ne "1" ]; then
zNewData=$(cat /tmp/lspcigraph)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Graphics_info.txt" --title="Save Graphics info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/lspcigraph
fi
echo $selection | grep "USB info" > /dev/null
if [ $? = 0 ];then
lsusb | tee /tmp/lsusbinfo | zenity --title="USB info (lsusb)" --text-info --width=800 --height=400 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/lsusbinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="USB_info.txt" --title="Save USB info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/lsusbinfo
fi
echo $selection | grep "32/64 bit CPU" > /dev/null
if [ $? = 0 ];then
if [ "$(egrep -c ' lm ' /proc/cpuinfo)" -lt "1" ]; then
bus_zen="32"
else
bus_zen="64"
fi
zenity --title="32/64 bit CPU" --info --text="This is $bus_zen bit CPU"
fi
echo $selection | grep "Processor info" > /dev/null
if [ $? = 0 ];then
lscpu | tee /tmp/processorinfo | zenity --title="Processor info (lscpu)" --text-info --width=850 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/processorinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="CPU_info.txt" --title="Save Processor info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/processorinfo
fi
echo $selection | grep "32/64 bit OS" > /dev/null
if [ $? = 0 ];then
if [ "$(uname -a | egrep -c 'i386|i486|i586|i686')" -eq "1" ]; then
os_zen="32"
else
os_zen="64"
fi
zenity --title="32/64 bit OS" --info --text="This is $os_zen bit OS"
fi
echo $selection | grep "Full info" > /dev/null
if [ $? = 0 ];then
inxi -Fxz -c 0 | tee /tmp/inxifull | zenity --title="Full info (inxi -Fxz)" --text-info --width=850 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/inxifull)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Full_info.txt" --title="Save Full Computer info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/inxifull
fi
echo $selection | grep "Partition info" > /dev/null
if [ $? = 0 ];then
inxi -plu -c 0 | tee /tmp/partitionsinfo| zenity --title="Partition info (inxi -plu)" --text-info --width=650 --height=400 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/partitionsinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Partition_info.txt" --title="Save Partition info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/partitionsinfo
fi
echo $selection | grep "View Repositories" > /dev/null
if [ $? = 0 ];then
inxi -r -c 0 | tee /tmp/repositorieslist | zenity --title="Repositories (inxi -r)" --text-info --width=850 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/repositorieslist)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Repositories.txt" --title="Save List Of The Repositories")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/repositorieslist
fi
echo $selection | grep "View Graphics" > /dev/null
if [ $? = 0 ];then
inxi -Gxx -c 0 | tee /tmp/graphicsinfo | zenity --title="Graphics info (inxi -Gxx)" --text-info --width=850 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/graphicsinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Graphics_inxi.txt" --title="Save Graphic information (inxi)")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/graphicsinfo
fi
echo $selection | grep "View Audio" > /dev/null
if [ $? = 0 ];then
inxi -A -c 0 | tee /tmp/audioinfo | zenity --title="Audio info (inxi -A)" --text-info --width=850 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/audioinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Audio_info.txt" --title="Save Audio information (inxi)")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/audioinfo
fi
echo $selection | grep "^View Network$" > /dev/null
if [ $? = 0 ];then
inxi -nz -c 0 | tee /tmp/networkinfo | zenity --title="Network info (inxi -nz)" --text-info --width=850 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/networkinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Network_inxi.txt" --title="Save Network information (inxi)")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/networkinfo
fi
echo $selection | grep "Network Configuration$" > /dev/null
if [ $? = 0 ];then
ifconfig -a | tee /tmp/networkconfinfo | zenity --title="Network info (ifconfig -a)" --text-info --width=850 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/networkconfinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Network_conf.txt" --title="Save Network Configuration Info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/networkconfinfo
fi
echo $selection | grep "View OpenGL configuration" > /dev/null
if [ $? = 0 ];then
glxinfo | grep OpenGL | tee /tmp/openglinfo | zenity --title="View OpenGL configuration (glxinfo | grep OpenGL)" --text-info --width=850 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[3]}" -ne "1" ]; then
zNewData=$(cat /tmp/openglinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="OpenGL_info.txt" --title="Save OpenGL Info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/openglinfo
fi
echo $selection | grep "View lsb release" > /dev/null
if [ $? = 0 ];then
lsb_release -dic| tee /tmp/lsbinfo | zenity --title="View lsb release (lsb_release -dic)" --text-info --width=850 --height=600 --ok-label="Save" --cancel-label="Close"
if [ "${PIPESTATUS[2]}" -ne "1" ]; then
zNewData=$(cat /tmp/lsbinfo)
zSavePath=$(echo -n "$(zenity --file-selection --save --confirm-overwrite --filename="Network_conf.txt" --title="Save ls_ release Info")")
echo -n "$zNewData" > "$zSavePath"
fi
rm /tmp/lsbinfo
fi