Page 1 of 1

Recoverykonsole von Ubuntu

Posted: 10. Jan 2014 17:53
by Andreas 1967
Ich habe eine relativ allgemeine Frage ohne ins Detail zu gehen.

Den Wiederherstellungsmodus finde ich zur Zeit faszinierend.

Es gibt verschiedene Kompiler zum Beispiel gambas oder Ncurses (Erweiterung) oder xdialog (alt) dialog (neu), oder Qt oder gtk usw.

Welche Programmiertechnik könnt ihr mir Empfelen damit ich Programme programmieren kann die optisch ansprechend sind und funktionstüchtig sind?

VORKENNTNISSE

Posted: 10. Jan 2014 21:28
by UPS
Wie sind deine Vorkenntnisse, wieviel Zeit ist Du bereit zu investieren und was sollen die Programme können?

Also Optik müssen sie bringen:
Einfache Dialoge oder Abfrage: kdialog
V.-Basic-Vorkenntnisse: gambas
Vielseitig, aber mit Lernaufwand und nicht ohne Mühe und Buch: Java

Posted: 10. Jan 2014 23:38
by Janka

Code: Select all

#!/usr/bin/tclsh
package require Tk

label .l -text "Ich bin ein erklärender Text."
button .b -text "Drück mich und das Programm ist zu Ende" -command exit

pack .l
pack .b
Das ist simpel wie xdialog, dabei aber viel besser konfigurierbar.

Janka

Posted: 11. Jan 2014 4:09
by Andreas 1967
Den folgenden

Code: Select all

#!/usr/bin/tclsh
package require Tk

label .l -text "Ich bin ein erklärender Text."
button .b -text "Drück mich und das Programm ist zu Ende" -command exit

pack .l
pack .b 
habe ich in gedit editiert , wie gepostet, und dann in einer Datei (test.sh) abgespeichert.
Auf dem Ubuntu Desktop, bei gestarteter Desktopoberfläche bekam ich folgende
Ausgabe.
bash: /home/internet/Arbeitsfläche/test.sh: /usr/bin/tclsh: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
Installiert habe ich nichts, neues auch kein Paket TK.

Ab jetzt >>>

Posted: 11. Jan 2014 5:45
by Andreas 1967
Habe folgendes installiert >>>

Code: Select all

sudo apt-get install tcl8.5 tk8.5 expect 
Auf Script geklickt, und auf Ubuntu Desktop funktioniert es,
aber in Recoveryconsole (Wiederherstellungsmodus) nicht
Befehl kann nicht gefunden werden

Posted: 11. Jan 2014 14:04
by Janka
Vermutlich liegt die Datei nicht im Pfad. Musst du explizit den gesamten Verzeichnispfad voranstellen: /blablu/foo/bar/test.sh

Janka

Fehlermeldung

Posted: 11. Jan 2014 14:29
by Andreas 1967
Nachdem ich in der Recoverconsole das tcl script /root/test.sh mit 'Enter' bestätigt hatte bekam ich folgende Fehlermeldung >>
no display name and no $DISPLAY environment variable while executing ...

Re: Fehlermeldung

Posted: 11. Jan 2014 22:16
by Janka
Andreas 1967 wrote:Nachdem ich in der Recoverconsole das tcl script /root/test.sh mit 'Enter' bestätigt hatte bekam ich folgende Fehlermeldung >>
no display name and no $DISPLAY environment variable while executing ...
Dann läuft da vermutlich kein X. Oder, falls doch, fehlt ein "export DISPLAY=:0".


Janka

Funktioniert so nicht.

Posted: 12. Jan 2014 6:11
by Andreas 1967
Ich habe den folgenden

Code: Select all

#!/usr/bin/tclsh
"export DISPLAY=:0"
package require Tk

label .l -text "Ich bin ein erklärender Text."
button .b -text "Drück mich und das Programm ist zu Ende" -command exit

pack .l
pack .b 
abgespeichert. Dann habe ich den Recoverymodus von grub gestartet.
Als Fehlermeldung bekam ich folgendes >>>
invalid command name "export Display=:0"
...

Funktioniert so nicht.

Posted: 12. Jan 2014 20:52
by Janka
Das export DISPLAY=:0 musst du in der Shell angeben, bevor du das Skript aufrufst. So wird das allerdings vermutlich sowieso nichts. Es reicht nicht, von etwas "fasziniert" zu sein. Dir fehlt bereits Grundwissen in der Shell. Da ist das Programmieren noch ganz weit weg.

Janka

couldn't connect to ":0"

Posted: 13. Jan 2014 4:41
by Andreas 1967
Janka
Das export DISPLAY=:0 musst du in der Shell angeben, bevor du das Skript aufrufst.
Funktioniert auch nicht
Im Recoverymodus habe ich im Terminal folgendes gemacht

Code: Select all

mount -o remount, /rw

Code: Select all

export DISPLAY=:0
Das Terminal>>>
couldn't connect to ":0" while executing

Posted: 13. Jan 2014 13:43
by Janka
Dann läuft da kein X und du kannst in dieser "Recovery-Konsole" nur Werkzeug benutzen, das im Textmodus oder mit dem Framebuffer funktioniert. DirectFB kann das z.B. oder SDL oder Qt, wenn es mit Framebuffer-Support kompiliert wurde. Oder du schreibst die Zeichenfunktionen selbst und schiebst selbst Pixel in den Framebuffer.

Janka