PDA

View Full Version : Ease-of-use patch to klik's install



GregorR
01-04-2006, 01:24 AM
I made a patch to install to make it pop up an xterm, rxvt, konsole or gnome-terminal and su to run klik-cmg-install-root, rather than just popping up a message box telling the user to run it as root. For new users, this should be significantly nicer.

I don't know if I can properly include it here, but I'll try:



--- install 2005-12-20 13:11:44.000000000 -0500
+++ install.xterm 2006-01-02 19:17:29.000000000 -0500
@@ -81,6 +81,20 @@
esac
}

+unset XVT
+# Determine what X virtual terminal to use (if applicable)
+if [ "$DISPLAY" -a "`tty | grep not`" ]
+then
+ for i in xterm rxvt konsole gnome-terminal
+ do
+ $i --help
+ if [ "$?" != "127" ]
+ then
+ export XVT="$i -e"
+ fi
+ done
+fi
+
cat > $HOME/.klik <<\EOF
#!/bin/bash

@@ -511,8 +525,25 @@
fi
EOF
chmod 777 "$HOME/klik-cmg-install-root"
+cat > "$HOME/klik-prompt-root" <<EOF
+#!/bin/bash
+echo Please enter your root password:
+su -c "$HOME/klik-cmg-install-root"
+EOF
+chmod 777 "$HOME/klik-prompt-root"
+
+# Try su'ing to root
+$XVT $HOME/klik-prompt-root
+rm -f "$HOME/klik-prompt-root"
+
+# If that didn't work, just tell the user what to do
+if [ -z "$(cat /etc/fstab | grep app/7)" ]
+then
+ dmsgbox "Your /etc/fstab is not setup to use cmg files. Please run $HOME/klik-cmg-install-root as root."
+else
+ rm -f "$HOME/klik-cmg-install-root"
+fi

-(sudo sh "$HOME/klik-cmg-install-root" && rm -f "$HOME/klik-cmg-install-root") || (dmsgbox "Your /etc/fstab is not setup to use cmg files. Please run $HOME/klik-cmg-install-root as root.")
fi

#
[/code]

GregorR
01-05-2006, 10:38 PM
A new version that detects the terminal by the desktop.



--- install 2005-12-20 13:11:44.000000000 -0500
+++ install.xterm 2006-01-05 13:30:38.000000000 -0500
@@ -81,6 +81,31 @@
esac
}

+export NATIVEXVT=rxvt
+if [ "$DIALOG" = "kdialog" ]
+then
+ export NATIVEXVT="konsole --nomenubar --notabbar --noframe --noscrollbar"
+elif [ "$DIALOG" = "zenity" ]
+then
+ export NATIVEXVT="gnome-terminal --hide-menubar"
+fi
+
+unset XVT
+# Determine what X virtual terminal to use (if applicable)
+if [ "$DISPLAY" -a "`tty | grep not`" ]
+then
+ for i in xterm \
+ rxvt \
+ "$NATIVEXVT"
+ do
+ $i --help
+ if [ "$?" != "127" ]
+ then
+ export XVT="$i -e"
+ fi
+ done
+fi
+
cat > $HOME/.klik <<\EOF
#!/bin/bash

@@ -511,8 +536,25 @@
fi
EOF
chmod 777 "$HOME/klik-cmg-install-root"
+cat > "$HOME/klik-prompt-root" <<EOF
+#!/bin/bash
+echo Please enter your root password:
+su -c "$HOME/klik-cmg-install-root"
+EOF
+chmod 777 "$HOME/klik-prompt-root"
+
+# Try su'ing to root
+$XVT $HOME/klik-prompt-root
+rm -f "$HOME/klik-prompt-root"
+
+# If that didn't work, just tell the user what to do
+if [ -z "$(cat /etc/fstab | grep app/7)" ]
+then
+ dmsgbox "Your /etc/fstab is not setup to use cmg files. Please run $HOME/klik-cmg-install-root as root."
+else
+ rm -f "$HOME/klik-cmg-install-root"
+fi

-(sudo sh "$HOME/klik-cmg-install-root" && rm -f "$HOME/klik-cmg-install-root") || (dmsgbox "Your /etc/fstab is not setup to use cmg files. Please run $HOME/klik-cmg-install-root as root.")
fi

#

GregorR
01-05-2006, 11:16 PM
New version. kdesu and gksu support.



--- install 2005-12-20 13:11:44.000000000 -0500
+++ install.xterm 2006-01-05 14:10:20.000000000 -0500
@@ -81,6 +81,59 @@
esac
}

+# Determine the native X vt
+export NATIVEXVT=rxvt
+if [ "$DIALOG" = "kdialog" ]
+then
+ export NATIVEXVT="konsole --nomenubar --notabbar --noframe --noscrollbar"
+elif [ "$DIALOG" = "zenity" ]
+then
+ export NATIVEXVT="gnome-terminal --hide-menubar"
+fi
+
+unset XVT
+# Determine what X virtual terminal to use (if applicable)
+if [ "$DISPLAY" -a "`tty | grep not`" ]
+then
+ for i in xterm \
+ rxvt \
+ "$NATIVEXVT"
+ do
+ $i --help
+ if [ "$?" != "127" ]
+ then
+ export XVT="$i -e"
+ fi
+ done
+fi
+
+# Determine how to su
+unset GUISU
+if [ "$DIALOG" = "kdialog" ]
+then
+ kdesu --help
+ if [ "$?" != "127" ]
+ then
+ export GUISU="kdesu -c"
+ fi
+elif [ "$DIALOG" = "zenity" ]
+then
+ gksu --help
+ if [ "$?" != "127" ]
+ then
+ export GUISU=gksu
+ fi
+fi
+
+visisu() {
+ if [ "$GUISU" ]
+ then
+ $GUISU $@
+ else
+ $XVT /bin/bash -c "echo Please enter your root password:; su -c $@"
+ fi
+}
+
cat > $HOME/.klik <<\EOF
#!/bin/bash

@@ -512,7 +565,17 @@
EOF
chmod 777 "$HOME/klik-cmg-install-root"

-(sudo sh "$HOME/klik-cmg-install-root" && rm -f "$HOME/klik-cmg-install-root") || (dmsgbox "Your /etc/fstab is not setup to use cmg files. Please run $HOME/klik-cmg-install-root as root.")
+# Try su'ing to root
+visisu $HOME/klik-cmg-install-root
+
+# If that didn't work, just tell the user what to do
+if [ -z "$(cat /etc/fstab | grep app/7)" ]
+then
+ dmsgbox "Your /etc/fstab is not setup to use cmg files. Please run $HOME/klik-cmg-install-root as root."
+else
+ rm -f "$HOME/klik-cmg-install-root"
+fi
+
fi

#

probono
01-06-2006, 01:00 AM
Thanks, I have uploaded it. It can be tested with

wget klik.atekon.de/client/testing/install -O -|sh

Once it is well tested on all systems, I will make it the default.

Greetings,
probono

GregorR
01-06-2006, 09:53 AM
Speaking of working on all systems ... it didn't work on Ubuntu, apparently it needs to use gksu -a instead of just gksu.



--- install 2006-01-06 00:51:51.000000000 -0800
+++ install.xterm 2006-01-06 00:52:09.000000000 -0800
@@ -81,6 +81,59 @@
esac
}

+# Determine the native X vt
+export NATIVEXVT=rxvt
+if [ "$DIALOG" = "kdialog" ]
+then
+ export NATIVEXVT="konsole --nomenubar --notabbar --noframe --noscrollbar"
+elif [ "$DIALOG" = "zenity" ]
+then
+ export NATIVEXVT="gnome-terminal --hide-menubar"
+fi
+
+unset XVT
+# Determine what X virtual terminal to use (if applicable)
+if [ "$DISPLAY" -a "`tty | grep not`" ]
+then
+ for i in xterm \
+ rxvt \
+ "$NATIVEXVT"
+ do
+ $i --help
+ if [ "$?" != "127" ]
+ then
+ export XVT="$i -e"
+ fi
+ done
+fi
+
+# Determine how to su
+unset GUISU
+if [ "$DIALOG" = "kdialog" ]
+then
+ kdesu --help
+ if [ "$?" != "127" ]
+ then
+ export GUISU="kdesu -c"
+ fi
+elif [ "$DIALOG" = "zenity" ]
+then
+ gksu --help
+ if [ "$?" != "127" ]
+ then
+ export GUISU="gksu -a"
+ fi
+fi
+
+visisu() {
+ if [ "$GUISU" ]
+ then
+ $GUISU $@
+ else
+ $XVT /bin/bash -c "echo Please enter your root password:; su -c $@"
+ fi
+}
+
cat > $HOME/.klik <<\EOF
#!/bin/bash

@@ -512,7 +565,17 @@
EOF
chmod 777 "$HOME/klik-cmg-install-root"

-(sudo sh "$HOME/klik-cmg-install-root" && rm -f "$HOME/klik-cmg-install-root") || (dmsgbox "Your /etc/fstab is not setup to use cmg files. Please run $HOME/klik-cmg-install-root as root.")
+# Try su'ing to root
+visisu $HOME/klik-cmg-install-root
+
+# If that didn't work, just tell the user what to do
+if [ -z "$(cat /etc/fstab | grep app/7)" ]
+then
+ dmsgbox "Your /etc/fstab is not setup to use cmg files. Please run $HOME/klik-cmg-install-root as root."
+else
+ rm -f "$HOME/klik-cmg-install-root"
+fi
+
fi

#

probono
01-06-2006, 08:35 PM
Hi GregorR,

it doesn't work yet on Knoppix/Kanotix from Live CD (one of klik's main usage areas). Please try it there.
(You must use "sudo su" there to become root because no root password is set.)

Greetings,
probono

clintbrot
01-20-2006, 09:07 PM
This patch works great with MEPIS 3.4-3 rc1 it is now easier than ever to use klik!!!

wget klik.atekon.de/client/testing/install -O -|sh

You guys rock!!!