ubuntuusers.de

Skript für Linux programmieren?

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

MasterLinux

Anmeldungsdatum:
26. Juli 2007

Beiträge: Zähle...

Guten Abend,
da ich anscheinend ein Problem mit meiner Grafikkarte habe wollte ich ein Workaround schreiben um dieses Problem zu umgehen. DAs Problem ist das Kubuntu bzw der XServer beim starten nicht erkennt, das eine Nvidia Grafikkarte vorhanden ist und so den xserver nicht startet. Wenn aber die Grafikkarte in der xorg.conf auf vesa eingestellt ist startet die grafische Oberfläche Tadellos ohne die xorg.conf zu zerhauen. Hatte vor kurzen ein Thread eröffnet gehabt, aber keiner konnte mir helfen...

Jetzt wollte ich ein Skript schreiben, das beim herunterfahren von Kubuntu die xorg.conf so umschreibt das eine vesa Grafikkarte vorhanden ist und beim starten von Linux die vesa mit der nvidia Grafikkarte erstezt und den xserver automatisch neustartet.

Ich wollte es auch hinbiegen, das ich nur einmal beim Starten und einmal beim Herunterfahren das Systempasswort abgefragt wird, so das ich mir nicht immer die Mühe machen muss, alles manuell zu machen.

Ich hoffe ihr könnt mir ein paar Weblinks zu How-tos bzw. Tutorials schicken, mir Tipps geben und vllt. sagen ob das Überhaupt möglich ist was ich vorhabe. Ich hatte bis jetzt nur 1 Jahr C++, 2 Jahre C und 3 Jahre PHP und MYSSQL. Also ich hab nicht die größten Programierkenntnisse, aber ich hab dass nötige Programmierverständnis und habe kein Problem ne neue Programmiersprache zu lernen \^^

mfg.

Der_Gestreifte

Avatar von Der_Gestreifte

Anmeldungsdatum:
21. Juni 2007

Beiträge: 1261

Wohnort: Nürnberg

Beim Booten werden die Skripte in /etc/init.d mit dem Parameter "start" aufgerufen, beim Runterfahren mit dem Parameter "stop".
Der erste einem Shellskript übergebene Parameter ist $1.
Das Skript ist in diesem Fall "/etc/init.d/kdm" (oder gdm, wenn Du gnome benutzt)
Ein solches Skript kann zum testen von root an der Kommandozeile mit "/etc/init.d/skript start" aufgerufen werden und sieht grob so aus:

DIVERSE DEFINITIONEN
case $1 in 
    start)
    tu irgend was
    ;;
    stop)
    tu was anderes
    ;;
esac


Du kannst also im stop-Zweig "vesa" in die Datei schreiben lassen und in den start-Zweig "nvidia":

sed -i s/ausdruck/ersetzung/ /etc/X11/xorg.conf

Die letzte Datei, die beim Booten ausgeführt wird, ist "/etc/rc.local". Um den Xserver neu zu starten, schreibst du da rein (wieder gdm, falls du gnome benutzt):

/etc/init.d/kdm restart

Das Ganze ist aber sehr, sehr hässlich und beschleunigt das Boooten in die grafische Oberfläche nicht gerade.
Dass Du Backups der betroffenen Dateien brauchst, ist Dir klar. ☺

Mehr oder weniger die manpage auf deutsch, mit Beispielen, ganz hervorragend wikibook linuxfibel

MasterLinux

(Themenstarter)

Anmeldungsdatum:
26. Juli 2007

Beiträge: 5

Danke ☺
Ich werde das jetzt mal umsetzten und testen. \^^

Ich glaube meine Grafikkarte ist defekt und bin daher mit solch einer Lösung sehr zufrieden. Ist mir zumindestens lieber als mir ne neue Graka kaufen zu müssen 😉 Und da ich gemerkt habe das Kubuntu nicht mit der nvidia Angabe in der xorg.conf startet, aber mit vesa. Und ich immer nachdem der xserver einmal gestartet war und ich die xorg.conf bearbeitet hatte und den xserver neugestartet hatte. Was immer funktionierte. Denke ich das diese Lösung meine Lösung ist, hehe 😀

Da bin ich mal gespannt \^^

nochmal Danke

MasterLinux

(Themenstarter)

Anmeldungsdatum:
26. Juli 2007

Beiträge: 5

So hab das gestern Abend umgesetzt und es klappt wie erhofft ☺

Nochmals Danke für die Weblinks, die waren sehr nützlich und werden es wohl auch noch später sein 😉

mfg.

Antworten |