Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Installatore interattivo da shell

    Ciao!
    Sto costruendo un'applicazione in grado di installare Apache (per ora) da Shell ma mi sono fermato su un profondo dilemma.
    Volendo dare la possibilità di scegliere quali moduli installare e altre amenità avevo instenzione di usare dialog che ho trovato molto interessante per questi scopi, ma non è quasi mai installato.
    Così mi pongo questo dilemma, ovvero come posso ovviare alla mancanza di dialog?
    Installarlo con un bel apt-get ma, così l'installer deve girare sotto root o quanto meno devo mettere un sudo davanti ad apt-get; d'accordo sto costruendo l'installer per sistemi Debian, ma nulla e nessuno vieta di usarlo sotto Red Hat ad esempio, oppure ovviare con qualcosaltro, ma cosa?

  2. #2
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,578
    "metti" il pacchetto dialog nelle dipendenze necessarie all'utilizzo del tuo pacchetto.

    ciao
    slack? smack!

  3. #3
    Originariamente inviato da cacao74
    "metti" il pacchetto dialog nelle dipendenze necessarie all'utilizzo del tuo pacchetto.

    ciao
    Perfetto! Ma volevo evitare di forzare l'utente ad installare qualcosa che non gli serve, in ogni caso penso che farò così.

  4. #4
    Ho trovato il modo almeno spero
    dunque: con un amico siamo arrivati ad una conclusione che sicuramente porterà a qualche scompenso ma al momento sembra la via più praticabile.
    In poche parole abbiamo pensato che dialog in genere viene usato da quegli installatori "grafici" via shell, quelli in genere che usano le ncurses dure e pure, in pratica pochi programmi oramai, mentre per tutti gli altri installatori si usa xdialog o i suoi derivati (gdialog, kdialog), in pratica comunque la si veda o c'è installato un server grafico come il vetusto Xfree86 o lo XOrg, in tutti questi casi xdialog c'è, se no dialog.
    Ovviamente, dato che dialog altro non è che una specie di wrapper per facilitare l'uso delle ncurses, se proprio non c'è ... troverò il modo di farcelo stare
    Quindi grazie anche alla guida avanzata allo scripting Bash ho realizzato questo semplice work around per verificare se c'è un programma o nel caso di lanciarne un altro:
    codice:
    	CMD=dialog	#	Contiene il programma di interfaccia
    
    #	Verifica se tutto ciò che verrà usato è presente nel sistema
    #+	dialog oppure altri programmi analoghi
    verifica=$(whatis "$CMD" | grep \/)	#	se il risultato è false (0 - zero) dialog non è installato
    if [ -z "$verifica" ]	# Verifica se il comando esiste
    then
    	CMD=xdialog	# altrimenti ne usa un altro
    fi
    
    $CMD --title "Installatore: $0" --textbox $0 $ALTEZZA $LARGHEZZA
    
    #	Uscita regolare dal programma
    exit 0

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.