revealed
Guru
Hallo!
Ich hab eine Frage, vielleicht währe jemand so nett?
Und zwar:
In einer /etc/sysconfig datei steht ein Wert. Dieser kann zwei Zustände haben (quasi):
Ja und Nein; -> Es handelt sich um den Wert für Xgl oder Xorg mit oder ohne AIGLX;
Dann habe ich eben in einer weiteren Configdatei einen weiteren Bool: (Ja/Nein); (AIGLX on/off);
Jetzt möchte ich entsprechend der Stellung dieser bool´s eine Funktion auslösen, oder nicht. (compiz fusion);
Das habe ich soweit schon geschafft:
(ist eine Erweiterung für die aus dem SuSE Wiki; Dazu gibts erstmal die entsprechende "xsession" file -- der Vollständigkeit halber):
Und den Code:::::
Jetzt wurde mir heute gesagt, dass es noch die Möglichkeit gibt, beispielsweise in C++ ; Dass man eben "und" "oder" verwendet. Ihr wisst sicher, worauf ich anspielen möchte? Was die Idee eben währe, beispielsweise zu sagen
"wenn a und nicht b ist compiz"
"wenn nicht a und b ist compiz"
"wenn nicht b und nicht a" nicht compiz"
?
Macht das überhaupt sinn die zwei bools quasi zu einem bool zu machen?
Was ich herausfinden möchte ist: Wenn ich in dem File weitere bools hätte die als Bedingung für den Start von compiz fusion gelten würden, dann müsste ich immer weitere Vergleichende Abfragen hinzufügen, für jede Bedingung?
Vielen Dank für Tipps!
Dann nöch die Frage, ob ich zur Sicherheit einbauen sollte, dass falls Xgl an ist und AIGLX auch, dass dann compiz fusion eben nicht startet und eventuel einen kdialog mit einer entsprechenden Meldung öffnet? Das währe quasi ein verbotener Zustand?
Um es nochmal zu konkretisieren:
Ich möchte eine Abfrage;
Wenn AIGLX an und Xgl an, dann kein compiz fusion aber dialog;
Das hiesse ich möchte so anfangen:
Kann es aber nicht umsetzen, weil ich nicht weiss, wie ich sagen kann:
--> wenn AIGLX an und Xgl an, dann ab! ?=?
also das müsste in die Richtung gehen?
Wie macht man "UND" ?
Ich glaub ich habs gefunden!!
Ich glaub ich wusste vorher garnicht genau was ich wollte... [gelöst]
Also das "-a" ist ein logisches UND ?
quelle:
http://www.chemie.fu-berlin.de/chemnet/general/topics/scripts_sh.html
Gruß
R
Ich hab eine Frage, vielleicht währe jemand so nett?
Und zwar:
In einer /etc/sysconfig datei steht ein Wert. Dieser kann zwei Zustände haben (quasi):
Ja und Nein; -> Es handelt sich um den Wert für Xgl oder Xorg mit oder ohne AIGLX;
Dann habe ich eben in einer weiteren Configdatei einen weiteren Bool: (Ja/Nein); (AIGLX on/off);
Jetzt möchte ich entsprechend der Stellung dieser bool´s eine Funktion auslösen, oder nicht. (compiz fusion);
Das habe ich soweit schon geschafft:
(ist eine Erweiterung für die aus dem SuSE Wiki; Dazu gibts erstmal die entsprechende "xsession" file -- der Vollständigkeit halber):
Code:
[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=/usr/local/bin/startcompiz.sh
Name=KDE mit compiz Fusion
Comment=KDE mit Compiz Fusion
Code:
#!/bin/sh
set -x
# Das Script entscheidet Anhand des Wertes in der Xorg.conf und einem Sysconfigwert,
# ob AIGLX oder XGL als Session gestartet werden soll.
# Wenn keine Bedingung zutrifft, startet compiz fusion nicht.
#
## Pfade zu startkde und stargnome ##
START="/opt/kde3/bin/startkde";
#START="PFAD ZUM STARTEN VON GNOME";
## Fusion Variable ##
varfuse="/usr/local/bin/fusion.sh";
## AIGLX Variablen ##
varglx="$(grep '"AIGLX" "' /etc/X11/xorg.conf | awk -F '\" ' '{ print$2 }')";
varcom='"on"';
## XGL Variablen ##
varxgl="$(grep "DISPLAYMANAGER_XSERVER=" /etc/sysconfig/displaymanager | awk -F \" '{ print$2 }')";
varcomx="Xgl";
if [ "$varglx" = "$varcom" ]; then
$varfuse;
elif [ "$varxgl" = "$varcomx" ]; then
$varfuse;
else $START;
fi;
## /EOF
Jetzt wurde mir heute gesagt, dass es noch die Möglichkeit gibt, beispielsweise in C++ ; Dass man eben "und" "oder" verwendet. Ihr wisst sicher, worauf ich anspielen möchte? Was die Idee eben währe, beispielsweise zu sagen
"wenn a und nicht b ist compiz"
"wenn nicht a und b ist compiz"
"wenn nicht b und nicht a" nicht compiz"
?
Macht das überhaupt sinn die zwei bools quasi zu einem bool zu machen?
Was ich herausfinden möchte ist: Wenn ich in dem File weitere bools hätte die als Bedingung für den Start von compiz fusion gelten würden, dann müsste ich immer weitere Vergleichende Abfragen hinzufügen, für jede Bedingung?
Vielen Dank für Tipps!
Dann nöch die Frage, ob ich zur Sicherheit einbauen sollte, dass falls Xgl an ist und AIGLX auch, dass dann compiz fusion eben nicht startet und eventuel einen kdialog mit einer entsprechenden Meldung öffnet? Das währe quasi ein verbotener Zustand?
Um es nochmal zu konkretisieren:
Ich möchte eine Abfrage;
Wenn AIGLX an und Xgl an, dann kein compiz fusion aber dialog;
Das hiesse ich möchte so anfangen:
Code:
## Fehlstellung:
elif [ "" = "" ]; then
$START && $dialog;
--> wenn AIGLX an und Xgl an, dann ab! ?=?
also das müsste in die Richtung gehen?
Code:
elif [ "$varxgl" = "$varcomx" <-UND-> "$varglx" = "varcom" ]; then
Wie macht man "UND" ?
Ich glaub ich habs gefunden!!
Code:
#!/bin/sh
a=a
b=a
if [ "$a" = "a" -a "$b" = "b" ]; then
echo OK;
else echo NOK;
fi;
exit 0;
Also das "-a" ist ein logisches UND ?
quelle:
http://www.chemie.fu-berlin.de/chemnet/general/topics/scripts_sh.html
Gruß
R