Xdialog für apt

Alles rund um die Installation Eures Linuxsystems, sowie die Updatefunktionen des Systems und das Paketmanagement

Moderator: Moderatoren

Antworten
Gast

Xdialog für apt

Beitrag von Gast » 16. Feb 2005, 10:51

==> EDIT MODERATOR
wurde aus diesem Thread abgespalten:
apt installiert nicht / apt -f install meldet Fehler
http://www.linux-club.de/viewtopic.php?t=26427
<== EDIT MODERATOR

oc2pus hat geschrieben: Dieses braucht XDialog.
Hallo oc2pus.
Ich habe mir so einige Scripte mit Xdialog ausgestattet, nur schade das Xdialog nicht per apt vefügbar ist. Ich hab mir das bisher immer selber übersetzt. Früher war das bei SuSE mal dabei, nun aber nicht mehr. Vielleicht bist da ja so nett es in deinem Repositorie zür Verfügung zustellen. Das ist bestimmt auch für andere Leute interesant. In den Sourcen ist ein fertiger Specfile dabei. Ansonsten wird mein Compiler bei einer neuen Version wieder seine Arbeit leisten. Hab mir bisher immer ein /usr/local Paket übersetzt :oops:

Ich hoffe ich überlaste dich nicht mit der Bitte.

http://thgodef.nerim.net/xdialog/

Gruß Holgi...

Werbung:
Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 16. Feb 2005, 11:17

misterhsp hat geschrieben:Ich habe mir so einige Scripte mit Xdialog ausgestattet, nur schade das Xdialog nicht per apt vefügbar ist. Ich hab mir das bisher immer selber übersetzt. Früher war das bei SuSE mal dabei, nun aber nicht mehr. Vielleicht bist da ja so nett es in deinem Repositorie zür Verfügung zustellen. Das ist bestimmt auch für andere Leute interesant. In den Sourcen ist ein fertiger Specfile dabei. Ansonsten wird mein Compiler bei einer neuen Version wieder seine Arbeit leisten. Hab mir bisher immer ein /usr/local Paket übersetzt :oops:
deinem Wunsche kann entsprochen werden ;)
Zuletzt geändert von oc2pus am 17. Feb 2005, 09:38, insgesamt 2-mal geändert.
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 17. Feb 2005, 09:39

Xdialog liegt vor im Repository suser-oc2pus für SuSE-9.2 und SuSE-9.1
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

Gast

Beitrag von Gast » 17. Feb 2005, 10:36

Ein großes dickes Dankeschön an oc2pus.

Und für alle die jetzt mal sehen möchen was mit Xdialog so möglich ist,
hier ein kleiner Script mit dem ich meine CD-ROMs aus Zeitschriften
archiviere. Man beachte dieses ist ein Kornshellscript. Des weiteren werden
die findutils-locate benötigt. Und natürlich an seine eigenen Verhältnisse anpassen.

Code: Alles auswählen

#!/bin/ksh
#.....................................................................................
#.... Initialsierungen ...............................................................
#.....................................................................................
trap ''  1 2 3 15  # Ab jetzt die Signale 1 2 3 15 ignorieren ........................
#
DIALOG=`which Xdialog`
if [ "$DIALOG" = "" ]
	then
	echo "Xdialog not found."
	echo "required by `basename $0`."
	exit 1
fi
#
typeset -l -L1 ANTWORT
alias open=exec
typeset TMPDIR="/tmp"                  # hier erwünschten Pfad anpassen.
CDROM_IMAGES="$HOME/CD-Rom-Images"     # hier erwünschten Pfad anpassen.
CDROM_ARCHIVE="$HOME/datacd.db"        # hier erwünschten Pfad anpassen.
CDROM_DEV="/dev/dvd"                   # hier CD-ROM Device entsprechend ändern (Defaulf Einstellung).
MOUNT_POINT="/media/dvd"               # hier den Mountpunkt entsprechend ändern (Defaulf Einstellung).
LAUFWERK="DVD-ROM"                     # hier den Laufwerksnamen setzen (Defaulf Einstellung).
#
#.....................................................................................
#.... Function laufwerwaehlen ........................................................
#.....................................................................................
function laufwerwaehlen
{
#
"$DIALOG" --title "Daten CD-Verwaltung" \
--radiolist "Laufwerk auswählen." 0 0 0 \
		"/media/dvd" "(DVD-ROM Laufwerk)" on \
		"/media/cdrecorder" "(CD-Brenner)" off 2> "$TMPDIR"/mountpath.$$
#
	MOUNT_POINT=$(cat "$TMPDIR"/mountpath.$$)
	rm "$TMPDIR"/mountpath.$$
#
		if [[ -z "$MOUNT_POINT" ]]
			then return
		fi
#
	if [[ "$MOUNT_POINT" = "/media/dvd" ]]
		then	CDROM_DEV="/dev/dvd"
			LAUFWERK="DVD-ROM"
	fi
#
	if [[ "$MOUNT_POINT" = "/media/cdrecorder" ]]
		then	CDROM_DEV="/dev/cdrecorder"
			LAUFWERK="CD-Brenner"
	fi
}
#.... Function laufwerwaehlen Ende ...................................................
#
#.....................................................................................
#.... Function cd_lesen ..............................................................
#.....................................................................................
function cd_lesen
{
( sleep 1;echo "X"; ( mount "$CDROM_DEV" ; find "$MOUNT_POINT" -maxdepth 7 -print | sed "s;^$MOUNT_POINT;$1;" > "$CDROM_IMAGES"/$1.cdrom ; eject "$CDROM_DEV" ) ) | \
"$DIALOG" --title "Daten CD-Verwaltung" --no-buttons \
--infobox "\nCD wird eingelesen.\n\nbitte warten..." 10 35 0
UPDATE="YES"
}
#.... Function cd_lesen Ende .........................................................
#
#.....................................................................................
#.... Function neueintrag  ...........................................................
#.....................................................................................
function neueintrag
{
typeset INPUTDAT="$TMPDIR/dialinput.$$"
	"$DIALOG" --title "Daten CD-Verwaltung" \
	--inputbox "Eindeutigen Namen für die CD:\nReturn = zurück" 0 0 2>"$INPUTDAT"
	ANTWORT="$?"
	if [[ "$ANTWORT" = "0" ]]
		then	CD_NAME=$(cat "$INPUTDAT")
			rm -f "$INPUTDAT"
		else	rm -f "$INPUTDAT"
			return 0
        fi
#
	while [[ -n "$CD_NAME" ]]; do
	cd_lesen "$CD_NAME"

	"$DIALOG" --title "Daten CD-Verwaltung" \
	--inputbox "Eindeutigen Namen für die nächste CD:\nReturn = zurück" 0 0 2>"$INPUTDAT"
	ANTWORT="$?"
		if [[ "$ANTWORT" = "0" ]]
			then	CD_NAME=$(cat "$INPUTDAT")
				rm -f "$INPUTDAT"
			else	rm -f "$INPUTDAT"
				return 0
		fi
	done
# datenbank_aktualisieren
}
#.... Function neueintrag Ende .......................................................
#
#.....................................................................................
#... Function Datenbank aktualisieren ................................................
#.....................................................................................
function datenbank_aktualisieren
{
( sleep 1;echo "X"; ( cat "$CDROM_IMAGES"/*.cdrom | sort -f | /usr/lib/find/frcode >"$CDROM_ARCHIVE" umount "$CDROM_DEV" ) 2>/dev/null ) | \
"$DIALOG" --title "Daten CD-Verwaltung" --no-buttons \
--infobox "Aktualisiere Datenbank.\n\nbitte warten..." 10 35 0
}
#.....................................................................................
#... Function Datenbank aktualisieren Ende ...........................................
#.....................................................................................
#
#.....................................................................................
#.... Function loeschen ..............................................................
#.....................................................................................
function loeschen
{
DATEI=`"$DIALOG" --stdout --title "Zu löschender CD-Eintrag auswählen." --fselect "$CDROM_IMAGES" 0 0`
case "$?" in
	0)	rm -f "$DATEI"
		UPDATE="YES" ;;
	*)	return 0 ;;
esac
}
#.....................................................................................
#.... Function loeschen Ende .........................................................
#.....................................................................................
#
#.....................................................................................
#... Function suche ..................................................................
#.....................................................................................
function suche
{
        typeset INPUTDAT="$TMPDIR/dialinput.$$"
        typeset AUSGABEDAT="$TMPDIR/ausgabe.$$"
        typeset TMPDAT="$TMPDIR/gefunden.$$"
        typeset MUSTER
#.....................................................................................
	if (($# == 0))
		then	"$DIALOG" --title "Daten CD-Verwaltung" \
			--inputbox "Muster für das zu suchende Programm:\nReturn = zurück" 0 0 2>"$INPUTDAT"
			ANTWORT="$?"
			if [[ "$ANTWORT" = "0" ]]
				then	MUSTER=$(cat "$INPUTDAT")
					rm -f "$INPUTDAT"
				else	rm -f "$INPUTDAT"
					return 0
                	fi
		else MUSTER="$1"
	fi
#
while [[ -n "$MUSTER" ]]
do	( sleep 1;echo "X"; ( locate -d "$CDROM_ARCHIVE" "$MUSTER" >"$TMPDAT" 2>/dev/null
		if [[ -s "$TMPDAT" ]]
			then	open 3< "$TMPDAT"
				while read -u3 -r ZEILE
				do	echo "$ZEILE" >>"$AUSGABEDAT"
				done
				rm -f "$TMPDAT"
				"$DIALOG" --title "Daten CD-Verwaltung" --no-cancel --textbox "$AUSGABEDAT" 0 0
				rm -f "$AUSGABEDAT"
			else	"$DIALOG" --title "Daten CD-Verwaltung" --beep \
				--msgbox "\nProgramm '$MUSTER' nicht gefunden" 0 0
				rm -f "$TMPDAT"
                fi ) ) | \
		"$DIALOG" --title "Daten CD-Verwaltung" --no-buttons \
		--infobox "\ndurchsuche Datenbank.\n\nbitte warten..." 10 35 0
#
	if (($# != 0))
		then break
	fi
#
	"$DIALOG" --title "Daten CD-Verwaltung" \
	--inputbox "Muster für das zu suchende Programm:\nReturn = zurück" 0 0 2>"$INPUTDAT"
	ANTWORT="$?"
	if [[ "$ANTWORT" = "0" ]]
		then	MUSTER=$(cat "$INPUTDAT")
			rm -f "$INPUTDAT"
		else	rm -f "$INPUTDAT"
			return 0
	fi
done
}
#.... Function suche Ende ............................................................
#
#.....................................................................................
#.... Hauptprogramm ..................................................................
#.....................................................................................
#
if [[ ! -f "$CDROM_ARCHIVE" ]]
then	"$DIALOG" --title "H S P" \
--yesno "CD-ROM Archive\n'$CDROM_ARCHIVE'\nexistiert nicht.\n\nSoll es erstellt werden ?" 0 0
#
	AUSWAHL="$?"
	if [[ "$AUSWAHL" != "0" ]]
	then	 exit 1
	fi
	>"$CDROM_ARCHIVE" ||
		{
		"$DIALOG" --title "Information" --beep \
		--msgbox "Anlegen von CD-ROM Archive\n'$CDROM_ARCHIVE' nicht möglich" 0 0 >&2
		exit 1
		}
fi
#
if [[ ! -d "$CDROM_IMAGES" ]]
	then	"$DIALOG" --title "H S P" \
	--yesno "CD-ROM Image Verzeichnis\n'$CDROM_IMAGES'\nexistiert nicht.\n\nSoll es erstellt werden ?" 0 0
	AUSWAHL="$?"
	if [[ "$AUSWAHL" != "0" ]]
		then	exit 1
	fi
fi
mkdir -p "$CDROM_IMAGES"
#.....................................................................................
if (( $# != 0 ))
	then	for i
		do suche "$i"
		done
	exit 0
fi
#.....................................................................................
while : ; do
typeset DIALMENU="$TMPDIR/dialmenu.$$"
DATEN_ANZ=`ls "$CDROM_IMAGES" | wc -l`
#
"$DIALOG" --title "H S P" \
--menu "Daten CD-Verwaltung\n\n\
Datenbank enthält $DATEN_ANZ Datensätze." 15 45 5 \
	"1" "Programm suchen." \
	"2" "Neueintrag." \
	"3" "Eintrag löschen." \
	"4" "Laufwerk wählen (Ausgewählt ist "$LAUFWERK")." \
	"5" "CD-Verwaltung beenden." 2>"$DIALMENU"
#
	AUSWAHL="$?"
	if [[ "$AUSWAHL" = "0" ]]
		then	MENUPKT=$(cat "$DIALMENU")
			if [[ "$MENUPKT" = "1" ]] ; then suche ; fi
			if [[ "$MENUPKT" = "2" ]] ; then neueintrag ; fi
			if [[ "$MENUPKT" = "3" ]] ; then loeschen ; fi
			if [[ "$MENUPKT" = "4" ]] ; then laufwerwaehlen ; fi
				if [[ "$MENUPKT" = "5" ]]
					then	rm -f "$DIALMENU"
						break
                        	fi
		else	rm -f "$DIALMENU"
			break
	fi
done

if [[ "$UPDATE" = "YES" ]]
	then	datenbank_aktualisieren
fi
#
chmod 600 $CDROM_IMAGES/*
chmod 600 $CDROM_ARCHIVE

herpes
Newbie
Newbie
Beiträge: 17
Registriert: 2. Feb 2005, 10:51

Beitrag von herpes » 17. Feb 2005, 10:57

Xdialog liegt vor im Repository suser-oc2pus für SuSE-9.2 und SuSE-9.1
liegt bitte wo???
ich bin auch auf der suche nach xdialog fuer apt... *zwinker zwinker*
vielen dank
steffi

Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 17. Feb 2005, 10:59

herpes hat geschrieben:
Xdialog liegt vor im Repository suser-oc2pus für SuSE-9.2 und SuSE-9.1
liegt bitte wo???
füge folgende Zeile in deine /etc/apt/sources.list ein:

Code: Alles auswählen

rpm http://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.2-i386 suser-oc2pus
bzw 9.1 oder 8.2
danach apt update nicht vergessen :)

Installation von Xdialog erfolgt dann mit
apt install Xdialog
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

herpes
Newbie
Newbie
Beiträge: 17
Registriert: 2. Feb 2005, 10:51

danke!

Beitrag von herpes » 17. Feb 2005, 11:47

hallo oct2pus
vielen dank!
dein link war in der liste schon entahlten:), war aber auskommentiert.
wurde wohl mit den gebo apt tutorial scripten http://www.linux-club.de/viewtopic.php?t=24634 in die liste gescchrieben.

schoene gruesse
steffi

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste