staging.inyokaproject.org

GUI-Script für qrencode

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

Großer

Avatar von Großer

Anmeldungsdatum:
2. August 2006

Beiträge: 138

Hallo Sonja,

besten Dank für die Info. Ich habe noch einen Gnome-PC, da kann ich das Script dann auch starten.

Beste Grüße,

Großer

Großer

Avatar von Großer

Anmeldungsdatum:
2. August 2006

Beiträge: 138

Ich habe das Script unter Ubuntu 11.10 auch nur mit einem zu großen Screen wie unter KDE starten können. Aber man drückt dann einfach "Enter" und das Script arbeitet mit brauchbaren Screens weiter. Das Script funktioniert bei mir sonst einwandfrei - vielen Dank für deine Arbeit!

Beste Grüße,

Großer

tahr09

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Hey, ich habe auch mal einen Blick darauf geworfen.

Wenn man qrencode nicht installiert hat, dann schließt sich das Script sofort wieder.

Von deinem

echo "qrencode ist nicht installiert!! Bitte installieren Sie es nach!"

sieht man also keine Spur. Das hast du zwar richtig angedacht, funktioniert aber in der Praxis nicht.

Ansonsten sieht das Script ganz vernünftig aus.

Verbesserungsvorschlag, um es dem unwissenden User leichter zu machen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# ist zenity installiert? Wenn nein, frage nach installation.
if [ ! -n "$(which zenity)" ]; then
 clear
 zenity --question --text="Zenity ist nicht installiert. Möchtest du Zenity jetzt installieren?" --title"Fehler
"
 if [ $? = 1 ]
 then
  zenity --error --text="Abbruch"
  exit 1
 else
  sudo apt-get install zenity
  zenity --info --text="Zenity wurde installiert."
 fi
fi

Gleiche Vorgehensweise mit dem qrencode Check.

Da ich beide Programme installiert habe, kann ich den Spaß gerade nicht testen.

Deinstallieren möchte ich dafür nicht.

Das mit KDE ist ein Riesenaufwand.. Dafür hast du zu viel Zenity. Da müsste man das Script ja fast neu schreiben. Das gäbe ein if/then/else/fi Chaos.

lg

busfahrer

Avatar von busfahrer

Anmeldungsdatum:
9. April 2007

Beiträge: 3052

@Julian92 verstehe ich das richtig? Du willst prüfen ob Zenity installiert ist

# ist zenity installiert? Wenn nein, frage nach installation.
if [ ! -n "$(which zenity)" ];

um dann mit einem Zenity-Fenster zu fragen ob Zenity installiert werden soll

zenity --question --text="Zenity ist nicht installiert. Möchtest du Zenity jetzt installieren?" --title"Fehler"

😲 Da bin ich ja gespannt wie das funktionieren soll 🤣 Du solltest über diesen Vorschlag noch einmal nachdenken 😉

Gruß...busfahrer

tahr09

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Oh.. 😇

Aber ja doch... 😳

Zu wenig gedacht..

Zenity ist bei mir schon zu fest im Denken verankert.

Dann so:

1
2
3
4
5
6
7
# Wenn Zenity nicht installiert ist, installiere es.
if [ ! -n "$(which zenity)" ]; then
 sudo apt-get install zenity
 zenity --info --text="Zenity wurde installiert."
else
 echo "zenity ist installiert"
fi

lg

Commander_Data

Avatar von Commander_Data

Anmeldungsdatum:
18. September 2011

Beiträge: 417

Ich habe das Skript jetzt nicht ausprobiert und nur teilweise gelesen, aber dennoch ein paar Vorschläge:

Ich denke, dass das Skript ohne Nachfrage nicht einfach Software installieren sollte (wie von Julian92 vorgeschlagen). Außerdem "hängt" das Skript evtl. sogar bis zum nächsten Ausschalten des Computers, da sudo auf eine Passwort-Eingabe wartet, wenn man es ohne eine Konsole startet.

Ich würde das etwa so lösen:

1
2
3
4
5
6
7
# Wenn Zenity nicht installiert ist, breche ab.
if which zenity &> /dev/null; then
 echo "zenity ist bereits installiert"
else
 echo "Bitte installieren Sie zenity! Sie können das mit einem Befehl wie diesem tun: sudo apt-get install zenity"
 exit 1
fi

Oder auch so (still, wenn zenity schon installiert ist):

1
2
3
4
5
# Wenn Zenity nicht installiert ist, breche ab.
if ! which zenity &> /dev/null; then
 echo "Bitte installieren Sie zenity! Sie können das mit einem Befehl wie diesem tun: sudo apt-get install zenity"
 exit 1
fi

Julian92 schrieb:

Von deinem

echo "qrencode ist nicht installiert!! Bitte installieren Sie es nach!"

sieht man also keine Spur. Das hast du zwar richtig angedacht, funktioniert aber in der Praxis nicht.

Ich weiß nicht genau, was damit gemeint ist. Wenn das Skript in einer Konsole gestartet wird, sollte es funktionieren. Falls sich bei der Ausführung des Skriptes ein Konsolenfenster öffnet, das sich beim Skript-Ende wieder schließt, kann man das Skript ja manuell in einer Konsole starten. Man könnte auch ein sleep einbauen, das vor dem exit noch ein paar Sekunden wartet. (Etwas offtopic: Wenn ein Programm nicht startet, ist es sowieso oft schlau, es mal in einer Konsole zu starten, um Fehlermeldungen lesen zu können.)


sonja schrieb (am 25.2.):

zu 2.das liegt zum teil am Decoder wie du vermutest, ggf. kann man bei den einzelnen Eingaben ein Zeilenvorschub mit anhängen mit "/n" (mal testen)

Unter auswahl_Mecard wird anscheinend noch eine einzeilige Ausgabe erzeugt, daher zwei Vorschläge (vielleicht funktioniert es; ich kenne qrencode nicht):

  • statt "/n" "\n" verwenden (meist wird eher ein "\" für "Escape-Sequenzen" verwendet; Beispiel: echo -e 'Zeile 1\nZeile 2')

  • einen echten Zeilenumbruch einbauen:

    START=$"MECARD:
    N"
Antworten |